我正在使用 eclipse 对 selenium 2 测试进行编码,它从 excel 行和 col 中获取值。现在在 excel 表中我想添加一个新的 col 说“RESULT”。现在我该如何编写测试结果(通过/失败) 在测试 ng 运行时针对每一行的这个 col
问问题
2880 次
3 回答
0
if (TestContext.CurrentTestOutcome != UnitTestOutcome.Passed)
{
writeToExcel();
}
您没有将 Excel 作为标签,所以我假设您知道如何在其中写入值,但不知道如何判断测试是否通过。我相信上面会做到这一点,但我没有在这台机器上安装 Selenium,所以你可能只想试一试......
于 2013-05-03T04:52:10.707 回答
0
testNG 提供了添加侦听器的方法,这些侦听器将告诉您测试是通过还是失败。您可以覆盖onTestFailure, onTestSuccess
方法并定义方法以将值写入 Excel 工作表。您可以在此处查看有关侦听器的详细信息
于 2013-05-03T10:04:16.093 回答
0
好吧,我正在使用 Apache POI 读取数据并将数据写入 Excel。要检查测试用例是通过还是失败,可以使用try - catch around assertion。如果任何断言失败,则意味着您的测试用例失败,然后您可以在 Excel 中的 catch 块内将该测试用例标记为 FAIL。
确保在 catch 块的末尾使用以下命令
Assert.fail(e) // where e is the exception captured
这将使 TestNG 将此执行报告为 FAIL。如果这没有被使用,那么 TestNG 会将此执行报告为 PASS。
以下是我用来将结果写入 Excel 的函数:
变量细节
FilePath = excel file path
_Sheet = Worksheet name
result = Pass / Fail string that you want to print in excel
static int _TC01_ROWCOUNTER = 1; // Defines the row number of first data element in test data excel sheet.
static int _TC01_COLUMNCOUNTER = 3; // Defines the Column position in which Result needs to be printed in test data excel sheet.
功能详情
private void writeToExcel(String FilePath, String _Sheet, String result) throws Exception
{
try
{
_testdatastream = new FileInputStream(FilePath);
try
{
wb = new HSSFWorkbook(_testdatastream);
ws = wb.getSheet(_Sheet);
try
{
HSSFRow row = ws.getRow(_TC01_ROWCOUNTER);
HSSFCell cell = row.createCell(_TC01_COLUMNCOUNTER);
cell.setCellValue(result);
_testdatastream.close();
fileOut = new FileOutputStream(FilePath);
wb.write(fileOut);
fileOut.close();
_TC01_ROWCOUNTER++;
}
catch(Exception e)
{
Logger.logger("Could not write result to test data file because of following reason"+"\n"+e,"ERR:");
}
}
catch(Exception e)
{
Logger.logger("Mentioned worksheet"+_Sheet+" not found in test data file"+"\n"+e,"ERR:");
}
}
catch(Exception e)
{
Logger.logger("Test Data file not found at location:"+FilePath+"\n"+e,"ERR:");
}
}
于 2013-08-26T11:29:05.303 回答