0

HTML は次のとおりです。

<section class="my-account-box-element">
    <span class="item icon-home icon-color-1"></span>
</section>

条件によって「icon-home icon-color-1」から「icon-home icon-color-0」に変化するクラス名を基にアサーションを行う必要があります。

4

3 に答える 3

1

By最初に、を使用して検索するときに 2 つのクラスを追加できないことを警告する必要があります。これは、例の'item''item-home'が同じであるためです。主な違いは'item-color-1''item-color-0'にあると仮定します。

WebElement myAccountBoxElement = driver.findElement(By.className("my-account-box-element"));
WebElement spanItem = myAccountBoxElement.findElement(By.tagName("span"));
boolean itemColor = (spanItem.getAttribute("class").contains("item-color-1")) ? true : false;

if (itemColor) {
    // do stuff for item-color-1 element
}
    // do stuff for the item-color-0 element
}

上記のコードが実際の HTML である場合、上記のコードは問題なく動作するはずです。さらにタグがある場合は、findElements()代わりに使用してループします。

また、これらの2つの要素のみを使用している場合、よりクリーンなコードを保持するため、三項ifを使用しました

于 2013-05-08T14:46:59.557 に答える
0

必要に応じて変更

assertTrue(driver.findElements( By.Xpath(".//span[contains(@class,'icon-color-1')]")).size() != 0)
于 2013-05-08T10:56:52.210 に答える