【问题标题】:Selenium UI Test Fails When Running On VS Test, But Runs In Visual Studio Locally FineSelenium UI 测试在 VS 测试上运行时失败,但在 Visual Studio 中本地运行良好
【发布时间】:2017-09-06 21:15:26
【问题描述】:

我们的 QA 分析师使用这些 Nuget 包编写了 UI 测试

  • NUnit 3.8.1
  • NUnit 控制台运行程序 3.7.0
  • Nunit 3 测试适配器 3.8.0
  • Nunit 橙 2.1.0
  • 硒支持 3.5.2
  • Selenium Web 驱动程序 3.5.2
  • Selenium Web 驱动程序 IEDriver 3.5.1
  • Selenium Web 驱动程序等待扩展 1.0.0

当我们在visual studio中打开解决方案并选择要运行的测试类别时,每个测试都会打开一个firefox浏览器,登录,导航到页面,检测元素并基本通过。

但是,当我们使用 Visual Studio 的脚本构建时,在 Visual Studio Test V2 过程中,所有测试都失败并出现以下错误:

测试 A 失败 2017-09-06T19:09:01.3495462Z 错误消息: 2017-09-06T19:09:01.3495462Z OpenQA.Selenium.ElementNotVisibleException: 2017-09-06T19:09:01.3495462Z 堆栈跟踪: 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(响应错误响应) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串 driverCommandToExecute,Dictionary2 parameters) 2017-09-06T19:09:01.3495462Z at OpenQA.Selenium.Remote.RemoteWebElement.Click() 2017-09-06T19:09:01.3495462Z at x.Init.click(By locator) in E:\agent\_work\1\s\UI Tests\AutomatedTests(FF)\x\Init\Init.cs:line 362 2017-09-06T19:09:01.3495462Z at x.AbstractPage.expandMenuItem(By menuItemlocator) in E:\agent\_work\1\s\UI Tests\AutomatedTests(FF)\xSelenium\Pages\AbstractPage.cs:line 223 2017-09-06T19:09:01.3495462Z at xSelenium.AbstractPage.openAirlinesPage() in E:\agent\_work\1\s\UI Tests\AutomatedTests(FF)\xSelenium\Pages\AbstractPage.cs:line 775 2017-09-06T19:09:01.3495462Z at xSelenium.Acceptance.Acceptance_SeniorManager_OpenAndCheckLinksOnAirlinesPage() in E:\agent\_work\1\s\UI Tests\AutomatedTests(FF)\xSelenium\Tests\Acceptance.cs:line 750Standard Output Messages: 2017-09-06T19:09:01.3495462Z OpenQA.Selenium.WebDriverTimeoutException: Timed out after 25 seconds 2017-09-06T19:09:01.3495462Z at OpenQA.Selenium.Support.UI.DefaultWait1.ThrowTimeoutException(字符串异常消息,异常 lastException) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Support.UI.DefaultWait1.Until[TResult](Func2 条件下) 2017-09-06T19:09:01.3495462Z 在 E:\agent_work\1\s\UI Tests\AutomatedTests(FF)\xSelenium\Init\Init.cs:line 596 中的 xSelenium.Init.waitUntilElementIsNotVisible(By by) 2017-09-06T19:09:01.3495462Z 无法定位元素://span[text()='OK'] 2017-09-06T19:09:01.3495462Z 错误堆栈跟踪开始 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(响应错误响应) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串 driverCommandToExecute,Dictionary`2 参数) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(字符串机制,字符串值) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByXPath(String xpath) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.By.c__DisplayClasse.b__c(ISearchContext 上下文) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.By.FindElement(ISearchContext 上下文) 2017-09-06T19:09:01.3495462Z 在 OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(作者) 2017-09-06T19:09:01.3495462Z 在 E:\agent_work\1\s\UI Tests\AutomatedTests(FF)\xSelenium\Init\Init.cs:line 412 中的 xSelenium.Init.isElementPresent(By by) 2017-09-06T19:09:01.3495462Z 错误堆栈跟踪结束

构建机器正在运行 Windows 10(另一台构建机器运行 Server 2012,并引发相同的错误)

  • 火狐55
  • Chrome 版本 60.0.3112.113

这些 Visual Studio 测试选项已启用: - 测试组合包含 UI 测试

服务器上的代理处于交互模式并注册为 Windows 服务 - 它启用了“允许服务与桌面交互”。

已将 SetPageLoadTimeout 和 SetScriptTimeout 超时增加到 120 秒,但问题仍然存在。

【问题讨论】:

标签: selenium azure-devops azure-pipelines


【解决方案1】:

运行功能测试时,您通常需要使用Run Functional Tests 任务在测试代理上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 2020-10-25
    • 2019-01-14
    • 2017-10-27
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多