Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何独立运行selenium服务器?_Java_Selenium_Jar_Server - Fatal编程技术网

Java 如何独立运行selenium服务器?

Java 如何独立运行selenium服务器?,java,selenium,jar,server,Java,Selenium,Jar,Server,我正在尝试运行selenium服务器,但出现错误: rond-macpro:selenium eladb$ java -Dwebdriver.chrome.driver=./chromedriver -r selenium-server-standalone-2.44.0.jar Unrecognized option: -r Error: Could not create the Java Virtual Machine. Error: A fatal exception has occur

我正在尝试运行selenium服务器,但出现错误:

rond-macpro:selenium eladb$  java -Dwebdriver.chrome.driver=./chromedriver -r selenium-server-standalone-2.44.0.jar
Unrecognized option: -r
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
没有-r(到底是什么?)

我应该如何启动服务器

如何设置要侦听的非默认端口

这两篇文章:-在语法上相互矛盾。我想

java -jar seleniumjar.jar -Dwebdriver.chrome.driver=./chromedriver 
如果要指定端口,请执行以下操作

java -jar seleniumjar.version.jar -Dwebdriver.chrome.driver=./chromedriver -port 4545
从3.8.1开始,不再需要指定驱动程序:

java -jar seleniumjar.jar

独立运行:

表单主类
org.openqa.grid.selenium.GridLauncher

根据
GridRole
类-Selenium服务器可以在以下角色之一中运行:

  • 非网格
    [如果省略-role选项,服务器将独立运行,而不是网格的一部分]>
  • 集线器
    [作为硒电网的集线器]
  • 节点
    [作为Selenium网格的节点]

  • 非网格

    • RC
      -IP:Port/selenium服务器
    远程控制()要求在执行测试脚本之前启动服务器。RC服务器将Selenium core(JavaScript)注入浏览器。核心(守护进程)通过测试脚本从服务器接收命令,并在浏览器中执行这些命令,然后将结果发送到程序。但无法处理移动鼠标光标和移动执行

    Java客户端驱动程序: 客户端将浏览器配置为使用Selenium服务器作为HTTP代理,并通过
    “/Selenium Server/RemoteRunner.html?sessionId=1234”
    将浏览器命令传递给服务器,客户端可以通过HTTP向Selenium服务器发送驱动程序命令请求,如下所示:

    代码和请求:RC服务器持续运行。我们创建一个守护进程,并从中与浏览器通信

    • RC
      接口)
      -IP:Port/wd/hub/static/resource/hub.html
    代码&:


    :[
    -IP:Port/grid/console
    ]

    集线器
    作为独立服务器运行的网格集线器:
    集线器是一个中心点,它在多个节点计算机上分发测试,这些节点计算机被注册以并行执行

    节点[RC]必须通过此URL-
    IP:Port//grid/register
    向集线器发布请求,以便向集线器注册

    作为网格节点运行:
    浏览器实例信息:browserName=chrome,version=53.0,maxinstance=1,platform=WINDOWS命令行参数,值为-Dproperty=value-D=(如果值是包含空格的字符串,则必须将该字符串括在双引号中)

    使用JSON配置文件注册节点

    D:\SeleniumJar\u Source>java-jar selenium-server-standalone-2.53.0.jar-role节点
    -枢纽http://127.0.0.1:4454/grid/register 
    -nodeConfig registerNode.json
    -Dwebdriver.chrome.driver=“D:\\Drivers\\chromedrivers\\2.24\\chromedriver.exe”
    -Dwebdriver.ie.driver=“D:\\Drivers\\IEDrivers\\iedriver64\\IEDriverServer.exe”
    -Dwebdriver.firefox.logfile=“D:\\FirefoxInstance.txt”
    -Dwebdriver.chrome.logfile=“D:\\ChromeInstance.txt”
    -Dwebdriver.ie.logfile=“D:\\IEInstance.txt”
    

    WebDriver在开始执行之前不需要任何服务器启动。您可以看到,它的作用与普通Java库一样:它是完全自包含的,在使用它之前,您不需要记得启动任何其他进程或运行任何安装程序

    WebDriver=newfirefoxdriver();
    

    @看


    我想在@Saifur answer中添加更多的网络驱动程序。


    注意,对于IE,您运行32位版本的驱动程序。它是有效的。我创建了一个bat文件,并将其放在selenium文件夹中,在该文件夹中我还放置了驱动程序。

    应该首先指定驱动程序部分,然后指定selenium jar:

    java-Dwebdriver.chrome.driver=./chromedriver-jar selenium-server-standalone-3.141.59.jar


    这适用于Ubuntu 18.04

    为什么cmd不包含主类路径?@EladBenda我很抱歉。请澄清一下,对于java,一般来说,如果jar只包含一个主类,我们不必在
    java-jarcmd
    ?噢,明白了。这就是
    seleniumHQ
    实际建议的运行方式。我从来都不想深入研究它是如何工作的internally@johnlowvale您需要在服务器启动后注册节点。但请注意,此时不再维护ghost驱动程序和PhantomJs。***phantomjs--webdriver=8080--webdriver selenium grid hub=***一个问题:为什么需要在这里指定chrome驱动程序?
    java -jar seleniumjar.jar
    
    java -jar selenium-server-standalone-2.44.0.jar -port port_no
    
    D:\> java -jar selenium-server-standalone-*.jar -host 127.0.0.1 -port 4444
    
    Selenium daemon = new DefaultSelenium("172.16.20.156", 4464, "*firefox", "https://www.google.co.in/");
    daemon.start(); -- daemon.stop(); (OR)
    setUp("http://www.google.com/", "*firefox", 4454); selenium.windowMaximize();
    
    GET:http://localhost:4454/selenium-server/driver/?cmd=open&1=https://www.google.co.in/&sessionId=9b1a232d9478497892e09cfc93cf665a
    
    WebDriver nativeDriver = new RemoteWebDriver(new URL("http://127.0.0.1:4454/wd/hub"), DesiredCapabilities.firefox());
    
    Requests:
    http://127.0.0.1:4454/wd/hub/session
        /123...[SESSIONID]
            /url
            { "url" : "http://demo.opencart.com/index.php?route=account/login" }
    
    
            /execute
            { "script" : "document.querySelectorAll( arguments[0] )[0].click();", "args" : ['input.btn'] }
    
    java -jar selenium-server-standalone-2.53.0.jar -host 127.0.0.1 -port 4454 -role hub -log "D:\\HUB_Log.txt"
    
    java -jar selenium-server-standalone-2.53.0.jar -host 127.0.0.1 -port 4458 -role node 
    -hub http://127.0.0.1:4454/grid/register -hubHost 127.0.0.1 -hubPort 4454 
    -browser browserName=firefox,version=24.0, maxinstance=1,platform=WINDOWS7 
    -browser  browserName=chrome,version=53.0,platform=WINDOWS 
    -Dwebdriver.chrome.driver=D:\\Drivers\\chromedrivers\\2.24\\chromedriver.exe
    
    java   -Dwebdriver.ie.driver=./IEDriverServer32.exe -Dwebdriver.chrome.driver=./chromedriver.exe -jar selenium.jar -port 4545