各テストで実行する一般的なメソッドのセットがあります。カートにいくつかのアイテムを追加する必要があるように、各アイテムに対してテスト全体が実行されます。しかし、最初の項目では問題なく実行され、2 番目の項目でプロセスが繰り返されると、テキストの検証中に失敗し、StaleElementReferenceException
.
アイテムをもう一度検索したり、これを解決するにはどうすればよいですか? ありがとう。
失敗するコード:
public bool VerifyItemPresentInCart()
{
//Get the cartsize and verify if one item present
IWebElement cartSize = driver.FindElement(By.CssSelector("div[class='cart-size']>div"));
string actualMsg = cartSize.Text;
string expectedMsg = "1";
VerifyIfTextPresentMethod(expectedMsg,actualMsg);
return true;
}
でのエラー
IWebElement cartSize = driver.FindElement(By.CssSelector("div[class='cart-size']>div"));
更新: html コード
<a class="header-button show-cart has-cart-items" data-view-name="cart-badge" data-view-cid="view5" data-model-cid="c6" data-tappable="true">
Cart
<div class="cart-size">
<div>3</div>
</div>
新しいコード:
IWebElement cardDetails = driver.FindElement(By.CssSelector("div[class='form-field clear-fix']>label[for='cardNumber']>div"));