2017-08-03 98 views
-3

在我的应用程序中,我正在实现页面工厂设计模式,我有一个带有10个链接的网页,我写了一个通用xpath,因此我可以在执行操作时单独替换文本值。我无法使用@findby注释,因为它只会为WebElement使用不变的值。如果我们在同一个/整个页面中有类似的对象以重复使用定位器,您能否建议如何使用页面工厂模式?例如:我是否需要为很多链接声明10个WebElements,这不是一个好的做法或任何其他解决方法页面工厂设计模式硒

+0

请包括你已经尝试解决你的问题,以便其他人可以帮助你展示你要去哪里不对任何代码。 – yanman1234

回答

1

我总是在此方案中使用列表数组。

@findBy(xpath = "//a") 
List<WebElement> allLinks; 

然后,您搜索/操作数组及其元素。

for (WebElement link : allLinks) 
    if (link.getText().toLowercase(contains("home")) { 
     link.click(); 
     break; 
    } 

免责声明:空气代码