はじめに
- Jenkins+Selenium(+Capybara, etc...)などを使って自動テストができる環境を持っている方は見ておいてください
- しかも、構築して暫くはうにっとブラウザが立ち上がるところが見えていたがある日ぱたりと止まって見えなくなった方
- しかも、どこで失敗してるのか実際に見てみたいのに表示されなくて困ってここを見た方
- しかも、コマンドプロンプトから実行すると成功するのにJenkinsから実行すると失敗してワケワカメな方
はまったところ
現象
- 私の構築している環境での問題はWindows8.1 InternetExplorer11のテストがjenkinsから実行したら失敗
するというものでした
調査・解析
- Jenkinsを介さずコマンドプロンプトで実行 ▶︎ 成功
- テスト自体の問題はなさそう
- 同じように構築したWindows8 InternetExplorer10の環境でJenkinsを介して実行 ▶︎ 成功
- Jenkinsから実行が問題とは言い切れなさそう。OS/ブラウザのバージョンが非対応とか?
- 実際、SeleniumのWikiにもInternetExplorer11はサポートしたよとは書かれていない
- Windows8.1 InternetExplorer11の環境下でJenkinsを介して実行 ▶︎ 失敗
- テキスト入力(fill_in)をすると「 No connection could be made because the target machine actively refused it. - connect(2) (Errno::ECONNREFUSED)」とエラーが出てた
フォアグラウンドでブラウザを立ち上げるようにする方法
- 至って簡単なことでしたが、
java -jar jenkins.war
を実行するときにコマンドプロンプトから実行する - 私はタスクスケジューラでOS起動時に実行するようにしていましたが、それだとJenkinsのお仕事もバックグラウンドに持ってかれてしまうのだろうと
- 自分で作り出した特異なケースなので、なかなかググっても答えにありつけなかったはずですm(_ _)m
- 対応後テストを回してみると成功しました
- 追ってませんが、テキスト入力できなかったのはInternetExplorer11の特有な問題なのかもしれないです
- Firefox3.X系のときにJavascriptでブロックされるとかなんとかで同様な現象が起きていたのでセキュリティ的な何かが絡んでいるのかもしれません
参考にしたサイト
~ただの宣伝~
- 全国のSeleniumer必読
- Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください