我有一份产品可用的国家/地区列表。我正在寻找代码来检查国家/地区列表中是否存在任何重复值。
他们这样给出:AZ,CA,GB,AU,AR,AT,MX,NL,NZ。 如果循环中存在重复值,如何检查Selenium?
答案 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无关,至少与您在问题中的显示方式有关。