0

我想知道是否可以在数据驱动测试中将定位器作为参数传递?例如:

    //this is non-parameterized object RADIO_BUTTON locator

    WebElement radiobElm = driver.findElement(RADIO_BUTTON);
    radiobElm.click();

    vs. 

    //I'd like to pass locator "RADIO_BUTTON" as string (strRadioButton) from Excel sheet, so for each test iteration my script will click on different radio-buttons. Is it possible? 

    WebElement radiobElm = driver.findElement(strRadioButton);
    radioElm.click();
4

2 回答 2

0

实现此目的的众多方法之一是使用相同的方法来查找元素并从 excel 文件中读取定位器。

 WebElement radiobElm = driver.findElement(By.xpath("Your xpath string from exel"));

当然,您必须完成所有其他工作才能从 excel 中读取正确的单元格。

于 2014-11-15T00:14:53.663 回答
0

是的你可以。您只需从 excel 中获取数据(例如,使用 jexcelapi 的getContents()方法)。然后,您可以在它们出现时相应地对其进行操作。

1-如果是xpath,请使用:

WebElement radiobElm = driver.findElement(By.xpath("Cell contents containing xpath of the webelement"));
radioElm.click();

2-如果是id,请使用:

WebElement radiobElm = driver.findElement(By.id("Cell contents containing id of the webelement"));
radioElm.click();

3-如果是cssSelector,请使用:

WebElement radiobElm = driver.findElement(By.cssSelector("Cell contents containing cssSelector of the webelement"));
radioElm.click();

类似的东西,也可以应用于“className、name、linkText、partialLinkText 和 tagName”

于 2014-11-15T13:45:15.397 回答