カルマAbdelazeez:
ここでの最後の項目は、リストの最初の項目であるので、私は、製品の[]私のバスケットに製品を追加し、リストでそのURLを列挙し、与えられた文字列に対して、これらの製品を確認したいしている項目は] [zの文字列に逆方向に保存されます。 。項目の数が2つの項目の3つの以下のコードの動作であり、第3項にアサート方法で呼び出し例外をスロー
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");
}
キリルS:
あなたは順序を気に、しかししていない場合の提供されたリストとの間の一致について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
}