我试图编写一个selenium自动化测试,在元素数组中没有重复的元素。
例如,有一个阵列[" Andy"," Bob"," Charles"," David",& #34;大卫"]
我想编写一个自动化测试,声明没有显示重复的名称。以下似乎并没有很好地运作......
assertThat(getArray(), is(not(getArray())));
我如何编写断言语句来检查数组中的每个项目以确保没有重复项?
答案 0 :(得分:3)
将数组转换为集合:
Set mySet = new HashSet(Arrays.asList(someArray));
然后断言mySet.size() == someArray.length
。将数组转换为集合将折叠重复项,从而减小大小;如果尺寸减小了,你知道有重复。
答案 1 :(得分:0)
还有一个解决方案。假设“名字”是你的数组。因为如果项目是非唯一的,add()将返回false:
Set tempSet = new HashSet();
for (String str : names) {
assertTrue(tempSet.add(str));
}