Java声称在自动化测试中没有两个元素是相同的

时间:2015-04-20 18:15:33

标签: java selenium automation

我试图编写一个selenium自动化测试,在元素数组中没有重复的元素。

例如,有一个阵列[" Andy"," Bob"," Charles"," David",& #34;大卫"]

我想编写一个自动化测试,声明没有显示重复的名称。以下似乎并没有很好地运作......

assertThat(getArray(), is(not(getArray())));

我如何编写断言语句来检查数组中的每个项目以确保没有重复项?

2 个答案:

答案 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));
}