当前位置: 首页 > 知识库问答 >
问题:

Selenium WebDriver测试失败,System.Net.WebException无法连接

傅峻
2023-03-14

我正在研究一套Selenium WebDriver(不是Selenium RC,也不使用Selenium-Server)测试,这些测试通过对mstest的命令行调用执行。我将它们分解为我们计划测试的每个浏览器的测试类(目前是Chrome、Firefox和IE9),每个测试类都有一个启动方法,它登录到测试中的系统,然后执行请求的测试,还有一个拆分方法,它使用webdriver.quit()关闭浏览器。

在我的开发机器上,一切都很好,但是在我们的构建机器上,类初始化/启动方法执行得很好,并登录到站点,但是第一个实际测试一开始,测试运行器就会关闭,并显示错误消息:

OpenQA.Selenium.WebDriverException: 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:59982

显然,端口的变化取决于测试的浏览器;当我运行整个套件时,我会在IE、Firefox和Chrome的不同端口上得到错误--每个浏览器都有两个错误(因为套件当前每个浏览器都有两个测试)

生成计算机的Windows防火墙已关闭,并且在运行测试之前检查netstat显示端口未使用;如果我调试测试,并在启动代码运行之后但在测试运行之前停止,那么端口当然正在使用。127.0.0.1和localhost也是相同的。

无论我是通过命令行调用测试,还是在Visual Studio中使用VS测试工具运行/调试测试,或者通过执行我的控制台应用程序(它通过process.start()调用MSTest),我都会得到相同的错误。在第一个FindElement()调用时引发异常。

我可以从哪里开始寻找为什么这在构建机器上失败,而不是在我的dev Box上?

共有1个答案

戎俊
2023-03-14

这里的问题是,在尝试在启动期间实现一些更健壮的错误处理时,我在登录代码周围缠绕的try/catch的finally块中调用了Teardown代码,因此当测试工具完成登录时,我就关闭并清理WebDriver实例,因此当测试运行时,那里没有WebDriver可以与之通信。

当我在我的开发机器上查看“相同”的代码时,我怀疑实际运行的库中没有那个块。

 类似资料:
  • 我最近编写了一个具有一些Internet连接的应用程序。所有进程在模拟器中运行良好,但在Android Studio上,它会抛出一个,并带有以下堆栈跟踪。 快速的网络搜索表明,这个问题可能与回复标题有关,但我不确定为什么/如何防止这个错误。

  • 我使用spring网站制作了我的项目,有以下选项:-gradle项目,java,spring启动版本2.4.5,java版本8,依赖项:-spring Web,Thymeleaf,spring数据API

  • 我从甲骨文网站 /download部分下载甲骨文sql开发人员“包括JDK 8的视窗64位”。我解压缩并尝试建立连接。我尝试了几个选项,但我得到“状态:失败-测试失败:输入输出错误:网络适配器无法建立连接”错误。 有人能帮我吗。非常感谢。

  • 问题内容: 我已将Web应用程序部署到远程树脂服务器,并且已打开JMX。 我可以远程登录到远程服务器,即 但是我无法使用我的JConsole连接到它 我已经在以下Java版本中尝试过此操作,但是在两个实例上都收到“连接失败”的提示。 你们对如何调试有任何想法(即找出问题所在)吗? 问题答案: 确保您正在使用以下Java属性集运行应用程序 立即尝试连接。如果要调试此命令,可以使用以下命令运行jcon

  • 我正在尝试测试我的角度4.1.0组件- 然而,一个简单的“应该创建”测试抛出了这个神秘的错误... NetworkError:未能对“XMLHttpRequest”执行“send”:未能加载“ng:///DynamicTestModule/module.ngfactory.js”。 所以我发现了这个问题,这表明问题是组件有 参数未设置,但是,如果我像这样修改我的测试: 同样,如果我从组件中移除<