【发布时间】:2017-03-23 02:32:23
【问题描述】:
我在我的 Teamcity 构建服务器上运行 Selenium 测试。但是测试无法开始,出现以下错误消息:
OpenQA.Selenium.WebDriverException : 对远程的 HTTP 请求 网络驱动程序 URL http://localhost:56064/session 的服务器在 120 秒后超时。 ----> System.Net.WebException : 操作超时
测试基类(缩写):
public abstract class TestBase<T> where T : IWebDriver, new()
{
protected IWebDriver Driver { get; set; }
[TestFixtureSetUp]
public void Setup()
{
this.Driver = new T();
}
protected void GotoUrl(string url)
{
var completeUrl = UrlFactory.Instance.GetTestUrl(url);
Console.WriteLine("Starting test at " + completeUrl);
this.Driver.Navigate().GoToUrl(completeUrl);
}
}
测试类:
[TestFixture(typeof(FirefoxDriver))]
public class Dashboard<T> : TestBase<T> where T : IWebDriver, new()
{
private const string Url = "RM/Dashboard/dashboard.aspx";
[Test]
public void HasCorrectHeading()
{
// Arrange
this.GotoUrl(Url);
// Act
var heading = this.Driver.FindElement(By.CssSelector(".pageheaderContainerxboxcontent span.H1"));
// Assert
Assert.That(heading, Is.Not.Null);
}
}
测试在本地开发机器上运行良好,可能有什么问题?
Visual Studio 解决方案:
- 不引用 Selenium 的 Web 项目
-
使用这些参考单独的 UI 测试项目:
- Selenium.WebDriverBackedSelenium 3.0.0.0
- ThoughtWorks.Selenium.Core 3.0.0.0
- WebDriver 3.0.0.0
- WebDriver.Support 3.0.0.0
全部由 dll:s 引用,而不是 Nuget 提要。
在构建后事件中将文件“geckodriver.exe”和“chromedriver.exe”复制到 UI-tests 项目 bin 文件夹。
在 Windows Server 2008 R2 SP 1 上运行 TeamCity 10
【问题讨论】:
标签: c# selenium selenium-webdriver teamcity