Selenium Gridでhubとnodeを立ち上げる

selenium-server(hub)を立てる

  • 以下URLにアクセス
    • http://docs.seleniumhq.org/download/
  • selenium-server-standaloneのjarファイルをDL
  • jarファイルのあるディレクトリに移動してjarファイル実行
$ java -jar selenium-server-standalone-3.14.0.jar -role hub

21:56:03.742 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revision: 'aacccce0'
21:56:03.747 INFO [GridLauncherV3$2.launch] - Launching Selenium Grid hub on port 4444
2018-10-21 21:56:04.255:INFO::main: Logging initialized @1415ms to org.seleniumhq.jetty9.util.log.StdErrLog
21:56:04.651 INFO [Hub.start] - Selenium Grid hub is up and running
21:56:04.653 INFO [Hub.start] - Nodes should register to http://192.168.0.10:4444/grid/register/
21:56:04.653 INFO [Hub.start] - Clients should connect to http://192.168.0.10:4444/wd/hub
  • 以下にアクセス
    • http://192.168.0.10:4444/grid/console
  • Grid consoleの画面が開く(この時点では何も表示されない)

Nodeの立て方

  • 上記のjarファイルと同じディレクトリにnode.jsonを作成
{
  "capabilities":
      [
        {
          "browserName": "firefox",
          "maxInstances": 1,
          "version": "36.0",
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "chrome",
          "maxInstances": 1,
          "version": "42.0",
          "seleniumProtocol": "WebDriver"
        },
        {
          "platform": "WINDOWS",
          "browserName": "internet explorer",
          "maxInstances": 1,
          "version": "11",
          "seleniumProtocol": "WebDriver"
        }
      ],
  "configuration":
  {
    "hub": "http://192.168.0.10:4444/grid/register"
  }
}
  • firefoxはドライバなしでも実行できるが、chromeやIEはドライバが必要
  • jarファイル、node.jsonと同じディレクトリにドライバを配置
  • jarファイルを実行
$ java -jar selenium-server-standalone-3.14.0.jar -role node -nodeConfig node.json -Dwebdriver.chrome.driver=chromedriver.exe
  • エラーでてもうた…
Exception in thread "main" com.beust.jcommander.ParameterException: Was passed main parameter '-Dwebdriver.chrome.driver=chromedriver.exe' but no main parameter was defined in your arg class
    at com.beust.jcommander.JCommander.initMainParameterValue(JCommander.java:936)
...
  • macだから「.exe」いらないかも

$ java -jar selenium-server-standalone-3.14.0.jar -role node -nodeConfig node.json -Dwebdriver.chrome.driver=chromedriver
  • 変わらなかった…

Nodeの立て方(公式Wikiを参考に)

$ java -jar selenium-server-standalone-3.14.0.jar -role node  -hub http://localhost:4444/grid/register

# 中略
22:33:24.693 INFO [SelfRegisteringRemote.registerToHub] - The node is registered to the hub and ready to use
  • お、今度は成功したようだ
  • Grid Consoleの画面をリロードすると、ブラウザのアイコンが表示される

今回はここまで。
次はテストスクリプトを実行してみる。

参考サイト

  • http://www.techscore.com/blog/2015/05/10/selenium-grid/
  • https://github.com/SeleniumHQ/selenium/wiki/Grid2

おしまい。

SNSでもご購読できます。

コメントを残す

*