我有一系列商店,我正在电子商务平台上测试,每个商店都有一系列属性,我正在考虑自动化测试。是否有可能让数据提供者在测试套件中提供数据,而不仅仅是在TestNG中进行测试?我试图不使用testNG.xml文件作为机制,因为这些属性直接来自数据库调用。
["StoreName", "username", "password", "credit-enabled", "items-store", "shipping-location", ]
我需要自动化做的事情如下:
但是这里的每一步都必须是它的独立测试。
答案 0 :(得分:1)
您可以将dataprovider保存在单独的类中,然后使用dataprovider注释您的测试。您可以使用 dataProviderClass
指定它引自testng doc here:
默认情况下,将在当前测试中查找数据提供者 类或其基类之一。如果你想放置你的数据 在不同的类中提供者,它需要是一个静态的方法和你 指定可在dataProviderClass中找到的类 属性:
public class StaticProvider {
@DataProvider(name = "create")
public static Object[][] createData() {
return new Object[][] {
new Object[] { new Integer(42) }
}
}
}
public class MyTest {
@Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
public void test(Integer n) {
// ...
}
}