【问题标题】:"Jenkins + Selenium Grid + Maven" ERROR: org.openqa.selenium.SessionNotCreatedException:“Jenkins + Selenium Grid + Maven”错误:org.openqa.selenium.SessionNotCreatedException:
【发布时间】:2019-12-12 15:31:54
【问题描述】:

我正在使用带有 Selenium Grid 的 Jenkins。我不通过命令行启动我的集线器和节点,而是完全通过 Jenkins UI - 这是我迫切需要通过 UI 配置解决方案而不是命令行解决方案的原因之一。
我可以看到我的节点使用 "JVM Options" 作为 "webdriver.ie.driver=C:\Program Files (x86)\Jenkins" 运行。我已确保我的“IEDriverServer.exe”存储在此文件夹中。

这是我的网格配置的图像 - Grid Configuration

我使用的是 64 位 IEDriverServer(版本 3.150.1)
Selenium Grid 版本 3.141.59

我的代码:

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setBrowserName("internet explorer");
capabilities.setPlatform(Platform.XP);
capabilities.setVersion("11");

driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);

对于作业配置,在“构建环境”下,我将“目标和选项”设置为“clean test”,因为这是一个 maven 项目。
每次构建此作业时,我都会收到此错误:

org.openqa.selenium.SessionNotCreatedException: 
Unable to create new service: InternetExplorerDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'WINDOWS-JENKINS', ip: '10.162.0.5', os.name: 'Windows Server 2016', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: unknown
Command duration or timeout: 344 milliseconds
    at qa.BH.Setup.Init(Setup.java:34)
Caused by: org.openqa.selenium.SessionNotCreatedException: 
Unable to create new service: InternetExplorerDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'WINDOWS-JENKINS', ip: '10.162.0.5', os.name: 'Windows Server 2016', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: unknown
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'WINDOWS-JENKINS', ip: '10.162.0.5', os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_231'
Driver info: driver.version: unknown


我了解它无法正确匹配 IEDriver? driver.version : unknown


请帮忙?

【问题讨论】:

  • 有什么理由在同一组跟踪日志中看到os.name: 'Windows Server 2016'os.name: 'Windows Server 2019'
  • @DebanjanB 不确定,我无法弄清楚为什么错误日志会使用如此不同的版本信息打印 2 次...

标签: maven selenium jenkins


【解决方案1】:

对于其他坚持这一点的人,这就是我必须做的。感谢许多人的帖子让我能够收集根本原因和修复。

IE 在 Jenkins 作为服务运行时无法与典型节点一起使用!
所以,我必须通过命令行启动代理和集线器。
代理需要使用 JNLP 启动。步骤是-
1. 像在 Jenkins 中一样创建一个节点。确保在创建时使用选项“通过将代理连接到主服务器来启动代理”。如果该选项不可见,您需要启用 管理 Jenkins > 配置全局安全 > 代理 > 入站代理的 TCP 端口 下的设置。你可以在这里给出一个固定的端口号。假设您给节点起的名称是“NODE_01”。
2. 保存后,您将看到一个页面,该页面给出了通过命令行运行此命令的命令。类似java -jar agent.jar -jnlpUrl http://localhost:8080/computer/Node_01/slave-agent.jnlp -secret 30541e5f10d2b8b7054bcf3d99ef7798b9c99e698ade13444179b168cebf1b97 -workDir "C:\Program Files (x86)\Jenkins"
3. 从这里下载这个“agent.jar”(它必须是一个超链接)。
4. 在命令提示符下进入该文件夹并运行上述命令。
5. 现在是集线器 -
6. 打开另一个命令提示符,转到保存 selenium-server-standalone jar 文件的文件夹(如果还没有,请立即下载)并运行它 - java -Dwebdriver.ie.driver="C:\Program Files (x86)\Jenkins\IEDriverServer.exe" -jar selenium-server-standalone-3.141.59.jar -role node -hub "http://localhost:4444/grid/register/"
注意我的 IEDriverServer.exe路径可能与您的不同。

你现在可以走了!创建一个作业并运行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多