LoginSignup
32
31

More than 5 years have passed since last update.

Selenium WebDriver でMacとWindows共通に動く環境を作る(ChromeDriverをServerで)

Last updated at Posted at 2016-07-13

MacとWindows両方で、同じコードが通るSelenium WebDriverの動作環境を作る。
WindowsだけだとServer立てたりしなくても、chromedriver.exeダウンロードしてきてコード置いてるのと同じフォルダに置いてるだけでよかったんだけど、Macだと面倒っぽいので、どちらもServer立てて。

他所から内容もらってきてるだけなんだけど、両方まとめてるところがないので。

Macの場合

こちらの通り。

サーバ、chromedriverのインストール

$ brew update
$ brew install selenium-server-standalone
$ brew install chromedriver

サーバ起動

$ /usr/local/bin/selenium-server -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver

shファイルにするなら、

selenium_server.sh
#!/bin/sh

/usr/local/bin/selenium-server -Dwebdriver.chrome.bin="/Applications/Google Chrome.app" -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver &

Windowsの場合

こちらの通り。

サーバ、chromedriverのインストール

  1. DLページでダウンロード
  2. DLした「selenium-server-standalone-X.XX.X.jar」をCドライブ直下に配置
  3. ここから最新バージョンのchromedriver_win32.zipをダウンロード(win64はない)。
  4. Cドライブ直下に"chromedriver"フォルダを作り、解凍したchromedriver.exeを設置

サーバ起動

C:\XX\XX> java -jar C:\selenium-server-standalone-X.XX.X.jar -Dwebdriver.chrome.driver=C:\chromedriver\chromedriver.exe

batファイルにするなら、

selenium_server.bat
start java -jar C:\selenium-server-standalone-X.XX.X.jar -Dwebdriver.chrome.driver=C:\chromedriver\chromedriver.exe

Web Driverにつなぐコード

コードをおいたフォルダかグローバル(-gオプションをつける)に

$npm install selenium-webdriver

でnodeのモジュールインストールして、

selenium-test.js
var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .usingServer('http://localhost:4444/wd/hub')
    .build();

//後はむにゃむにゃ...他の記事など参考に

これで同じコードがWindows/Mac両方で動きます。

32
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
31