我为每个测试运行了一组常用方法。就像我需要在我的购物车中添加一些物品一样,每个物品都会运行整个测试。但是对于第一个项目,它运行良好,当对第二个项目重复该过程时,它在验证文本时失败,我得到一个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"));