Selenium+ChromeDriverをWinodwsServer2012R2で動かせない

875 views
Skip to first unread message

山田大介

unread,
Feb 21, 2016, 8:24:18 PM2/21/16
to 日本Seleniumユーザーコミュニティ
初めまして、山田大介と申します。

先日のSelenium勉強会より参加させていただいております。
先週のチャットも参加したかったのですが、別件のアジャイル関係の勉強会と重なり参加できませんでした。。。

簡単に自己紹介させていただきますと、某金融系企業に入りこみ業務系アプリケーションの開発・保守などをメインにしており、これよりテスト自動化の推進をしていこうと思っているフリーランスです。
今後も情報共有等させていただければと思いますので、よろしくお願いいたします。


さっそく質問させていただきたいのですが、WindowsServer上でSeleniumを夜間実行させてらっしゃる方、いらっしゃらないでしょうか?
もともと今扱っているアプリケーションが対象としているブラウザがIE限定ということもあり、(単純に空きマシン不足で)とりあえず空いていたWindowsServerにIEを使用して夜間に自動実行させていたのですが、やはり(?)IE11が安定動作してくれないので一部テストに限りChromeでテストしようかと思って動作させてみたところ、次のような事象が発生しました。

・input.text等にsendkeysしても値が入らない。
・特にSeleniumがエラーを発することもなく進む。
 ⇒つまりエレメントを見つけることはできている。
・同じテストコードをWindows7(32bit)で実行すると問題なく動作する。

エラーが発生しないので原因究明が難しく、もし同じ事象を見たことがある方がいらっしゃれば情報交換させていただきたいと思います。
サーバー側が64bitマシンということもあり、そこに問題があるのかとも思っているのですが。。。

環境は以下の通りです。
・WindowsServer2012R2(アプリケーションサーバー)
・WindowsServer2012R2(上記とは物理的に別。Seleniumを動かすサーバー)
・Chrome 48.0.2564.116 m(64bit)
・Selenium 2.52.0
・ChromeDriver 2.21

なお、CIとしてはJenkinsを使用しており、Seleniumが動くサーバーがノードとなっています。
Windows7PCをノードとして、Jenkinsから起動させると問題なく動作します。
(この結果、CI設定・環境関係の問題ではないと考えています。)

他、何か情報として必要なものがありましたら、記載いたします。

以上、よろしくお願いいたします。

伊藤望

unread,
Feb 27, 2016, 2:09:27 AM2/27/16
to 日本Seleniumユーザーコミュニティ
伊藤です。
はじめまして、山田さん。よろしくお願いします。

Chromeだけできないというのはあまり聞いたことがないのですが、
Windows Serverではユーザーがログオンしていない状態でテスト実行しているとか、
Jenkinsテスト実行で使用しているユーザーがGUIにアクセスできないと、
そういうことが原因のように感じました。
(Windows7PCではユーザーがログオンした状態でテスト実行している?)

ためしにWindows Serverにリモートデスクトップでログオンした状態で、
Seleniumを直接起動、もしくはJenkinsからテスト実行した場合、
うまくいったりしないでしょうか?

山田大介

unread,
Feb 27, 2016, 3:00:43 AM2/27/16
to 日本Seleniumユーザーコミュニティ
伊藤さん
ご返信ありがとうございます。

WindowsServerはログインした状態にしており、
リモートデスクトップでモニタリングしていても、いなくても同じ状況になりました。
起動はJenkinsから行っています。

最初の投稿には記載していなかったのですが、
動かしているのは業務系アプリケーションで、
ログイン画面 - メニュー画面 - 各機能画面 ... という構成なのですが。

ログイン画面:(ユーザーID、パスワードの2項目+ボタン)
 ・ユーザーID、パスワード項目に対して値設定(sendkeys)はできる。
 ・メニュー画面へ遷移できる。

メニュー画面:(入力項目なし。各機能へのリンクと、ログアウトボタン)
 ・各機能へ遷移できる。

各機能:
 ・入力項目に値設定が何故か出来ないまま、次画面に遷移しようとする。
 ・必須入力エラーになって次画面への遷移が行えない。
という状況になります。

ログイン画面では動くというところに光があるのではないかと思い調査はしていたのですが、
そもそもこのプロジェクトではSeleniumをベースとしてテストフレームワークを作成しており、
画面項目に対して値を設定する。という処理は完全に共通化されているので、
特に明確な違いがないのと、他環境(WinServer+IE、Windows7+Chrome)では
動作するため、全く意味が分からず。。。です。


とりあえず現状では夜間実行に耐えられないので、私のPCを起動しっぱなしにして
Windows7+IE or Chrome で実行するようにしています。

もしかしたら特別な状況なのかもしれないですね。
Chromeは何度かインストールしなおしているのですが、
もう一度再インストールしてみたり、FireFoxではどうなるか等見てみます。

結果はまた月曜日に投稿させていただきます。


2016年2月27日土曜日 16時09分27秒 UTC+9 伊藤望:

伊藤望

unread,
Feb 27, 2016, 3:24:21 AM2/27/16
to 日本Seleniumユーザーコミュニティ
山田さん

windows Serverでも、ログイン画面では動くのですね。

それですと、
タイミングの問題とか、そのページのHTMLやinput要素が他と少し違うとか、
そういった原因かもしれないと思いました。

- 試しに待ち処理を入れてみる
- WebDriverからのJavaScript呼び出しで、テキストにvalueを直接セットしてみる

なども合わせて試してみるとよいかもしれません。

山田大介

unread,
Feb 29, 2016, 4:50:17 AM2/29/16
to 日本Seleniumユーザーコミュニティ
伊藤さん

本日試してみようと思ったのですが、
急きょ別件作業がふってきてしまい試せませんでした。

アドバイスにありました「待ち処理」で、少し思い当たる点があります。
今作成されているテストコードでは、ログイン画面表示後に
テスト実行用のDBデータをインポートする処理が挟まるので、
操作開始前に時間がかかります。
他画面ではログイン画面ほど待っていないので、そこに差があるのかもしれません。

相手がWindowsServerということで、自宅で確認できず。
しばらく試験できそうにないのですが、
どこかで確認できましたら、また連絡させていただきます。

アドバイス、ありがとうございます。



2016年2月27日土曜日 17時24分21秒 UTC+9 伊藤望:

伊藤望

unread,
Feb 29, 2016, 6:18:41 PM2/29/16
to 日本Seleniumユーザーコミュニティ
山田さん

了解しました。また何かあれば教えてください。
Reply all
Reply to author
Forward
0 new messages