我已经能够使用简单的 webdriver 设置在我的测试机器上本地运行 Selenium 测试,例如IWebDriver driver = new FirefoxDriver(); driver.Url = "http://www.testedApp.com";
并通过 运行测试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 服务器机器上运行,而不是我已经部署测试的机器上运行)似乎在超时时失败,这似乎并不重要,这导致了我堆栈溢出的答案
Selenium 错误 - 对远程 WebDriver 的 HTTP 请求在 60 秒后超时
在尝试了所有选项之后,进一步观察,我发现了 Selenium Server 和 RemoteWebdriver(RemoteWebdriver 实际上在我的错误中很深)
我还在管理员帐户下的远程计算机上运行测试代理,因此假设 UI 访问不会有问题,但如果我使用 Phantomjs 作为浏览器,错误也会持续存在。
所以,我想我真正的问题是,为了从 TFS 机器在远程机器上成功运行测试,我是否需要安装和运行 Selemium 服务器(因此通过 RemoteWebdriver 创建我的驱动程序)?
如果是这样,这个 Selenium 服务器会在 TFS 机器上运行,还是在我尝试运行测试的远程机器上运行?