【问题标题】:Selenium webdriver with Dataprovider run each test with null parameter带有 Dataprovider 的 Selenium webdriver 使用 null 参数运行每个测试
【发布时间】:2017-06-09 15:12:09
【问题描述】:

我通过使用 selenium、TestNG 和 dataprovider 创建了一些测试。 当我每次运行测试时,测试执行两次,一次使用参数,第二次使用空参数enter image description here

Please find screenshot for reference

请告诉我如何解决此问题。

感谢您的帮助!!

代码: 公共类 AppTest_BlankOrder 扩展 ReplaceBaseclass {

CreatePageLocator pf;

public AppTest_Blankrder()
{}


/* Below code is used to open the browser....*/
@BeforeTest
public void testSetup() {


    System.setProperty("webdriver.chrome.driver", "./testdata/chromedriver.exe");
    driver= new ChromeDriver();

     driver.manage().timeouts().implicitlyWait(500, TimeUnit.SECONDS);
     driver.get("http://loginapp.group/");


}

    @Test(dataProvider="WosLoginData",dataProviderClass=CreateProvider.class,priority = 1)
    public void WOSLogintest(String user,String password)
    { 

        System.out.println("Open Logintest method and pass data");


        // -----page factory code---
    CreatePageLocator pf= new CreatePageLocator(driver);

        pf.setUserName(user);

        pf.setPassword(password);

        pf.clickLogin();

    }

//---- 数据提供者代码----

public class CreatePageProvider {
@DataProvider(name="WosLoginData")
public Object [][] getLoginData(Method name)
{
    Object [][] data=null;
    /
    ExcelDataConfig config=new com.ExcelDataConfig("./testdata/InputData.xlsx");
    int rows=config.getRowCount(0);

                data=new  Object[rows][2];

    for(int i=1; i<rows; i++)
    {
        data[i][0]=config.getData(0, i, 0);
        data[i][1]=config.getData(0, i, 1);



    }


enter code here
    return data;
}

【问题讨论】:

  • 添加相关代码也...
  • @Grasshopper - 添加代码
  • 看不到dataprovider类代码
  • @niharika_neo - 添加了 dataprovide 类代码

标签: selenium-webdriver


【解决方案1】:

dataprovider 中 for 循环的计数器应该从 0 开始。这就是使 data[][] 的第一个元素具有空值的原因。

【讨论】:

  • @Grasshopper- 感谢您的回复。
  • @Grasshopper- 实际上我正在读取提供的数据中的 Excel 表的第二行数据,Excel 第一行是带有 USERNAME 和 PASSWORD 的标题,因此我已经在 1 开始循环。有没有其他方法可以使用数据提供程序读取 excel 单元格数据以避免空值问题。
  • 然后在将值放入二维数组时使用 --data[i-1][0] 和 data[i-1][1]
  • @Grasshopper- 如果您分享一些示例代码,我会非常有帮助。
猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
相关资源
最近更新 更多