前提・実現したいこと
会社プロダクトで人力で行っているシナリオテストの工数・負荷を削減したく
Selenium×Node.jsでテスト自動化を行おうとしていますが、調査の段階で詰まってしまっています。。。
環境
- Mac OS10.12.6
- Node 8.11.1
- Selenium Server 3.12.0
- Selenium WebDriver 4.0.0
- ChromeDriver 2.38
やったこと
1. Node.js のインストール
公式サイトから
2. selenium-webdriverのインストール
npm経由でインストール
lang
1$ npm install selenium-webdriver
3. selenium-serverのインストール
Homebrew経由でインストール
lang
1$ brew install selenium-server-standalone
4. Chromeドライバのインストール
ChromeDriver - WebDriver for Chrome
→ドライバをダウンロードしたらファイルを移動
lang
1$ mv /Users/username/Downloads/chromedriver ./ 2$ ls -la 3total 31920 4drwxr-xr-x 7 username staff 238 5 24 17:42 . 5drwxr-xr-x+ 55 username staff 1870 5 24 17:42 .. 6-rwxr-xr-x@ 1 username staff 11917200 4 20 16:39 chromedriver 7drwxr-xr-x 41 username staff 1394 5 24 16:45 node_modules 8-rw-r--r-- 1 username staff 9367 5 24 16:45 package-lock.json
5. Selenium Server の起動
バックグラウンドで起動
lang
1$ selenium-server -port 4444 & 2[1] 33415 3C02SY1XFGTFJ:selenium username$ 18:04:14.512 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.11.0', revision: 'e59cfb3' 418:04:14.513 INFO [GridLauncherV3$1.launch] - Launching a standalone Selenium Server on port 4444 52018-05-24 18:04:14.624:INFO::main: Logging initialized @441ms to org.seleniumhq.jetty9.util.log.StdErrLog 618:04:14.882 INFO [SeleniumServer.boot] - Welcome to Selenium for Workgroups.... 718:04:14.882 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
発生している問題・エラーメッセージ
サンプルとなるテストコードを書きます。
lang
1$ vim sample.js
lang
1// WebDriver の初期化 2const webdriver = require('selenium-webdriver'); 3// ブラウザの選択 4const browser = new webdriver.Builder().forBrowser('chrome').build(); 5 6// ページタイトルの取得 7browser.get('http://example.selenium.jp/reserveApp/').then(()=>{ 8 browser.getTitle().then(title => console.log('ページタイトル:',title)) 9}); 10 11// ブラウザの終了 12browser.close(); 13browser.quit();
上記コードを実行させると、、、
lang
1$ node sample.js 2(node:13216) UnhandledPromiseRejectionWarning: NoSuchSessionError: no such session 3 (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.12.6 x86_64) 4 at Object.checkLegacyResponse (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/error.js:585:15) 5 at parseHttpResponse (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/http.js:533:13) 6 at Executor.execute (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/http.js:468:26) 7 at <anonymous> 8 at process._tickCallback (internal/process/next_tick.js:188:7) 9(node:13216) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) 10(node:13216) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
とエラーになります。
エラーメッセージ「NoSuchSessionError: no such session」等でググると記事は出てくるのですが、
本事象の解決とは至っていません。
以上です
お手数ですが皆様のお知恵を拝借できれば幸いです。宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。