如何验证整列具有相同的值

我需要验证 Web 表中的列是否包含所有行的完全相同的值。


我已经完成了一些编码,但我正在寻找有关如何提高性能的信息:


我尝试了一个 for 循环,对每一行使用 getText 方法并将该值与预期的字符串进行比较:

      List<WebElement> rows = driver.findElements(By.xpath(xxxx))


      for(WebElement e : rows) {

          if(e.getText() != expectedString) {

              throwError

          }

      }

我也尝试过 Java 流和 lambda 表达式,但是最后 Collector 部分需要花费大量时间来处理:

        List<String> fetchedValues = rows

           .stream()

           .filter(e -> e.getText() != expectedString)

           .collect(Collectors.toList());

如果至少其中一行不包含预期的字符串,我想获取信息。


有没有什么办法,例如用 Java 读取给定列中的所有值并立即将其加载到 ArrayList?


守着星空守着你
浏览 128回答 1
1回答

慕码人2483693

您可以尝试此处描述的 forEach 方法这里有一个例子:@Test&nbsp; &nbsp; public void sTest () {&nbsp; &nbsp; &nbsp; &nbsp; WebDriverManager.chromedriver().setup();&nbsp; &nbsp; &nbsp; &nbsp; WebDriver driver = new ChromeDriver();&nbsp; &nbsp; &nbsp; &nbsp; driver.get("https://www.techbeamers.com/handling-html-tables-selenium-webdriver/");&nbsp; &nbsp; &nbsp; &nbsp; List<WebElement> el = driver.findElements(By.xpath("//*[@id='post-3500']/div[1]/div/p[3]/a"));&nbsp; &nbsp; &nbsp; &nbsp; el.forEach((e)-> {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(!e.getText().equals(expectedString)) throwError&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; driver.quit();&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java