我正在使用TestNG和ReportNG集成学习关键字驱动框架 . 我的要求是
-
使用 TestNG 触发自动化
-
从Excel工作表中读取关键字和值(一个工作表有关键字和操作 . 另一个工作表有每个对象的xpath)
-
使用关键字驱动方法推动自动化
-
使用 ReportNG 生成报告
TestNG File:
<suite name="Test Results" parallel="false" thread-count="3">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
<test name="Automation Test">
<classes>
<class name="TestSuite1">
</class>
</classes>
</test>
Excel Sheet1 :
Excel Sheet2:
这可以移动到属性文件,但截至目前我正在从excel文件中读取
TestSuite file:
@Test(dataProvider="hybridData")
public void testLandingScreen(String testcaseName,String testStep,String keyword,String execute,String objectName, String value) throws Exception {
excelUtils.processXls(testcaseName, testStep, keyword, execute, objectName, value);
}
}
@DataProvider(name="hybridData")
public Object[][] getDataFromDataprovider() throws IOException {
Object[][] object = null;
ReadExcelFile file = new ReadExcelFile();
//Read keyword sheet
Sheet sheet = file.readExcel(BaseData.XLS_PATH,"TestData.xlsx" , "TSData");
//Find number of rows in excel file
int rowCount = sheet.getLastRowNum()-sheet.getFirstRowNum();
object = new Object[rowCount][6];
for (int i = 0; i < rowCount; i++) {
//Loop over all the rows
Row row = sheet.getRow(i+1);
//Create a loop to print cell values in a row
for (int j = 0; j < row.getLastCellNum(); j++) {
//Print excel data in console
object[i][j] = row.getCell(j).toString();
//object[i][j] = row.getCell(j);
}
}
return object;
}
任何人都可以帮我澄清以下问题吗?
- 当我运行与ReportNG集成的此测试时,每个excel行被视为单个测试用例,并且报告显示行的总数作为测试用例计数 .
有关如何根据TC名称阅读Excel工作表的建议,并根据该报告生成ReportNG报告?
- 如果上述问题的答案是肯定的,那么我如何调用单个@Test方法来生成多个测试用例?
对此的任何帮助都非常感谢 . 谢谢 .
1 回答
首先,您需要了解您在实施中使用的数据提供者是什么... http://toolsqa.com/selenium-webdriver/testng-data-provider-excel/>此网站可以帮助您...
数据提供者发送执行测试的参数....每一行都是执行每个测试的参数......换句话说......
第一次测试的第一次参数将是第二次测试的参数......等等......
我认为你错误地使用了dataprovider ... dataprovider用于为测试提供数据......例如用户名或密码......
对于元素的位置,还有其他实践,如在自己的测试代码中..在其他函数或PAGEOBJECTS中...
所以,短的anwers是...请检查dataprovider是什么...
最好的祝福