Java SessionNotCreatedException:无法创建新服务:Ubuntu上带有Selenium网格的Geckodriverse无法驱动Firefox
我无法用geckodriver从Selenium驱动Firefox。这很奇怪,因为chrome是用相同的框架驱动的,没有错误 以下是我的版本号:Java SessionNotCreatedException:无法创建新服务:Ubuntu上带有Selenium网格的Geckodriverse无法驱动Firefox,java,selenium,firefox,selenium-webdriver,selenium-grid,Java,Selenium,Firefox,Selenium Webdriver,Selenium Grid,我无法用geckodriver从Selenium驱动Firefox。这很奇怪,因为chrome是用相同的框架驱动的,没有错误 以下是我的版本号: Firefox 54.0 (64-bit) Chrome Version 62.0.3202.94 (Official Build) (64-bit) selenium-server-standalone-3.7.1.jar client-combined-3.5.3-nodeps.jar geckodriver-v0.19.1-linux64 c
Firefox 54.0 (64-bit)
Chrome Version 62.0.3202.94 (Official Build) (64-bit)
selenium-server-standalone-3.7.1.jar
client-combined-3.5.3-nodeps.jar
geckodriver-v0.19.1-linux64
chromedriver_linux64
Ubuntu 16.10
我从Selenium webdriver with java中得到的错误如下:
--------------------------------Error:
leder@leder-VirtualBox:~/Source/SeleniumCheese/bin$ ./execute_grid.sh
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: 'leder-VirtualBox', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.8.0-59-generic', java.version: '1.8.0_131'
Driver info: driver.version: unknown
Command duration or timeout: 1.39 seconds
---------------------------------Schnapp
这是我的设置,firefox已损坏,chrome正常:
Grid_SetUp.java
package de.auticon.selenium_server;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.MalformedURLException;
import java.net.URL;
public class Grid_SetUp {
public static WebDriver driver;
public static void main(String[] args) throws MalformedURLException, InterruptedException{
System.setProperty("webdriver.chrome.driver","/opt/selenium/chromedriver");
String URL = "http://www.google.de";
String Node = "http://192.168.40.40:4444/wd/hub";
DesiredCapabilities cap = DesiredCapabilities.firefox();
driver = new RemoteWebDriver(new URL(Node), cap);
driver.navigate().to(URL);
WebElement element = driver.findElement(By.name("q"));
//Enter something to search for
element.sendKeys("Cheese!");
// Now submit the form. WebDriver will find the form for us from the element
element.submit();
// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
Thread.sleep(5000);
driver.quit();
}
}
selenium_grid.sh:
#!/bin/bash
java -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role hub &
java -Dwebdriver.gecko.driver=/opt/selenium/geckodriver -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role webdriver -hub http://192.168.40.40:4444/grid/register -nodeConfig /opt/selenium/defaultNodeConfig.json -browser "browserName=firefox,platform=LINUX" &
执行_grid.sh:
#!/bin/bash
java -cp ".:/opt/selenium/selenium-server-standalone-3.7.1.jar" de.auticon.selenium_server.Grid_SetUp
我现在更新了工作配置的问题。但是,当运行firefox Selenium TC时,TC完成,不幸的是,服务器以错误消息“会话未创建”结束:
13:49:10.376信息-删除会话org.openqa.selenium.remote.server。ServicedSession@70c81601
13:49:10.381信息-到下游:{“值”:{“错误”:“未创建会话”,“消息”:“尝试运行命令而未建立连接”,“堆栈跟踪”:"堆栈回溯:\n 0:0x4edb3c-backtrace::backtrace::trace::hc4bd56a2f176de7e\n 1:0x4edb72-backtrace::capture::backtrace::new::he3b2a15d39027c46\n 2:0x4409a1-webdriver::error::WebDriverError::new::h81babd86c977032\n 3:0x4280ea-::run::h2119c674d7b88193\n 4:0x4029b9-std::sys_常见::回溯::回溯::开始生锈\u短回溯::h21d98a9ff86d4c25\n 5:0x40be65-std::恐慌::尝试::打电话::h5cff0c9b18cfdbba\n 6:0x5e6a6c-恐慌\u解开::生锈\u可能在/checkout/src/libpanic\u解开/lib.rs:99\n 7:0x41eb22-:呼叫盒::H4131DEB9C473\n 8:0x5df13b-alloc::boxed:{impl}}::在/checkout/src/liballoc/boxed.rs:692\n-std::sys\u common::thread::start\u thread\n在/checkout/src/libstd/sys\u common/thread.rs:21\n-std::sys::imp::thread:{impl}::new::thread_start\n在/checkout/src/libstd/sys/unix/thread.rs:84“}
关于Selenium Grid
配置的几句话:
- 您提到您的
为试验台
和selenium-server-standalone-3.7.1.jar
。根据client-combined-3.5.3-nodeps.jar
,您应该使用以下两种方法之一最佳实践
- 始终尝试使用最新发布的版本,即selenium-server-standalone-3.7.1.jar
- 在
中,您需要更改以下内容:selenium\u grid.sh:
java -Dwebdriver.gecko.driver=/opt/selenium/geckodriver
System.setProperty("webdriver.gecko.driver","E:\\FireFoxDriver\\geckodriver.exe");
String URL = "http://demo.automationtesting.in/Register.html";
String Node = "http://192.168.43.97:4444/wd/hub";
DesiredCapabilities cap = DesiredCapabilities.firefox();
driver = new RemoteWebDriver(new URL(Node), cap);
driver.get(URL);
driver.manage().window().maximize();
System.out.println("Page title is: " + driver.getTitle());
Thread.sleep(5000);
driver.close();
用于在本地计算机中创建集线器
java-jar E:\SeleniumGrid\selenium-server-standalone-3.141.59.jar-角色中心
打开cmd并在下载selenium独立服务器的行上方输入
然后你会得到这两个
节点应注册到
客户端应连接到
然后再次打开cmd并为节点键入此命令
java-Dwebdriver.gecko.driver=“E:\FireFoxDriver\geckodriver.exe“-jar E:\SeleniumGrid\selenium-server-standalone-3.141.59.jar-角色节点-hub谢谢你,DebanjanB!我可以省去
:/opt/selenium/client-combined-3.5.3-nodeps.jar
,而java-Dwebdriver.gecko.driver=/opt/selenium/geckodriver
现在运行良好!我将问题更新为工作配置,并添加了新的错误消息,请查看。@DebanjanB基于,最新版本为3.141.59,我使用该版本,但不提供帮助。
System.setProperty("webdriver.gecko.driver","E:\\FireFoxDriver\\geckodriver.exe");
String URL = "http://demo.automationtesting.in/Register.html";
String Node = "http://192.168.43.97:4444/wd/hub";
DesiredCapabilities cap = DesiredCapabilities.firefox();
driver = new RemoteWebDriver(new URL(Node), cap);
driver.get(URL);
driver.manage().window().maximize();
System.out.println("Page title is: " + driver.getTitle());
Thread.sleep(5000);
driver.close();