问题标签 [selenium-grid2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
276 浏览

python - 代码执行完成后如何退出 Web 驱动程序会话?

我们在工作中使用 Selenium 的 Python 绑定。有时我忘记将 WebDriver.quit() 的调用放在 finally 子句中,或者为了测试而拆掉。发生了一些不好的事情,引发了异常,会话被放弃并卡在网格上“使用中”。

如何在不重新启动网格服务器的情况下退出这些会话并使它们恢复可用?

0 投票
2 回答
2095 浏览

java - WedDriverException : java.util.HashMap 在初始化 RemoteWebDriver 时无法转换为 java.lang.String

我正在尝试并行运行 Junit 测试,进行了具有 3 个节点的网格设置,而执行测试时出现异常

org.openqa.selenium.firefox.NotConnectedException:45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1。

我的理解是与 Firefox 和 selenium 版本无关,我认为该异常是由于 Firefox 为一个未在 45000 毫秒内释放的 webdriver 实例发出的锁定,这会引发其他 webdriver 实例尝试连接的超时异常7055端口同时(因为系统慢)

所以我相信在这种情况下使用以下代码增加超时

但又得到了一个异常WedDriverException : java.util.HashMap cannot be cast to java.lang.String

为 firefoxbinary 设置功能时抛出此异常

否则创建 RemoteWebdriver 实例没有任何问题

请让我知道我是否正确地增加了关于端口 7055 锁定的超时,如果是这样,请帮助我解决 Firefox Binary 中的 webdriver 异常

0 投票
1 回答
1099 浏览

selenium - Selenium Grid 配置超时

我正在使用 Selenium Grid 2。

我有一个集线器和 6 个节点。我遇到的问题是由于意外的 javascript 弹出窗口导致一些测试失败,并且 selenium 似乎没有清理这些会话。测试完成后,仍然有浏览器打开(每台测试机器上有多个浏览器),并且仍然有 IEDriverServer.exe 进程在运行。

这是我正在使用的 hub.json 文件:

任何额外的输入表示赞赏......

仅供参考,我的框架中确实有一个 finally 块,它做的最后一件事是

0 投票
0 回答
639 浏览

java - Selenium Grid - 连接 Linux 服务器和 Windows/Mac 机器

我们在 Linux 服务器、CentOS 6、无 GUI 上有一个持续集成、设置 (Jenkins)。

  1. 我也在这台服务器上为回归测试设置了一个新工作。使用的框架是 Java、Selenium WD、JUnit 和 Ant。

  2. 测试在无头浏览器配置(例如 Firefox 和 PhantomJS)上运行良好。但我需要一个用于测试 Flash 组件/播放器的浏览器。

  3. 当我使服务器成为“集线器”而我的其他 Windows 机器成为“节点”时使用 Selenium Grid 连接未建立/连接超时,因为它们不在同一个网络中。

如何绕过防火墙问题/如何建立连接并运行测试。

0 投票
3 回答
2971 浏览

macos - 通过 Vagrant 运行 Selenium Grid

我正在尝试从在我的 Mac 上运行我的 Selenium 服务器和客户端迁移到让服务器在 Vagrant VM 中运行,而客户端在我的 Mac 上本地运行。

我正在使用在 Mac OS X 10.9.1 上运行的 Vagrant 1.4.3 来启动 Ubuntu 13.10 VM。启动 VM 后,我会安装 Java、Node.js 和我的测试环境所需的一些其他依赖项。安装 Selenium 2.39.0(撰写本文时的最新版本)后,以下是相关配置。


我通过 SSH 连接到我的 Vagrant VM 并运行以下命令:


/vagrantVM 上的映射到我本地 Mac 上项目目录的根目录。这是我的相关配置Vagrantfile


这是 Selenium Grid Hub 在 Vagrant VM 上使用的集线器配置。Selenium Hub 使用3444VM 内部的端口,该端口映射到4444VM 外部,面向我的 Mac。


这是我在 Mac 上作为节点启动 Selenium 的方法。


这是尝试与运行在 Vagrant 中的 Hub 通信的节点配置。


最后,这是我在 Mac 端的终端中得到的。

最后,这是我在 Vagrant VM 端的终端中得到的。


在这种情况下,Google 不会返回任何有用的信息。谁能帮我确定为什么集线器和节点不能相互通信?

0 投票
1 回答
883 浏览

selenium - Selenium Grid 2 from mac hub to windows node

I am setting up selenium grid to be able to test IE in a Virtual Machine. I am running into:

geb.driver.DriverCreationException: failed to create driver from callback

which generally means the driver is not being found. I'm pointing it to the correct location, however something isn't working. FYI refers to my hub machine's intranet IP address.

Here are my files/commands:

From Mac hub terminal:

java -jar selenium-server-standalone-2.39.0.jar -role hub

From Windows node terminal:

C:\selenium-server>java -jar selenium-server-standalone-2.39.0.jar -role node -hub http://:4444/grid/register -browser browserName="internet explorer",version=10.0,platform=WINDOWS -Dwebdriver.ie.driver=C:\IEDriverServer.exe

My GebConfig.groovy file where the drivers are instantiated:

My stack trace is as follows:

geb.driver.DriverCreationException: failed to create driver from callback 'script13923985022291935133551$_run_closure2_closure5_closure9@557c6200' at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:80) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy) at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:30) at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:79) at geb.Configuration.createDriver(Configuration.groovy:354) at geb.Configuration.getDriver(Configuration.groovy:343) at geb.Browser.getDriver(Browser.groovy:105) at geb.Browser.go(Browser.groovy:394) at geb.Page.to(Page.groovy:184) at geb.Browser.via(Browser.groovy:475) at geb.Browser.to(Browser.groovy:434) at geb.Browser.to(Browser.groovy:412) at geb.spock.GebSpec.methodMissing(GebSpec.groovy:51) at com.bloomhealthco.functional.LoginTestSpec.User is able to login as an administrator(LoginTestSpec.groovy:12) Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: org.openqa.selenium.remote.RemoteWebDriver(java.net.URI, groovy.util.ConfigObject) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy:44) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy) at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29) ... 14 more

