0

以下出现在我的测试自动化代码中。它报告说它有效,但它没有。我可以分解并找出原因吗?

Actions actions = new Actions(driver);

actions.moveToElement(element).click().build().perform();

我已经找到了该元素,测试了它在这一点上是否显示和可点击,并将整个批次包装在一个 try/catch 中以检查错误(没有报告错误)。

我认为问题在于“element.isDisplayed”函数给出了误导性的结果。

4

2 回答 2

1

请检查 JavaScriptExecutor:

((JavascriptExecutor) driver).executeScript("arguments[0].click();", driver.findElement(WebElement));
于 2018-12-12T05:34:37.853 回答
1

方式 1 - 当你有WebElement时尝试直接点击

WebElement one = driver.findElement(By.name("one"));
WebElement two = driver.findElement(By.name("two"));

Actions actions = new Actions(driver);
actions.click(one)
.click(two)
.build().perform();

方式2 - 尝试跳过build(),它可以通过单击/双击使用

WebElement sngClick= driver.findElement(By.name("sngClick"));
WebElement dblClick= driver.findElement(By.name("dblClick"));

Actions actions = new Actions(driver);
actions.moveToElement(sngClick).click().perform();
actions.moveToElement(dblClick).doubleClick().perform();
于 2018-12-11T12:47:32.590 回答