【问题标题】:Pass a data provider within a data provider在数据提供者中传递数据提供者
【发布时间】:2016-12-12 18:33:22
【问题描述】:

我目前正在构建一个对象驱动的脚本,该脚本在 Excel 工作表中具有关联的操作和数据。我正在将此 excel 表读入数据提供程序,并将其作为输入传递给 @Test 方法,在该方法中我有 if 循环来处理各种操作。代码在高层看起来是这样的

@DataProvider(name="DP")    
  Reads excel file with actions from Sheet1
@Test(dataprovider = "DP")
   if(Action="Click") 
      Perform Action
   else if(Action="SetText")
      Set Text in Text Box
    ........
 @AfterTest
   Read data to excel file with status for each action

现在的问题是我被要求为常用的操作创建单独的函数,比如登录功能等,并将它们存储在 Sheet2 中

所以现在我作为驱动程序脚本工作的 Sheet1 混合了函数和动作,如果它是函数 -> 转到 Sheet2,在 Sheet2 中执行该函数的动作,回到 Sheet1 执行单个动作/再次运行等等。

我尝试使用多个数据提供程序来实现这一点,但我的代码结构不允许我很好地实现相同的功能。请问有什么方法可以实现吗?

【问题讨论】:

    标签: java excel selenium testng


    【解决方案1】:

    TestNG DataProviders 是数据源而不是操作。就停在这里吧。忘记excel驱动的框架。构建正常的操作、数据源和场景。

    【讨论】:

      猜你喜欢
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      • 2017-03-16
      • 2020-08-07
      • 2021-12-24
      • 2011-10-03
      • 1970-01-01
      相关资源
      最近更新 更多