我们已经构建了一个网站很长一段时间,我正在实现UI UnitTesting。
它在很大程度上依赖于使用“代理”覆盖按钮以允许更多功能,例如从一个iframe拖动到另一个iframe。从测试的角度来看,我想/需要“点击”按钮。它应该单击覆盖在其上的代理元素。然后测试可以继续。这适用于IE甚至Chrome,但是当我们在Build Server上进行测试时,它失败并出现错误
引发异常:System.InvalidOperationException:未知错误: 元素在点(265,87)处不可点击。其他元素会 收到点击:div class =“v-iframe-proxy”style =“width:100%; 身高:100%;“/ div
我希望有一种方法可以忽略这种情况并且无论如何都会点击。任何帮助都会很棒。
答案 0 :(得分:2)
我相信你有三个选择: 1.使用以下JavaScript执行单击:
((JavascriptExecutor) webdriver).executeScript("arguments[0].click()", elementToClick);
new Actions(webdriver).click().build().perform();
答案 1 :(得分:0)
我认为您的UI测试适用于服务器端的无头浏览器。所以你需要先设置宽度和高度。
如果您打印窗口大小,您将看到:0,0
System.out.println(driver.manage().window().getSize());
因此,您可以将窗口大小设置为1024x600(或任何您想要的):
Dimension d = new Dimension(1024,600);
driver.manage().window().setSize(d);