我已经加入产品我的购物篮,并在列表中列出的网址,并希望确认这些产品针对给定的String []的产品项目被存储Z中向后的String []所以在这里的最后一个项目是在列表中的第一个项目。 。项目的数量是3个并且低于代码作品2项和第三项抛出异常调用在断言方法
public void verifyBag(String[] goods) {
actions.clickOn(By.xpath(bagLocator));
Arrays.sort(goods);
List<WebElement> listItems = actions.driver.findElements(By.xpath(bagItems));
List <String> actualItems = new ArrayList<String>();
for(int i=0;i<listItems.size();i++)
{
actualItems.add(listItems.get(i).getAttribute("href"));
}
int j = goods.length-1;
for(int i=0;i<goods.length;i++)
{
String actualItem = actualItems.get(i);
String product = goods[j];
System.out.println(product);
//assertTrue(actualItems.get(i).contains(goods[j]));
assertTrue(actualItem.equals(product));
j--;
}
assertEquals(listItems.size(), goods.length,"Assert Number of Items in the Bag");
}
如果你不关心顺序,而是提供列表之间的匹配goods
和actualItems
,你可以这样做:
String[] goods
成一些集合,例如List
。让我们把它goodsList
。从goodsList
,删除也是所有项目actualItems
。
goodsList
也在actualItems
。actualItems
比较goodsList
你也可以做相反的:从actualItems
,删除也包含在所有项目goodsList
。这给了你,没有出现在提供的列表中的产品清单。
码:
public void verifyBag(String[] goods) {
actions.clickOn(By.xpath(bagLocator));
List<WebElement> listItems = actions.driver.findElements(By.xpath(bagItems));
List <String> actualItems = new ArrayList<String>();
for(int i=0;i<listItems.size();i++)
{
actualItems.add(listItems.get(i).getAttribute("href"));
}
List<String> goodsList = new ArrayList(Arrays.asList(goods));
goodsList.removeAll(actualItems);
if(goodsList.size() == 0) {
// All goods from provided goods list are also in actualItems
}
else {
// Some items didn't match
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句