【发布时间】:2018-02-07 06:54:22
【问题描述】:
我遇到了一个问题,我创建了一个使用 dataprovider 的参数化方法。 DataProvider 和方法都在同一个类中创建。现在,我想从另一个类调用此方法,但它需要传递参数,我不能,因为它们是从 dataProvider 读取的。
我也尝试在不同的类中声明 dataProvider,但这不起作用。请提出一些解决方法。
注意:我有一个限制,我不能使用 TestNG.xml 来实现这个场景。
请在下面找到代码:
数据提供者:
@DataProvider(name = "TestSuite")
public Object[][] dataSheetTraverser() {
String SheetName = "ProgLang";
datatable = new Xls_Reader(TestDataSheetPath_ProgLang);
int rowcount = datatable.getRowCount(SheetName);
Object result[][] = new Object[rowcount - 1][3];
for (int i = 2; i < rowcount + 1; i++) {
result[i - 2][0] = SheetName;
result[i - 2][1] = i;
result[i - 2][2] = datatable.getCellData(SheetName, "caseType", i);
}
return result;
}
测试方法:
@Test(dataProvider="TestSuite_ProgLang",priority =2)
public void TC_Verify_EditProgLang(String SheetName,int i, String caseType)
{
String test1= datatable.getCellData(SheetName, "Skills", i);
String test2= datatable.getCellData(SheetName, "Version", i);
String test3= datatable.getCellData(SheetName, "LastUsed", i);
String test4= datatable.getCellData(SheetName, "ExperienceYr", i);
String ExperienceMn = datatable.getCellData(SheetName, "ExperienceMn", i);
proglang.FillForm_ProgLang(Skills, Version, LastUsed, ExperienceYr, ExperienceMn);
}
我想从另一个类调用上述函数TC_Verify_EditProgLang。请提出建议。
【问题讨论】:
-
等待 .... 你想从另一个类调用 (Unit ? ) 测试吗?
-
@Stultuske 不是单元测试。我也想从另一个班级执行相同的操作。
-
好的,这是什么类型的测试?
-
该方法也是 testNG 类中的 @test 方法
标签: java maven selenium-webdriver testng dataprovider