比较列表WebElement与字符串数组

时间:2019-02-21 16:16:00

标签: java arrays string selenium selenium-webdriver

如何比较两个列表是否相等验证数据来自Excel工作表。  我需要验证两个列表是否相同,并且列表中没有其他元素或缺少元素。我不需要对列表进行排序。 并打印输出CAGID Excel数据= CAGID网站列表

    String[] Verify1 = Verify.split(",");
        for(String actualView1 : Verify1) {
            System.out.println("string" + actualView1);
        }

        List<WebElement> options = driver.findElements(By.xpath(SUMMARYFIELDS));
        for (WebElement ele : options) {
            System.out.println(ele.getText());
        }

Output String 

string CAGID
string GFPID
string IRU
string Control Unit
string Obligor Classification
string Obligor Limit Rating
string Obligor Risk Rating
string Commentary
string Credit Officer
string Risk Manager
string RCA Date
string RCA Extension Date

Output ele.getText()

CAGID
GFPID
IRU
Control Unit
Obligor Classification
Obligor Limit Rating
Obligor Risk Rating
Commentary
Credit Officer
Risk Manager
RCA Date
RCA Extension Date

2 个答案:

答案 0 :(得分:2)

如果您不关心订单,请收集从WebElementList<String>的所有文本

List<String> text = options.stream().map(WebElement::getText).collect(Collectors.toList());

然后只需使用equals()

进行比较
System.out.println(text.equals(Arrays.asList(verify1));  // use naming convention for variables 

注意:此方法区分大小写

答案 1 :(得分:1)

不太优雅,但我认为这是可行的

        String[] Verify1 = Verify.split(",");
        List<WebElement> options = driver.findElements(By.xpath(SUMMARYFIELDS));
        boolean isOK = true;    

        for (WebElement ele : options) {
            int i = Arrays.asList(Verify1).indexOf("string "+ele.getText())
            if(i==-1){
                 isOK=false;
            }
            else{
                 System.out.println(Verify1[i]" Excel data = "+ ele.getText()+" web list");
            }
        }