とっちゃん@nyanco! です。
今回はSelenium IDEをコマンドラインで実行できるようにする方法がややこし過ぎて現状を頭の整理のためにまとめました【Mac編】です。
ちなみにまだコマンドラインで実行できるところまでできてませんにゃ〜
必要なもの
Selenium IDEをコマンドラインで動かすために必要なものリストです。公式ページより。
コマンドラインに慣れてないのもありますが、ほんとにほんとにほんとにややこしいです。
Selenium IDE
主役。これがなくては始まりません。
ブラウザ(Chrome、FireFox)の拡張機能なので一番導入が簡単です。
Homebrew
MacOSのソフトウェア管理システム。
後述の「nodebrew」をインストールする時に使用します。
▼「Homebrew」についての記事はこちら。
インストールできたか確認
無事にインストールできたかの確認は、バージョン確認のコマンドでできます。
brew -v
と入力して、
Homebrew 3.1.12
Homebrew/homebrew-core (git revision e1b8998e2e; last commit 2021-06-20)
のように表示されたらインストール確認OKです!
以下も同様に確認していきます。
nodebrew
後述する「Node.js」のバージョン管理ツール。
「Node.js(npm)」をインストールする時に使用します。
インストールは「Homebrew」コマンドである下記でできます。
brew install nodebrew
インストールできたか確認
nodebrew -v
Node.js
.jsなので実質はJavaScript。
本来はクライアント(ローカル)側で動くのがJavaScriptですが、サーバー側で動くのが「Node.js」で、サーバーサイドJavaScriptとも呼ばれてるそう。
インストールは「nodebrew」コマンドで、
nodebrew install-binary v16.3.0
でインストールできます。
末尾の数字はNode.jsのバージョンですが、インストールできるバージョンの確認方法は、
nodebrew ls-remote
というコマンドでズラッと表示されます。
基本、最新バージョンで良さそうですにゃ〜
インストールできたか確認
node -v
npm(node package manager)
「Node.jp」をインストールするとセットでついてくる「Node.jp」のパッケージマネージャー。
ここで言うパッケージとは、Node.jpの予め用意されている便利な機能をまとめたものですにゃ〜
後述する「Node.js」のパッケージ「selenium-side-runner」と「ブラウザードライバー」をインストールする時に使用します。
インストールできたか確認
npm -v
ブラウザードライバー
使用するブラウザー毎にドライバーのインストールが必要です。
ドライバーは「Node.js」のパッケージとして「npm」でインストールしますにゃ〜
Google Chrome
npm install -g chromedriver
Microsoft Edge
npm install -g edgedriver
FireFox
npm install -g geckodriver
Safari
サファリは最新バージョンに同梱されているとのことです。
インストール確認方法
Chromeドライバーしか確認してませんが、下記のように「ドライバー名 -v」で確認できるかと。
chromedriver -v
selenium-side-runner
Selenium IDEをコマンドラインで動かすための「Node.js」のパッケージ。
今回したいことの根幹になるパッケージですが…なぜかこちらがうまくインストールできず頓挫しております。
とりあえず、インストールは下記コードから。
npm install -g selenium-side-runner
インストールできたか確認
selenium-side-runner -V
筆者はエラーでインストールできず…
「npm WARN ERESOLVE overriding peer dependency」というエラーからズラズラと警告っぽいメッセージが出てインストールできずにおります。
Last login: Sun Jun 20 15:12:37 on tys00
xxxiMac:~ xxx$ npm install -g selenium-side-runner
npm WARN ERESOLVE overriding peer dependency
npm WARN Found: selenium-webdriver@4.0.0-alpha.4
npm WARN node_modules/selenium-side-runner/node_modules/selenium-webdriver
npm WARN selenium-webdriver@"4.0.0-alpha.4" from selenium-side-runner@3.17.0
npm WARN node_modules/selenium-side-runner
npm WARN selenium-side-runner@"*" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer selenium-webdriver@"4.0.0-alpha.1" from jest-environment-selenium@2.1.2
npm WARN node_modules/selenium-side-runner/node_modules/jest-environment-selenium
npm WARN jest-environment-selenium@"2.1.2" from selenium-side-runner@3.17.0
npm WARN node_modules/selenium-side-runner
npm notice
npm notice New minor version of npm available! 7.15.1 -> 7.18.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.18.1
npm notice Run npm install -g npm@7.18.1 to update!
npm notice
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: node-notifier@5.4.5
npm ERR! node_modules/selenium-side-runner/node_modules/node-notifier
npm ERR! node-notifier@"^5.4.2" from @jest/reporters@24.9.0
npm ERR! node_modules/selenium-side-runner/node_modules/jest-cli/node_modules/@jest/reporters
npm ERR! @jest/reporters@"^24.9.0" from @jest/core@24.9.0
npm ERR! node_modules/selenium-side-runner/node_modules/jest-cli/node_modules/@jest/core
npm ERR! @jest/core@"^24.7.1" from jest-cli@24.7.1
npm ERR! node_modules/selenium-side-runner/node_modules/jest-cli
npm ERR! jest-cli@"24.7.1" from selenium-side-runner@3.17.0
npm ERR! node_modules/selenium-side-runner
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional node-notifier@"^8.0.1 || ^9.0.0" from jest-cli@27.0.4
npm ERR! node_modules/selenium-side-runner/node_modules/jest/node_modules/jest-cli
npm ERR! jest-cli@"^27.0.4" from jest@27.0.4
npm ERR! node_modules/selenium-side-runner/node_modules/jest
npm ERR! peer jest@">=23.0.0" from jest-environment-selenium@2.1.2
npm ERR! node_modules/selenium-side-runner/node_modules/jest-environment-selenium
npm ERR! jest-environment-selenium@"2.1.2" from selenium-side-runner@3.17.0
npm ERR! node_modules/selenium-side-runner
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /Users/xxx/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xxx/.npm/_logs/2021-06-20T06_54_35_228Z-debug.log
エラーメッセージを解読したら解決の糸口が見えそうですが、疲れたので今回は一旦ここまで…
参考にさせていただいたサイト
本記事がどなたかの参考になれば幸いです。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント