我在网站上有一个元素,单击该元素时会更改其文本。但是,单击元素时,网页将刷新,并且仅在刷新后才更改文本。我在Selenium WebDriver C#中制作了一种POM方法来测试此功能:
http://localhost:4200/Personnes/view/2
问题是,一旦单击元素,网页就会刷新,但是代码会在页面刷新之前立即检查元素文本,从而给我带来负面的测试结果。有没有办法让测试在单击元素之后等待网页刷新,然后再检查其文本?
答案 0 :(得分:0)
如果页面上有加载程序,则可以先等待加载消失,然后检查文本,否则可以等待带有旧文本的元素消失,然后等待带有新文本的元素。这是一些可以让元素消失的代码:
var defaultWait = new WebDriverWait(this, TimeSpan.FromSeconds(30));
defaultWait.Until(
ExpectedConditions.InvisibilityOfElementLocated(By.XPath((selector)))
);