如何运行 selenium-server-standalone?

新手上路,请多包涵

我正在尝试运行 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 (它到底是什么?)

 rond-macpro:selenium eladb$  java -Dwebdriver.chrome.driver=./chromedriver  selenium-server-standalone-2.44.0.jar
Error: Could not find or load main class selenium-server-standalone-2.44.0.jar

我应该如何启动服务器?

如何设置一个非默认端口来监听?

这两个帖子: 1 2 - 在语法方面存在矛盾。我认为。

原文由 Elad Benda 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 585
2 个回答
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

原文由 Saifur 发布,翻译遵循 CC BY-SA 3.0 许可协议

运行独立的 Selenium 服务器

Form Jar Source Main-Class org.openqa.grid.selenium.GridLauncher

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

  1. NOT_GRID [如果省略 -role 选项,服务器独立运行而不是网格的一部分] >
  2. HUB [作为硒网格的中心]
  3. NODE [作为硒网格的节点]
 D:\> java -jar selenium-server-standalone-*.jar -host 127.0.0.1 -port 4444


非网格

[Selenium](https://en.wikipedia.org/wiki/Selenium(software)) Remote Control ( RC ) 需要在执行测试脚本之前启动服务器。_ RC 服务器将 Selenium 核心 (JavaScript) 注入浏览器。核心(守护进程)通过您的测试脚本从服务器接收命令并在浏览器中执行它们,然后将结果发送给您的程序。但无法处理移动鼠标光标和移动执行。

Java Client Driver: Client-配置你的浏览器使用Selenium Server作为HTTP代理,并通过 "/selenium-server/RemoteRunner.html?sessionId=1234" 将浏览器命令传递给服务器,客户端可以通过HTTP向selenium服务器发送Driver Command请求,如下:

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

 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

  • RC ( WebDriver interface) - IP:Port/wd/hub/static/resource/hub.html :

_RWD 代码和 请求_:

 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'] }


网格:[ - IP:Port/grid/console ]

HUB Grid HUB Running as a standalone server: Hub 是一个中心点,它在多个节点机器上分发测试,这些节点机器注册到它以并行执行。

 java -jar selenium-server-standalone-2.53.0.jar -host 127.0.0.1 -port 4454 -role hub -log "D:\\HUB_Log.txt"

节点 [RC] 必须通过此 URL - IP:Port//grid/register 向 HUB 发布请求才能注册。

 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

Running as a grid node: 浏览器实例信息:browserName=chrome, version=53.0, maxinstance=1, platform=WINDOWS Command Line parameters with System Property values -Dproperty=value -D chrome = driverAddress (If value is a string that contains空格,必须用双引号将字符串括起来)

使用 JSON 配置文件 registerNode.json 进行节点注册。

 D:\SeleniumJar_Source>java -jar selenium-server-standalone-2.53.0.jar -role node
-hub 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 在开始执行之前不需要任何服务器启动。您可以看到 WebDriver 的行为就像一个普通的 Java 库一样:它是完全独立的,您不需要记住在使用它之前启动任何额外的进程或运行任何安装程序。

 WebDriver driver = new FirefoxDriver();


硒服务器

@看

原文由 Yash 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题