我即将围绕表排序编写一些自动化 UI 测试。
排序允许表中的所有列按升序和降序排列。列可以是字符串、日期时间、整数等。
任何人都可以建议一种实用的方法来断言列已按预期排序吗?
是否有一种方法不依赖于每次测试的数据都相同?
最佳答案
这是我的看法:
- 转到https://the-internet.herokuapp.com/tables页
- 点击第一个表格上的“姓氏”标题即可对表格进行排序
- 通过使用
Collections.sort()
方法比较 UI 值来查看是否已排序
WebUI.openBrowser("https://the-internet.herokuapp.com/tables")
WebDriver driver = DriverFactory.getWebDriver()
driver.findElement(By.xpath("//table[@id='table1']//span[contains(.,'Last Name')]")).click()
List<WebElement> tableElements = driver.findElements(By.cssSelector("#table1 tr td:nth-child(1)"));
ArrayList<String> tableValues = new ArrayList<String>();
for(int i=0; i < tableElements.size(); i++){
String str = tableElements.get(i).getText();
tableValues.add(str);
}
ArrayList<String> referenceValues = new ArrayList<String>();
for(int i=0; i < tableValues.size(); i++){
referenceValues.add(tableValues.get(i))
}
Collections.sort(referenceValues)
assert referenceValues.equals(tableValues)
关于java - UI 测试 - 对排序数据进行断言 (Katalon/Selenium) Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59028156/