【问题标题】:Is it possible to make @dataprovider name generic instead of hardcoding it是否可以使@dataprovider 名称通用而不是对其进行硬编码
【发布时间】:2021-09-12 15:12:25
【问题描述】:
Class1  
  @DataProvider(name = "pdlogin")
        public String[][] pdlogin() {
    
            String data[][]= ExcelUtil.getTresExcelTestData(ExcelSheetNames.Sheet_Name_pdlogin);
            return data;
        }
class2
@Test(priority = 1, dataProvider = "pdlogin", dataProviderClass = LoginPage_DataProvider.class)

class3
@Test(priority = 1, dataProvider = "pdlogin", dataProviderClass = LoginPage_DataProvider.class)

这里我的@DataProvider 的名称是“pdlogin”(它是硬编码的),我在许多@Test 方法中使用了这个数据提供者名称,现在我想做的是,如果我将我的数据提供者的名称从“ pdlogin”到“pdlogindata”,所以它必须在我使用它的任何地方得到改变。目前,如果我更改数据提供者名称,那么我必须去每个班级并更改它,这是一个非常漫长的过程。我是硒的新手,请帮助我。提前致谢!

【问题讨论】:

    标签: selenium dataprovider


    【解决方案1】:

    DataProviders 具有更高的优先级。

    你可以这样贴:

    protected final static String dataProviderName = "pdlogin";
    

    并像这样使用它:

     @DataProvider(name = dataProviderName)
     public String[][] pdlogin() {
         String data[][]= ExcelUtil.getTresExcelTestData(ExcelSheetNames.Sheet_Name_pdlogin);
         return data;
     }
    

    记住它必须是final。

    现在您可以将其保存在 excel、csv、ini、文本文件中。并且可以阅读。

    【讨论】:

      猜你喜欢
      • 2016-04-07
      • 2023-01-17
      • 1970-01-01
      • 2017-12-17
      • 2016-11-04
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多