Java TestNG跨多个测试进行数据驱动测试

我在电子商务平台上测试了一系列商店,每个商店都有一系列属性,我正在考虑自动化测试。 是否有可能让数据提供者在测试套件中提供数据,而不仅仅是在TestNG中进行测试? 我试图不使用testNG.xml文件作为机制,因为这些属性直接来自数据库调用。

["StoreName", "username", "password", "credit-enabled", "items-store", "shipping-location", ] 

我需要自动化做的是以下内容:

  1. @Test使用当前数据集行中的用户名和密码登录。
  2. @TestvalidationStoreName和items-store
  3. @Test导航到管理,并根据items-store值validation商店的信用启用设置和商店的送货地点是否正确。

但是这里的每一步都必须是它的独立测试。

您可以将dataprovider保存在单独的类中,然后使用dataprovider注释您的测试。 您可以使用dataProviderClass指定它

在这里引用testng doc:

默认情况下,将在当前测试类或其中一个基类中查找数据提供程序。 如果要将数据提供程序放在不同的类中,则需要使用静态方法,并指定可在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) { // ... } }