我有一套Selenium测试,可以在我的本地环境中使用Browserstack Automate完美运行,但是在Azure DevOps上失败。
在Azure Devops上运行时,没有配置或设置更改。
我们在这里遵循了所有文档:https : //docs.microsoft.com/zh-cn/azure/devops/pipelines/test/continuous-test- selenium?view=vsts
随机测试会失败,永远不会失败。
测试总是由于超时而失败。我等待页面加载5分钟,因此不会出现超时过低的情况。
没有适当的防火墙,该应用程序是公共的。
身份验证始终成功,因此测试能够加载应用程序。
不知道下一步该怎么做。
下面是Azure DevOps日志的副本。4个测试通过,但其他所有测试均失败。通常,只有4-5个测试失败。
使用BrowserStack Automate(远程selenium)和在本地进行此测试可以完美地工作。
2018-11-17T05:40:28.6300135Z Failed StripeAdmin_WhenOnTab_DefaultSortIsByIdDescending 2018-11-17T05:40:28.6300461Z Error Message: 2018-11-17T05:40:28.6304198Z Test method CS.Portal.E2e.Tests.Admin.StripeAdmin.StripeAdminTests.StripeAdmin_WhenOnTab_DefaultSortIsByIdDescending threw exception: 2018-11-17T05:40:28.6305677Z OpenQA.Selenium.WebDriverTimeoutException: Timed out after 300 seconds 2018-11-17T05:40:28.6307041Z Stack Trace: 2018-11-17T05:40:28.6307166Z at OpenQA.Selenium.Support.UI.DefaultWait`1.ThrowTimeoutException(String exceptionMessage, Exception lastException) 2018-11-17T05:40:28.6307999Z at OpenQA.Selenium.Support.UI.DefaultWait`1.Until[TResult](Func`2 condition) 2018-11-17T05:40:28.6308188Z at CS.Portal.E2e.Tests.Utility.WebDriverUtilities.WaitForElement(IWebDriver driver, By by, Boolean mustBeDisplayed) in D:\a\1\s\CS.Portal.E2e.Tests\Utility\WebDriverUtilities.cs:line 26 2018-11-17T05:40:28.6319651Z at CS.Portal.E2e.Tests.Admin.StripeAdmin.StripeAdminTests.StripeAdmin_WhenOnTab_DefaultSortIsByIdDescending() in D:\a\1\s\CS.Portal.E2e.Tests\Admin\StripeAdmin\StripeAdminTests.cs:line 51 2018-11-17T05:40:28.6319982Z 2018-11-17T05:40:34.4671568Z Results File: D:\a\1\s\TestResults\VssAdministrator_factoryvm-az416_2018-11-17_03_08_24.trx 2018-11-17T05:40:34.4692222Z 2018-11-17T05:40:34.4695222Z Attachments: 2018-11-17T05:40:34.4697610Z D:\a\1\s\TestResults\672f4d28-5082-42e9-a7e7-f5645aadcfd8\VssAdministrator_factoryvm-az416 2018-11-17 03_02_43.coverage 2018-11-17T05:40:34.4697943Z 2018-11-17T05:40:34.4698278Z Total tests: 34. Passed: 4. Failed: 30. Skipped: 0.
这是我要执行的一些步骤:
在类似情况下,对我们有帮助的是暂时将录像机添加到测试中,然后从头到尾监视VM上的测试执行过程。视频中可能有一些线索,可以帮助您了解实际出了什么问题,我能够找到此C#示例的链接
另外,我会仔细检查以确保Azure上的浏览器版本与运行良好的浏览器版本完全相同。使它们相同对于确保没有“魔术”至关重要。与默认浏览器窗口大小相同。
我将对不同测试失败的地方进行更详细的分析。
我知道以上内容更像是一般性建议,但是从我的经验来看,这种“随机失败”可能是由任何看起来“不值得关注”的东西引起的。