Jenkins + Selenium IDEで自動実行させたいものがあり、SeleniumからjQueryを使ってフォームのチェックを選択するようにしていました。
Seleniumは「getEval」コマンドを使うことでJavascriptを実行でき、一旦下記のようにして「$」を設定してやれば、その後は普通にjQueryを使うようにgetEval内でjQueryコマンドを発行できます。
$ = this.page().getCurrentWindow().jQuery
この辺のことは
SeleniumでJavaScriptを使う方法いろいろ(変数・関数などの利用) - colori
https://colo-ri.jp/develop/2008/04/seleniumjavascript.html
が大変参考になります。
で、これでjQueryを使ってフォームの該当チェックボックスの選択をしたりしていたのですが、ちょっと条件を変えたいことがあり、変更していたところ突然動かなくなってしまいました。
getEval内のJavaScriptにエラーがあったのですが、それを修正しても動かないのです。
それで条件を単純に変えてみたり、元の条件に戻したりやってみたのですが、なかなかエラーが解消されず…
で、他のPCで同じようなことをテストで試してみたところ、さっくりと通ることがわかりました。
もしやと思い、一旦Selenium IDEを落として、再度同じテストケースを読み込んで試したところ、なんの問題もなく通りました。
どうもgetEval使ってJavaScriptのエラーが一旦起きると、再度テストケースを走らせても内部の状況がクリアされずに走るため、テストケースの修正をしてもまたエラーが起きてしまうようです。
なので、Selenium IDEでgetEval使ってJavaScriptを動かしているとき、JavaScriptでエラーが出た場合、テストケースを修正したら、一旦Seleniumを再起動して試す必要があるようです。