geb.driver.DriverCreationException: failed to create driver from callback 'script13923985022291935133551$_run_closure2_closure5_closure9@557c6200' at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:80) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy) at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:30) at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:79) at geb.Configuration.createDriver(Configuration.groovy:354) at geb.Configuration.getDriver(Configuration.groovy:343) at geb.Browser.getDriver(Browser.groovy:105) at geb.report.PageSourceReporter.getPageSource(PageSourceReporter.groovy:42) at geb.report.PageSourceReporter.writePageSource(PageSourceReporter.groovy:38) at geb.report.PageSourceReporter.writeReport(PageSourceReporter.groovy:29) at geb.report.CompositeReporter.writeReport(CompositeReporter.groovy:31) at geb.Browser.report(Browser.groovy:775) at geb.spock.GebReportingSpec.report(GebReportingSpec.groovy:44) at geb.spock.GebReportingSpec.cleanup(GebReportingSpec.groovy:39) Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: org.openqa.selenium.remote.RemoteWebDriver(java.net.URI, groovy.util.ConfigObject) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy:44) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy) at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29) ... 14 more

geb.driver.DriverCreationException: failed to create driver from callback 'script13923985022291935133551$_run_closure2_closure5_closure9@557c6200' at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:80) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy) at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:30) at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:79) at geb.Configuration.createDriver(Configuration.groovy:354) at geb.Configuration.getDriver(Configuration.groovy:343) at geb.Browser.getDriver(Browser.groovy:105) at geb.Browser.clearCookies(Browser.groovy:483) at geb.Browser.clearCookiesQuietly(Browser.groovy:491) at geb.spock.GebSpec.resetBrowser(GebSpec.groovy:45) at geb.spock.GebSpec.cleanup(GebSpec.groovy:67) Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: org.openqa.selenium.remote.RemoteWebDriver(java.net.URI, groovy.util.ConfigObject) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy:44) at script13923985022291935133551.run_closure2_closure5_closure9(script13923985022291935133551.groovy) at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29) ... 11 more

Additionally the node can be registered with the hub:

ip:4444/grid/console screenshot

I've been searching all day and it seems this should work. Does anyone have any suggestions or know what's wrong?

Thank you in advanced.

0 投票
1 回答
722 浏览

java - 从 jar 文件启动时,Selenium Server 没有响应

我正在将无头 Ubuntu 服务器设置为节点。这个节点通过 Chromedriver 运行 Chrome,当我通过 bash 启动 jar 时,我可以运行测试。这是我正在使用的命令:

