专注于网络元素

时间:2015-03-04 13:30:59

标签: selenium-webdriver

我已经阅读了很多其他stackoverflow问题,WebDriver文档等等,我仍然没有得到我的问题的答案。验证元素的最佳方法是在屏幕上显示给最终用户?不是DOM中可见的内容,但用户可以看到的是焦点。

我看过.isDisplayed() - 是DOM中可见的内容,.moveToElement() - 移动鼠标,.switchTo().activeElement() visibilityOf()所有提到的,但没有一个是真的对于我想要测试的内容是真实的。

我在页面上有几个元素(屏幕上只有两个元素)。我想声明页面在加载时没有跳到页面底部,实际上它集中在页面顶部。然后我会在我的代码中有一行跳转到位于页面底部的元素(基本上滚动到屏幕上的视图),并验证这是焦点。

我尝试了各种方法:

WebElement moduleThree = driver.findElement(By.xpath("xpathExpression"));
moduleThree.equals(driver.switchTo().activeElement());

WebElement moduleTwo = driver.findElement(By.xpath("xpathExpression"));
moduleTwo.isDisplayed();

driver.switchTo().activeElement().findElement(By.xpath("xpathExpression"));

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("Document.getElementById('Id').focus();");

我在运行代码时试图通过测试失败,而我每次回来都是一次传球。 Wuhoo ..太棒了..!嗯,不是那么好,不是我试图验证的。

有没有人知道如何验证元素在屏幕上的明显焦点,或者甚至可以在WebDriver中使用它?

修改

我已经使用getLocation()方法来查找我的web元素的坐标。 ModuleTwo位于页面底部的视野之外。当页面加载时,ModuleThree处于可见状态。

int XaxisModuleTwo = moduleTwo.getLocation().getX();
int YaxisModuleTwo = moduleTwo.getLocation().getY();

如何验证此元素最初是否在视野之外?

0 个答案:

没有答案