Selenium webdriver连接超时

本文关键字:超时 连接 webdriver Selenium | 更新日期: 2023-09-27 18:17:00

我在Teamcity构建服务器上运行Selenium测试。但是测试无法启动,并显示以下错误信息:

OpenQA.Selenium。WebDriverException:对远程的HTTP请求WebDriverURL http://localhost:56064/session的服务器在120秒后超时。----> system.net.webeexception: The operation has timed out

测试基类(缩写):

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测试项目:

    • 硒。WebDriverBackedSelenium 3.0.0.0
    • ThoughtWorks.Selenium。核心3.0.0.0
    • WebDriver 3.0.0.0
    • WebDriver。支持3.0.0.0

所有由dll:s引用,而不是Nuget提要。

文件'geckodriver.exe'和'chromedriver.exe'在构建后事件中复制到UI-tests projects bin文件夹。

在Windows Server 2008 R2 sp1上运行teamcity10

Selenium webdriver连接超时

像往常一样,当你必须解释到底发生了什么时,你会被一些东西绊倒…

我意识到TeamCity服务器上的Firefox相当老了(v30),所以我把它更新到最新版本,突然之间——测试运行了!: -)

在GoToURL()方法之后添加以下行:

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));