Sal*_*dan 8 java testing selenium automated-tests selenium-webdriver
我有一个单击按钮的方法,但是,当它运行时,selenium会在成功点击时返回结果,而实际上,实际上没有点击按钮.如果我多次运行测试,偶尔会按预期点击它.我将我的测试框架设置为隐式等待大约15秒,我已经设置了明确的等待这个元素,但仍然看到相同的问题.当我这样做时<element>.isDisplayed()
,总会找到元素.我将.click放在一个while循环中,点击它几次,大部分时间都有效,但是,有时测试失败了.在单击按钮之前,是否可以使用if语句检查元素是否实际显示?
我试过了:
if(!element.isDisplayed){
element.click
}
Run Code Online (Sandbox Code Playgroud)
这是我遇到问题的按钮:
<button class="notkoButton listNew">
<div class="l6e iconAdd">New List</div>
</button>
Run Code Online (Sandbox Code Playgroud)
这是我的方法:
public marketing_lists_page navigateToNewListPage() throws Throwable {
try {
int x = 0;
while(x < 5) {
newListBtn.click();
x++;
}
//newListPageHeader.isDisplayed();
} catch (NoSuchElementException e){
logs.errorDetails("Could not navigate to New List Page");
Assert.fail();
}
return this;
}
Run Code Online (Sandbox Code Playgroud)
似乎该元素最初未启用或不可单击。为了回答你的问题,是的,你可以使用明确的等待并等待元素可点击:
WebDriverWait wait = new WebDriverWait(driver, timeOut);
wait.until(ExpectedConditions.elementToBeClickable(locator));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23765 次 |
最近记录: |