用于检查重复值的Selenium代码

时间:2015-06-17 20:27:20

标签: java selenium-webdriver

我有一份产品可用的国家/地区列表。我正在寻找代码来检查国家/地区列表中是否存在任何重复值。

他们这样给出:AZ,CA,GB,AU,AR,AT,MX,NL,NZ。 如果循环中存在重复值,如何检查Selenium?

2 个答案:

答案 0 :(得分:1)

正如其他人所指出的那样,除了你的价值来源之外,这与Selenium几乎没什么关系。

我将假设您的国家/地区列表来自下拉菜单。如果不是,您需要调整以下代码才能匹配。

import java.util.*;

...
Select slctCountry = new Select(driver.findElement(By.id("select_id")));
// create an empty List
List<String> optionsList = new ArrayList<String>();
// a Set naturally removes duplicates!
Set<String> optionsSet = Collections.emptySet();
for (WebElement option : slctCountry.getOptions()) {
    // fill both from the same source
    optionsList.add(option.getText());
    optionsSet.add(option.getText());
}
// compare the two
Assert.assertEquals("The List contains duplicates!", optionsSet.size(), optionsList.size());

答案 1 :(得分:0)

this的修改版本。如果String数组包含重复项,则它将返回true。

String[] array = {"a", "b", "c", "a", "b"};
        ArrayList<String> str = new ArrayList<String>();
        for (String s:array){
            str.add(s);
        }
        boolean ind = false;
        for (int i = 0; i < array.length; i++) {
            str.remove(array[i]);
            for (int j = 0; j < str.size(); j++) {
                if (array[j].equals(str.get(j))){
                    System.out.println(str.get(j)  +" "+ array[j] );
                    ind = true;
                }
            }
        }

注意:这可能与Selenium无关,至少与您在问题中的显示方式有关。