我编写了一个 Java 应用程序来运行此命令并将正在使用的端口插入数据库。此应用程序使用与上述相同的 bash 命令来启动 Selenium 服务器。我从 /opt 目录启动这个 jar,与 Selenium 服务器 jar 所在的目录相同。这是适用的方法:

我可以开始一个测试和部分运行,但是这个异常总是在执行过程中抛出并且无法被捕获。

抛出异常

似乎会话在执行过程中失去了与集线器的通信。但是,考虑到当我手动运行 bash 命令时测试将运行完成,我不知道为什么会发生这种情况。

0 投票
1 回答
9863 浏览

c# - 如何在 C# 中将配置文件首选项添加到 Chrome for Selenium Grid 2?

这就是我将配置文件首选项添加到 Chrome 以进行本地自动测试运行和 TeamCity(CI) 的方式:

但是当我创建新的“RemoteWebDriver”时,我必须向它发送一个集线器 URL 和“功能”,这样我就可以将配置文件首选项发送到 Firefox(到 RemoteWebDriver):

有人可以帮助我吗,我需要对 Chrome 做同样的事情,就像我对 Firefox 做的一样。基本上我需要的是我可以更改下载文件的默认路径。

0 投票
0 回答
2180 浏览

ruby - 如何在 Selenium Grid2 中运行 Watir-Webdriver 测试

我可能会遗漏一些明显的东西,但这是我的设置:

  1. CentOs 6.4 Headless VM(运行 Selenium 集线器)
  2. CentOs 6.4 Headless VM(运行节点)(与#1相同的VM)
  3. Windows Xp Pro VM(运行节点)
  4. CentOs 6.4 Headless VM(运行 Watir 测试)

在 1,2 和 4 上,我运行命令 rvm use ruby​​-2.1.1 并应用 puppet 模块来安装以下 gem:['watir-webdriver', 'headless', 'bacon', 'selenium-webdriver ','rspec','cucumber','test-unit','page-object','ci_reporter']

然后,在#1上,我运行:

java -Xms1024M -Xmx2048M -jar selenium-server-standalone-2.40.0.jar -role hub

在#2上,(与#1相同的机器,我运行:

或命令:

在这两种情况下,我在集线器上都没有得到任何指示,节点确实已连接,或者在它已注册到集线器的节点上,我在节点上得到的最后一行是:

IMO,“注册”是指正在进行中,而不是完成。无论如何,所以我打开集线器控制台@

http://<#1 VM DNS>:4444/

我得到:

您正在使用 grid 2.40.0 在官方 selenium wiki 上查找帮助:更多帮助在此处默认监控页面:控制台

单击控制台链接,我看到以下代理已连接:

id : http://<#3 IP Address, of Windows XP Pro>:5555, OS : XP

我在 Windows Xp 上运行了旧命令(所以当集线器重新启动时,它似乎已连接)

C:\Documents and Settings\user1>java -jar selenium-server-standalone-2.40。0.jar -role node -hubHost <#1 VM DNS> -hubPort 4444

现在,我需要在 ruby​​/Watir 中针对 windows 节点运行一个简单的火狐测试。

因为我无法针对无头 VM #1 或 #4 运行浏览器测试,除非我安装并运行了 xvfb 帧缓冲区,对吗?

现在当我跑步时

我得到错误:

[远程服务器] org.openqa.grid.web.servlet.handler.RequestHandler(RequestHandler.java):114:in `process': 转发新会话时出错找不到:Capabilities [{platform=WINDOWS, javascriptEnabled=true, cssSelectorsEnabled =true, browserName=firefox, nativeEvents=false, name=Watir WebDriver, rotatable=false, takeScreenshot=true, version=12}] (org.openqa.grid.common.exception.GridException) (Selenium::WebDriver::Error ::未知错误)

0 投票
2 回答
2690 浏览

java - Selenium 网格提供异常:PROXY_REREGISTRATION

感谢你们,我现在能够成功运行 selenium grid 2。现在我面临一个新问题,即:Session [xxxxx] was terminate due to PROXY_REREGISTRATION

根据我阅读的内容,这意味着节点已断开连接并正在重试连接到主机,但失败了。

但我想要的是,如何解决这个异常。而是如何处理它>>??? 有谁知道与这个有关的事情吗?