有两个列表,我想比较一下 这些列表是否具有相同的值 我怎么能这样做,请建议
List<WebElement> Gender=wd.findElements(By.xpath(".//*@id='MyMember_GenderId']"));
int genderval=Gender.size();
System.out.println(genderval);
for(WebElement G : Gender ) {
System.out.println("Gender is :"+G.getText());
}
List<WebElement> Mstatus=wd.findElements(By.xpath(".//*[@id='MyMember_MaritalStatusId']"));
int statusval=Mstatus.size();
System.out.println(statusval);
for(WebElement text : Mstatus ) {
System.out.println("Gender is :"+text.getText());
}
答案 0 :(得分:0)
使用 containsAll
功能。和你的情况一样,你可以在字符串列表中获取Gender的文本,在另一个列表中获取Mstatus的文本,即
List<String> genderList = new ArrayList<String>();
for (WebElement G : Gender ) {
genderList.add(G.getText());
}
List<String> mstatusList = new ArrayList<String>();
for (WebElement G : Mstatus) {
mstatusList.add(G.getText());
}
System.out.println(mstatusList.containsAll(genderList));
containsAll 将检查提供的集合的所有元素。
答案 1 :(得分:0)
如果两个列表相同或不相同,它只是断言的另一种方式 根据 @Vivek ,获取文本列表,并说明检索文本后获得的列表是: genderList 和 mstatusList 。< / p>
您也可以使用以下代码断言两个列表:
try{
Assert.assertEquals(genderList, mstatusList);
System.out.println("Equal lists");
}catch(Throwable e){
System.err.println("Lists are not equal. "+e.getMessage());
}
注意:您需要使用 import junit.framework.Assert; 导入 Assert类(假设您正在使用junit框架) ,就是。)