首页 > 解决方案 > 如何获取字符串并存储到数组中然后与列表进行比较

问题描述

请参阅下面我想使用 Selenium Webdriver 和 Java 自动化的测试用例:

  1. 获取所有列的名称。
  2. 将其存储在数组或字符串中。
  3. 具有预期值的软断言。

(具体要比较 14 列)

所以我在这里要做的是,我有一个有表格的网页。在此表中,我想验证存在的列名,并将其与要求中所述的预期列名进行比较。

//Get no of columns and store it into columnText variable
for (int i=0;i<noOfColumns;i++)
{
    columnText = tableColumns.get(i).getText();
    for (int j=0;j<noOfColumns;j++)
    {
        //SoftAssert for each column text for all 14 columns
        softassert.assertEquals(columnText, "abc");
        softassert.assertEquals(columnText, "def");
        .
        .
        softassert.assertEquals(columnText, "xyz");
    }
}

标签: javaselenium-webdriver

解决方案


首先,我们从您的专栏中获取所有文本。

   List<String> texts = tableColums.stream().map(a-> a.getText()).collect(Collectors.toList());

然后,您可以将所需的断言添加到列表中,例如

List<String> toBeAsserted = new ArrayList();
toBeAsserted.add("abc"); etc etc

那么你可以让我更有活力:

texts.stream().filter(a-> toBeAsserted.stream().forEach(b-> softassert.assertEquals(a,b))).collect(Collectors.toList());

希望我正确理解了你的问题。


推荐阅读