【问题标题】:Do you need to run a Selenium Server with RemoteWebDriver in order to perfrm the step "Run Functional Tests" in TFS 2017 vnext build?您是否需要使用 RemoteWebDriver 运行 Selenium 服务器才能在 TFS 2017 vnext 构建中执行“运行功能测试”步骤?
【发布时间】:2017-08-18 23:20:05
【问题描述】:

我已经能够使用简单的 webdriver 设置(例如 IWebDriver driver = new FirefoxDriver(); driver.Url = "http://www.testedApp.com";)在我的测试机器上本地运行 Selenium 测试并通过 Microsoft.VisualStudio.TestTools.UnitTesting; 运行测试,但是当我通过 Team Foundation Server vnext Build 步骤部署测试时“测试:运行功能测试”https://www.visualstudio.com/en-gb/docs/build/steps/test/run-functional-tests 我收到各种错误,这些错误似乎都与无法创建驱动程序有关。

我正在将 selenium 测试部署到已安装要测试的应用程序的远程计算机(Windows Server 2008 R2 或 2012)上。如果我将 url 放到 driver.Url = "http://www.testedApp.com";driver.Url = "http://www.localhost/testedApp.com"; 机器上似乎并不重要(它看起来仍在 TFS 服务器机器上运行,而不是我已经部署测试的机器上)似乎失败了超时导致我在 Stack Overflow 上得到了这个答案

Selenium Error - The HTTP request to the remote WebDriver timed out after 60 seconds

在那里尝试了所有选项后,进一步观察,我发现了 Selenium Server 和 RemoteWebdriver(RemoteWebdriver 实际上在我的错误中很深)

我还在管理员帐户下在远程计算机上运行测试代理,因此假设 UI 访问不会有问题,但如果我使用 Phantomjs 作为浏览器,错误也会持续存在。

所以,我想我真正的问题是,为了从 TFS 机器在远程机器上成功运行测试,我是否需要安装和运行 Selemium 服务器(因此通过 RemoteWebdriver 创建我的驱动程序)?

如果是这样,这个 Selenium 服务器会在 TFS 机器上运行,还是在我尝试在其上运行测试的远程机器上运行?

【问题讨论】:

    标签: c# unit-testing tfs selenium-server vnext


    【解决方案1】:

    我只是想用我的解决方案更新它。

    我设法在不使用 remoteWebDriver 或运行带节点的 Selenium 服务器的情况下使 vnext 构建步骤“测试:运行功能测试”工作。

    我打开了所有正确的信任级别和端口,我的问题是我没有意识到我需要让运行测试的代理使用 PAT 令牌进行身份验证(换句话说,它需要 ssl 才能成功运行) (DOH!)

    我还遇到了域策略不断将自动登录的组策略重置为 0 的问题,我通过在开始测试之前运行脚本重置来解决这个问题。

    希望这对其他人有所帮助。

    如果我的问题最初导致一些错误的假设,我提前道歉。

    但是,不用说,我很感激我不需要维护 selenium 服务器(或 Octopus 部署),并且 Vnext 构建具有足够的适应性来处理这一切。

    Vnext 仍有一段路要走,才能完全适应我的需求,但这是一个很好的开始 (imo)

    【讨论】:

      【解决方案2】:

      每台运行浏览器的机器上都需要一个 selenium 服务器或节点。

      【讨论】:

      • 感谢史蒂夫的确认。如果我可以寻求进一步的建议,我计划在几台机器上运行它,为每台机器使用单独的 vnext 构建,以便更容易维护不同的机器设置,但是查看 Grid 文档,似乎你启动了一个并且从那里运行多台机器?在不同的端口上运行多个“网格”并且每个只有一台机器是否可行(或浪费资源)?还是我应该尝试找到一种更好的方法来从一个版本中运行所有不同的机器及其测试?
      • 如果您可以在每台机器上创建不同的功能,那么一个网格就足够了,您可以请求所需的功能。您可能需要自定义功能来区分自己,这篇博文可能会有所帮助:rationaleemotions.wordpress.com/2014/01/19/…
      猜你喜欢
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 2019-06-11
      • 2018-12-27
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多