java - UI 测试 - 对排序数据进行断言 (Katalon/Selenium) Java

标签 java selenium groovy ui-testing katalon-studio

我即将围绕表排序编写一些自动化 UI 测试。

排序允许表中的所有列按升序和降序排列。列可以是字符串、日期时间、整数等。

任何人都可以建议一种实用的方法来断言列已按预期排序吗?

是否有一种方法不依赖于每次测试的数据都相同?

最佳答案

这是我的看法:

  1. 转到https://the-internet.herokuapp.com/tables
  2. 点击第一个表格上的“姓氏”标题即可对表格进行排序
  3. 通过使用 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/

相关文章:

java - 使用 AWS Secrets Manager 管理 RDS 访问

python - 如何使用 pythonw 运行 Selenium Webdriver?

Python --version 不更新

Groovy:附加到大文件

eclipse - 我是否需要将 .groovy 和 .settings 文件夹提交到存储库

java - 如何改变TextPane的大小?

Java Split() 拆分数学方程

java - 无法使用 Selenium 上传文件

jenkins - 有没有办法根据声明式 Jenkinsfile 中的分支设置环境变量?

java - 在 Android 中处理事件的最佳方式