Java 如何独立运行selenium服务器?
我正在尝试运行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
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服务器
“/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();
@看
注意,对于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