我使用的是3.4版本的最新selenium独立版本和v0.16.1版本的最新geckodriver。我无法开始新的远程会话。
我总是得到:
Unable to create new remote session. desired capabilities = Capabilities [{browserName=firefox, moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=org.openqa.selenium.firefox.FirefoxProfile@6b994b98}, platform=ANY, firefox_profile=org.openqa.selenium.firefox.FirefoxProfile@6b994b98}], required capabilities = Capabilities [{moz:firefoxOptions={binary=Optional.empty, args=[], legacy=null, logLevel=null, prefs={}, profile=org.openqa.selenium.firefox.FirefoxProfile@6b994b98}, firefox_profile=org.openqa.selenium.firefox.FirefoxProfile@6b994b98}]
Build info: version: '3.3.1', revision: '5234b32', time: '2017-03-10 09:04:52 -0800'
System info: host: '71001A2', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.8.0-49-generic', java.version: '1.8.0_131'
Driver info: driver.version: FirefoxDriver
这两个软件不兼容吗?
我在ubuntu linux上使用最新的firefox(53.0.2(64位))。
我像这样独立启动selenium:
sudo java -jar -Dwebdriver.gecko.driver=/opt/Selenium/webdrivers/geckodriver selenium-server-standalone-3.4.0.jar
更新:系统重启后,一切正常。
答案 0 :(得分:1)
我使用的是Firefox 53.0.2和geckodriver v0.16.1,并设法在远程Windows VM上运行测试,如下所示 - 我在两台计算机上的同一路径中都有我的geckodriver.exe(只是为了安全起见,但只要在远程VM上启动节点时指定正确的路径就可以正常工作)
在我的测试中,我使用他的代码初始化驱动程序:
public class SeleniumGrid_ParallelTest {
private WebDriver driver;
private String baseUrl;
private String geckoPath = "C:\Selenium\geckodriver.exe";
private String nodeURL;
@BeforeClass
public void beforeClass() throws MalformedURLException {
// FOR FF 53.0.2
System.setProperty("webdriver.gecko.driver", geckoPath);
baseUrl = "https://www.google.com/";
nodeURL = "http://192.168.75.128:5555/wd/hub"; // Remote VM IP address and port
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setBrowserName("firefox");
caps.setPlatform(Platform.WINDOWS);
driver = new RemoteWebDriver(new URL(nodeURL), caps);
// then the rest of the test as normal
在我的中心,我用
开始java -jar selenium-server-standalone-3.4.0.jar -role hub
在我的远程VM上,我使用以下命令从命令提示符启动节点:
cd C:\Selenium
java -jar -Dwebdriver.gecko.driver=C:\Selenium\geckodriver.exe selenium-server-standalone-3.4.0.jar -role node -hub http://<hub name or IP>:4444/grid/register -port 5555 -browser browserName=firefox,version=58.0.3029.110,maxInstances=2,platform=WINDOWS
通过Eclipse从我的集线器(我的笔记本电脑)运行测试并切换到远程VM。假设你已经安装了Firefox,测试将在远程VM上运行OK,正常情况下在你的PC上创建日志。