- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Do While 循环和 ExpectedConditions - 可以一起使用吗?
<强>2。是否可以添加一个 while 循环,以便该方法可以多次检查和执行?
public void waitAndClickElement(WebElement element) throws InterruptedException {
try {
this.wait.until(ExpectedConditions.elementToBeClickable(element)).click();
System.out.println("Successfully clicked on the WebElement: " + "<" + element.toString() + ">");
}catch (Exception e) {
System.out.println("Unable to wait and click on WebElement, Exception: " + e.getMessage());
Assert.assertFalse(true, "Unable to wait and click on the WebElement, using locator: " + "<" + element.toString() + ">");
}
}
最佳答案
是的,这是可能的。像这样的事情:
boolean clicked = false;
int attempts = 0;
while(!clicked && attempts < 5) {
try {
this.wait.until(ExpectedConditions.elementToBeClickable(element)).click();
System.out.println("Successfully clicked on the WebElement: " + "<" + element.toString() + ">");
clicked = true;
} catch (Exception e) {
System.out.println("Unable to wait and click on WebElement, Exception: " + e.getMessage());
Assert.assertFalse(true, "Unable to wait and click on the WebElement, using locator: " + "<" + element.toString() + ">");
}
attempts++;
}
在 while 循环中添加最大尝试次数可能是个好主意,这样您就不会陷入无限循环。
关于java - Do While 循环和 ExpectedConditions - 可以一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42483776/
能否请您帮助我理解 ExpectedConditions.refresh 和 ExpectedConditions.stalenessOf。 最佳答案 ExpectedCondtion.referes
如果我的问题听起来很初级,我提前道歉,我是 QA 和 Selenium 的新手。 之间的确切区别是什么: wait.until(ExpectedConditions.visibilityOfElem
在编写 Selenium 测试时,我注意到在 ExpectedConditions 类中,有些方法仅使用 By 作为参数,有些方法仅使用 WebElement 作为参数,并且一些方法具有支持这两个参数
我必须测试一家电子商店。用户可以将商品添加到他们的购物车。当购物车为空时,将创建一个 ID 为“empty-basket”的特殊部分。如果购物车不为空,则此部分的 id 变为“篮子”。 我使用 Jav
我一直在使用 ExpectedConditions.or 。例如,查找一个或另一个元素是否存在是非常有用的。我现在想做的是使用变量参数构建一个更灵活的方法。 看看我在下面做了什么。它可以工作.....
我有这个代码 wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("....."))); webDriver.findEl
Do While 循环和 ExpectedConditions - 可以一起使用吗? 我使用下面列出的方法遇到了奇怪的无法定位元素/超时异常。 2。是否可以添加一个 while 循环,以便该方法可以多
我遇到了一种情况,我需要等到元素消失(在 Firefox 中)。所以我尝试了不同的选择,但没有任何效果所以尝试使用 new WebDriverWait(Drivers._driverInstance,
我是 Protractor 的新手,我想创建一个这样的期望: expect(elementIsVisible).toBe(true); 我看到 Protractor 有 EC (expected co
更新版本 我正在尝试寻找一种更动态的方式来等待元素,而不是使用静态等待函数,例如 Task.Event(2000).Wait(); 这个问题的解决方案似乎是这样的: WebDriverWait wai
我正在尝试使用 ExpectedConditions 类来执行与 Selenium 相关的断言,但我无法找到断言给定元素不存在的事实上的最佳实践。我正在尝试使用这样的东西...... Assert.a
当尝试使用 ExpectedConditions 显式等待元素变得可见时,Visual Studio 警告我它现在已经过时,很快就会从 Selenium 中删除。 实现相同结果的当前/新方法是什么?
我总是使用下面的 java 代码来告诉我的 Selenium Webdriver 测试等待配置文件中指定的一定时间(等待时间是等待元素出现的时间,以秒为单位)。 private void waitFo
我创建了一个自定义 ExpectedCondition 用作 wait.until() 方法中的输入,但是当我的代码到达自定义 ExpectedCondition 参数时,会引发 NullPointe
我需要通过 By 获取所有元素从页面定位器并从中确定可点击元素。 用于更好理解的屏幕截图: Invisible element Visible and clickable element html
在 Java 中,可以使用 ExpectedConditions.not 等待元素不再可见或不再找不到 wait.until(ExpectedConditions.not(ExpectedCondit
我有一个像这样的实用方法: public void verifyTitle(int secsToWait) { new WebDriverWait(driver, secsToWait)
如何在 Protractor 中扩展 protractor.ExpectedConditions? 我尝试了一种类似的方法来扩展 ElementFinder: function myFunction(
我正在尝试实现自定义 ExpectedConditions 方法,它将等待元素属性发生变化。 这是我的解决方案: const ECC = function() { /** * Expect
WebDriverWait wait = new WebDriverWait(driver, 60) WebElement element = driver.findElement(By.xpath(
我是一名优秀的程序员,十分优秀!