【问题标题】:Table sort data validation using selenium java使用 selenium java 进行表排序数据验证
【发布时间】:2022-01-04 17:35:43
【问题描述】:

问题陈述 - 有一个具有排序功能的表格,我想实现

  1. 排序前获取数据
  2. 点击排序
  3. 排序后获取数据

比较阶段前后的数据

创建函数

Public List getDateHelper(){
List<WebElement> data= new ArrayList()<>;
for(iterator logic){
data.add(driver.findelement(By.xpath("/div/div["+i+"]")))
}
return data;
}

这被称为


public void dataValidation(){
List<WebElement> temp1 = new ArrayList()<>;
List<WebElement> temp2 = new ArrayList()<>;
temp1=helper.getDateHelper();
ClickOnSortBtn();//logic to click using selenium
temp2=helper.getDateHelper();
Assert.assertFalse(temp1.equals(temp2))
}

期望 temp1 和 temp2 不应该相等,但我看到 temp1 的值也在 ClickOnSortBtn() 上得到更新

我发现这与 ref 有关,但不知道如何解决

【问题讨论】:

  • ClickOnSortBtn() 之后用这个temp1=helper.getDateHelper(); 覆盖之前取行的值,这样它就没有意义了。可能你的意思是temp2=helper.getDateHelper();
  • 作为用户,我在 temp 1 中获得数据的引用,并使用 UI 点击排序,现在想要比较前后的数据。我想了解如何实现这一目标
  • 因为我在函数中使用 new 为 List 赋值,但我不确定,
  • 我什至尝试分配/克隆/复制到新列表
  • @AlexeyR.thanks 指出错误。感谢您对提高问题质量的帮助

标签: java selenium collections ui-automation qa


【解决方案1】:

请比较前 2 个元素和后 2 个元素的文本不相等。

喜欢

            // before clicking sort
 String firstElementTextBefore = driver.findElement(tmpBy).getText();
 String secondElementTextBefore = driver.findElement(tmpBy).getText();
 String lastBeforeElementTextBefore = driver.findElement(tmpBy).getText();
 String lastElementTextBefore = driver.findElement(tmpBy).getText();
            
            
            // after clicking sort
 String firstElementTextAfter = driver.findElement(tmpBy).getText();
 String secondElementTextAfter = driver.findElement(tmpBy).getText();
 String lastBeforeElementTextAfter = driver.findElement(tmpBy).getText();
 String lastElementTextAfter = driver.findElement(tmpBy).getText();
            
            // assertions
     Assert.assertNotEquals(firstElementTextBefore, firstElementTextAfter);
     Assert.assertNotEquals(secondElementTextBefore, secondElementTextAfter);
     Assert.assertNotEquals(lastBeforeElementTextBefore, lastBeforeElementTextAfter);
     Assert.assertNotEquals(lastElementTextBefore, lastElementTextAfter);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-15
    • 2021-03-17
    • 1970-01-01
    • 2019-08-10
    • 2010-09-19
    • 2017-05-18
    • 2018-06-14
    • 1970-01-01
    相关资源
    最近更新 更多