使用selenium/java检查下拉建议中的排序顺序以获得最佳方法
我有一个下拉列表,我应该检查其中的项目是否按字母顺序排序
现在我使用两种方法来完成这项工作
我认为这样做有几个缺点:
- 代码看起来很长
- 我必须在每个页面中执行相同的步骤(我使用PabeObject模型),而不是在BasePage中使用它并在其他页面中调用它李>
我需要关于是否有更好的处理方法的建议
我的代码:
List<WebElement> issurTypeDropdown =new LinkedList<>(driver.findElements(By.xpath("(//INPUT[@type='search'])[4]/following-sibling::UL")));
LinkedList<String> issueTypes =new LinkedList<String>();
for(int i = 0; i< issurTypeDropdown.size(); i++)
{
// System.out.println(issurTypeDropdown.get(i).getText());
issueTypes.add(issurTypeDropdown.get(i).getText());
}
boolean result = comp_order(issueTypes);
return new add_issue_page();
}
//to compare
public static boolean comp_order(LinkedList<String> pn)
{
String prev=""; // empty string
for (final String cur: pn)
{
if (cur.compareTo(prev) < 0)
{
return false;
}
prev=cur;
}
return true;
}
# 1 楼答案
下面是我用来验证数组是否按字母顺序排序的内容
Ordering
是由谷歌开发的Guava库的一部分# 2 楼答案
好的,所以我能够做到这一点,将cna作为一种方法,一旦它被移动到BasePage,就可以在页面中的任何地方使用它: