【发布时间】:2019-11-15 15:19:23
【问题描述】:
测试用例在单击按钮后未找到链接或任何验证消息而失败。
我使用显式等待页面加载:
var waitForDocumentReady = new WebDriverWait(WebDriver, TimeSpan.FromSeconds(10));
waitForDocumentReady.Until((wdriver) => (WebDriver as IJavaScriptExecutor).ExecuteScript("return document.readyState").Equals("complete"));
等待验证消息的特定 div:
WebDriverWait wait = new WebDriverWait(WebDriver, TimeSpan.FromSeconds(10));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.ClassName("validationErrors")));
但测试用例有时会通过管道,有时会失败。
【问题讨论】:
-
您如何在 azure 中运行测试用例?无头,或者您正在渲染浏览器?在非无头模式下运行时,我遇到过此类无法解释的故障问题。
-
@Gkm 下面的答案是否可以帮助您解决此问题,您能分享任何更新吗?
-
@Christine,对我来说正好相反。当我将 WebDriver 设置为 headed 模式并且版本被选中“测试组合包含 UI 测试”时,大多数在 AzDo 上运行良好。但是,当我指定 WebDriver Headless=true 时,按下 [Save] 按钮后的测试将失败。我还没有解决按钮的处理问题。还有其他堆栈溢出测试可以解决这种现象。
-
@donvnielsen 您在无头模式下的问题可能与启用的某些设置有关 - 我个人看到无头模式的问题,其中未指定浏览器大小,导致默认浏览器大小较小没有正确呈现页面。如果您需要对这些设置进行故障排除的帮助,请随时在驱动程序初始化时发布您的 chrome 选项。
标签: selenium selenium-webdriver azure-devops azure-pipelines timeoutexception