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
像往常一样,当你必须解释到底发生了什么时,你会被一些东西绊倒…
我意识到TeamCity服务器上的Firefox相当老了(v30),所以我把它更新到最新版本,突然之间——测试运行了!: -)
在GoToURL()方法之后添加以下行:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));