我正在与我的一位同事讨论这个问题,我们有不同的观点。我想在这里问这个问题,以获取最佳实践的输入。
页面上有我们要检查的元素数组。数组中的元素数量可以变化。
我们指定了这种方法来遍历元素并将它们收集到一个列表中。
public List<WebElement> getElements(){
return listOfElements;
}
现在,我想检查每个元素中的某些内容。假设我要检查每个元素都有一个图标。最好的方法是什么?
我提出两个选择。
选项1的参数很容易阅读,并且用户不需要知道要传入哪个特定数组。
选项2的参数是线程安全性,我们可以确定每个线程都将抓住它自己的列表,并且该列表中仅包含此测试中的元素。
该测试在具有Selenium和Gradle的环境中运行
选项1:将方法getElements()作为其主体的一部分。
public boolean isIconFoundOnElement(){
for(WebElement element : getElements()){
if(!element.getIcon().isDisplayed()){
fail("Icon Not Found")
}
}
选项2:在运行时将getElements()作为参数传递。
public boolean isIconFoundOnElement(List<WebElement> listOfElements){
for(WebElement element : listOfElements){
if(!element.getIcon().isDisplayed()){
fail("Icon Not Found")
}
}
isIconFoundOnElement(getElements());
还有更好的第三种选择吗?