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

Selenium Grid v.3.1.0测试-无法创建新的远程会话

濮献
2023-03-14

我正在尝试使用Selenium Grid在不同的机器(Windows 10)上启动Firefox(51.0.1版)、Chrome(56.0.2924.87版)、Edge(38.14393.0.0版)**和Opera(43.0版)**。它在Chrome浏览器上运行良好,但在其他浏览器上总是会出现一些问题。请查看以下错误消息:

组织。openqa。硒。SessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{marionette=true,browserName=firefox,版本=,平台=WIN10}],所需功能=功能[{}]构建信息:版本:“未知”,版本:“1969d75”,时间:“2016-10-18 09:43:45-0700”系统信息:。。。,操作系统。名称:“Linux”,操作系统。拱门:“amd64”,操作系统。版本:“4.4.0-62-generic”,java。版本:“1.8.0_121”驱动程序信息:驱动程序。版本:RemoteWebDriver

我启动远程浏览器的命令(例如Firefox 51.0.1):

java-jarselenium-server-standalone-3.1.0.jar-角色节点-hub超文本传输协议://[jenkins.mydomain]: 4444/grid/寄存器-浏览器平台=WIN10,浏览器名称=Firefox, version=51.0.1

我在Eclipse上的测试代码(只是一个简单的例子):

package testpackage; 
import org.testng.annotations.Test;
import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;


public class FirefoxJenkins {
    RemoteWebDriver driver;
    @Parameters({ "platform", "browser", "url", "version" })
    @Test
    public void FirefoxTest() throws MalformedURLException{

    System.setProperty("webdriver.gecko.driver", "C:\\DEV\\geckodriver.exe");
    //RemoteWebDriver driver = new FirefoxDriver();
    DesiredCapabilities caps = DesiredCapabilities.firefox();
    caps.setBrowserName("firefox");
    caps.setPlatform(org.openqa.selenium.Platform.WIN10);

    //FirefoxProfile profile = new ProfilesIni().getProfile("default");
    //profile.setAcceptUntrustedCertificates(false);
    //profile.setAssumeUntrustedCertificateIssuer(false);
    //caps.setCapability(FirefoxDriver.PROFILE, profile);
    driver = new RemoteWebDriver(new URL("http://[jenkins.mydomain]:4444/wd/hub"), caps);
    driver.navigate().to("http://www.google.de");
    driver.manage().window().maximize();
    driver.quit();
    }


}

XML-文件

<?xml version="1.0" encoding="utf-8"?>

<!--Set thread-count = 3 to execute test parallel in 3 max browsers at at time. You can increase it-->
<suite name="Parallel Tests" verbose="1" thread-count="1" parallel="tests">
 <tests>
  <test name="Windows+firefox Test">
   <parameters>
    <parameter name="platform" value="WIN10"/>
    <parameter name="browser" value="firefox"/>
    <parameter name="url" value="http://www.google.de/"/>
    <parameter name="version" value="51.0.1"/>
   </parameters>
   <classes>
    <class name="testpackage.FirefoxJenkins"/>
   </classes>
  </test> 
   </tests>
</suite>

(与其他浏览器相同的代码)

我已经尝试了几件事,但没有成功,例如:

  • 命令java:-Dwebdriver。壁虎。driver=“C:\DEV\geckodriver.exe”-jar selenium-server-standalone-3.1.0。jar-角色节点-中心http://[jenkins.mydomain]:4444/grid/register-浏览器平台=WIN10,浏览器名=firefox,版本=51.0.1

PS:我有同样的问题,试图启动边缘和歌剧(甚至通过使用IEDriverServer.exe和operadriver.exe)。

你能帮我解决这个问题吗?我很感激。

共有1个答案

武峻熙
2023-03-14

这是你可以做的。出于某种奇怪的原因,我注意到Selenium WebDrive有时会吞噬实际的异常,而是给你一个通用的异常,我同意这很难解密。

因此,您可以执行以下操作(实际行号可能因Selenium版本而异。我假设您使用的是Selenium 3.0二进制文件)

您需要在组织中设置断点。openqa。硒。遥远的协议握手#createSession(org.openqa.selenium.remote.http.HttpClient,java.lang.StringBuilder)selenium 3.2.0,selenium 3.1.0

String resultString=response。getContentString()

并在调试模式下运行测试。结果字符串的实际响应值应该告诉您真正的问题。

 类似资料:
  • 我正试图使用Selenium Grid启动一款新的Chrome浏览器,但最终出现以下错误 无法创建新的远程会话。所需功能=能力[{浏览器名称=chrome,版本=55.0.2,平台=WINDOWS}],所需功能=能力[{}]构建信息:版本:“3.0.1”,修订版本:“1969d75”,时间:“2016-10-18 09:49:13 -0700”系统信息:主机:“PL9710388”,ip:“10.

  • 当我尝试运行测试时,我得到这个错误。 sessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{PlatformName=Android,DeviceName=F4AZFG07P508}],所需功能=功能[{}]生成信息:版本:“3.3.1”,修订版:“5234B325D5”,时间:“2017-03-10 09:10:29+0000”系统信息:主机:“MacBo

  • null 我的脚本中使用的代码: 详细的堆栈跟踪: an 19,2017 6:07:36 PM org.openqa.selenium.remote.ProtocolHandshake创建session信息:尝试双方言会话,假设Postel定律在远程端成立,Jan 19,2017 6:07:37 PM org.openqa.selenium.remote.ProtocolHandshake创建se

  • 问题内容: 我正在尝试从集线器到节点运行一个简单的代码,集线器和节点连接成功。 执行程序时出现异常 我提到的Chrome驱动程序路径是可以从节点计算机访问的共享路径。 Chrome版本:58.0.3029.110 Chrome驱动程序版本:2.9 集线器和节点都是远程计算机。 下面是使用的代码: 下面是控制台消息: 问题答案: 这是您问题的答案: 当您使用以下命令启动 Selenium Grid

  • 我正在学习Appium,我无法使用以下功能创建远程会话。虽然>功能在模拟设备上的Appium server本身中工作 线程“main”org.openqa.selenium.sessionNotCreatedException中出现异常:无法创建新的远程会话。原始错误:127.0.0.0.1生成信息:版本:“3.141.59”,修订版:“E82BE7D358”,时间:“2018-11-14T08:

  • 我想通过使用selenium网格在两个设备上做并行执行。从建立JSON开始,每台设备都运行Appium Desktop。 与Appium建立的连接: ->它给我在创建Driver实例时的错误。