use*_*634 8 java webdriver selenium-webdriver
我是Selenium webdriver的新手,也许这个问题很明显.我是这样的情况:
如果该元素存在,请单击它并返回索引页面:
driver.findElement(By.id("...."])).click();
Run Code Online (Sandbox Code Playgroud)
如果不退出,请跳过它并返回索引页面.测试仍然没有任何异常抛出.
我知道一个解决方案:
driver.findElements( By.id("...") ).size() != 0
Run Code Online (Sandbox Code Playgroud)
所以我试过了:
if(driver.findElements(By.id("....")).size() > 0)
{
driver.findElement(By.id("....")).click();
driver.findElement(By.cssSelector("...")).click();
}
else
{
driver.findElement(By.cssSelector("....")).click();
}
Run Code Online (Sandbox Code Playgroud)
事实证明这很难看,因为如果我有10个要验证的元素,那么这个IF条件需要写10次.
任何解决方法,使它整洁?
小智 1
解决方案可能有很多,但这可能会阻碍您的架构。
最简单的解决方案可能如下:
只需在某些实用程序类或某个地方创建一个方法optionalClick(),其参数如下:
locator_keyword:{值:id或cssSelector或xpath等}locator:{值:“q”}方法步骤:
locator_keywordand获取元素locator此方法可以用作任何类型对象的通用方法。
| 归档时间: |
|
| 查看次数: |
7407 次 |
| 最近记录: |