業務の備忘録
---------------------------------------
SikuliとJenkinsを使った
ソフトの自動試験 (Windows環境)
これを実現するにあたり 難しかったのが
JenkinsからのSikuliの実行方法でした
何も考えず
フツーにJenkins上でSikuliの実行を記述すると
[error] Location: outside any screen (15549760, 15549760) - subsequent actions might not work as expected
のようなエラーが出てしまい
うまいこと動作してくれません・・・
で 海外のサイト等 いろいろ調べてみたら
このエラーの意味と解決法が分かりました
----------------------------
先に 解決法からいきます
手段は2つあって
① タスクスケジューラを仲介させる
② Jenkinsを サービスによる自動起動ではなく
手動で起動させる
①については
こちらのサイト に詳しく書かれています
②は 以下の通り
(1) 「コントロールパネル」 → 「管理ツール」 → 「サービス」 にて
Jenkinsのスタートアップの種類を 「手動」か「無効」に設定する
(2) コマンドプロンプトで Jenkinsのインストールフォルダにて
java -jar jenkins.war
(※) Jenkinsを自動起動させたいなら
(2)をバッチにして スタートアップに登録すればOK
です
----------------------------------------------
で
元の方法でエラーが出ていた理由ですが
Jenkinsは デフォルトの状態だと
Windowsの「サービス」により自動起動されるよう
設定されています
この「サービス」というのがクセ者で
ユーザーがログインしていない状態でも
動作することを念頭に置かれた機能であり
ユーザーのセッションとは別の
「サービス」専用のセッションで動作するので
Sikuliのような GUIの絡むアプリケーションを
「サービス」で起動させると
ユーザーの見ている画面とは別の
「サービス」専用の裏画面で動作してしまうのだそうです
------------------------------
Sikuliに関わらずGUIの絡むものなら全てに当てはまることなので
覚えておくとよさそうですね