【问题标题】:Unable to execute NUnit Selenium tests through Jenkins - target machine actively refused connection无法通过 Jenkins 执行 NUnit Selenium 测试 - 目标机器主动拒绝连接
【发布时间】:2019-06-01 23:55:01
【问题描述】:

我正在尝试通过 Jenkins 使用 NUnit 执行用 C#.NET 编写的 Selenium 测试,但显示以下错误消息:

-> error: Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:13748 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)

我在 Jenkins 中的构建配置如下:

解决方案似乎构建成功,但再次执行测试时,我收到上述错误消息。

注意:我已经检查了我的防火墙设置,并且允许 Jenkins 通过防火墙。

任何反馈都将不胜感激。

【问题讨论】:

  • 如果你远程进入 Jenkins 构建机器,你能访问 127.0.0.1:13748 吗?服务/应用程序是否在该端口上运行并且与 Jenkins 在同一台机器上运行?
  • @MattStannett 您好,感谢您的回复。所以,我在本地机器上安装了 Jenkins 作为服务。当我通过 WAR 文件安装它时,它运行良好 - 两者之间有什么不同?
  • 我不熟悉 Jenkins,但我做了一些谷歌搜索,发现了一个可能有帮助的链接:this link 指出,当作为服务运行时,它不会在您当前的用户下运行,而是在另一个用户下运行我有不同权限的帐户,另请参阅原始问题上的 cmets。
  • @MattStannett 谢谢!我会看看。事实证明我在测试运行之前实例化了 Selenium,这意味着任何后续测试都无法访问 WebDrivef 实例,因为它在 Teadow 中被丢弃

标签: c# .net selenium jenkins


【解决方案1】:

Selenium 在测试运行 (BeforeTestRun) 之前被实例化。这意味着在第一个测试之后执行的任何后续测试都不会引用 WebDriver 的实例,因为它没有在场景开始时重新实例化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 2013-07-15
    • 2014-05-09
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    相关资源
    最近更新 更多