GUIを自動で操作するフリーツール:SikuliX では、ポップアップウィンドウを使用することができます。これは、ユーザーに通知したり、入力を促すことができるものです。
本記事では、そんなポップアップウィンドウの中でも自動で消えるポップアップウィンドウについて、まとめます。
なお、以下の例では、英語で表示させることを前提としています。日本語で文字列を表示する場合は、ダブルコーテーションで囲んだだけでは文字化けしてしまう問題があります。そのため、「u”日本語文字列”」のように「u」を記載してUTF-8で表示させるようにしてください。
自動的に消えるポップアップウィンドウの表示
基本的には、自動で消えないポップアップウィンドウの構文の頭に「Do.」を付けます。そして、1番目の引数に「表示したい文言」を、2番目の引数に「消えるまでの時間の引数」を記載すれば良いです。「Do.」を付けたけど「消えるまでの時間の引数」がないという場合は、自動で消えないポップアップウィンドウのようにユーザー操作をしない限り表示され続けます。
また、ここで紹介する全てのポップアップウィンドウに共通して、自動で消えるポップアップウィンドウのタイトルは変更できず、「Sikuli X」で固定になるようです。
ポップアップウィンドウによって返される値の取得
ポップアップウィンドウによって返される値を得たい場合は、以下のように記載すると良いでしょう。変数:ans に値が代入されます。
コードサンプル:
ans = Do.popup(“Process is finished.”, 1)
通常のポップアップウィンドウ
Do.popup(“本文文字列”, “ウィンドウタイトル”, 消えるまでの秒数)を使用します。ただし、ウィンドウタイトルは省略することができます。
コードサンプル:
Do.popup(“Process is finished.”, 5)
実行結果:
本文:
Process is finished.ウィンドウに表示されるオブジェクト:
[ OK ]ボタン消えるまでの時間:
5秒
※ウィンドウ内にある [ OK ] ボタンを押下することで、ポップアップウィンドウを閉じることが可能です。
※[ OK ] ボタン押下をする/しないに関わらず、返される値は、「True」になります。
エラー用のポップアップウィンドウ
Do.popError(“本文文字列”, “ウィンドウタイトル”, 消えるまでの秒数)を使用します。ただし、ウィンドウタイトルは省略することができます。
コードサンプル:
Do.popError(“This is error message.”, 10)
実行結果:
本文:
This is error message.ウィンドウに表示されるオブジェクト:
[ OK ]ボタン消えるまでの時間:
10秒
※ウィンドウ内にある [ OK ] ボタンを押下することで、ポップアップウィンドウを閉じることが可能です。
※[ OK ] ボタン押下をする/しないに関わらず、返される値は、「True」になります。
はい / いいえ を利用者に問うポップアップウィンドウ
Do.popAsk(“本文文字列”, “ウィンドウタイトル”, 消えるまでの秒数)を使用します。ただし、ウィンドウタイトルは省略することができます。
コードサンプル:
Do.popAsk(“Please select.”, 60)
実行結果:
本文:
Please select.ウィンドウに表示されるオブジェクト:
[ はい ]ボタン、[ いいえ ]ボタン消えるまでの時間:
1分( = 60秒)
※[ はい ] ボタンを押下すれば「True」が返されて、ウィンドウが閉じます。
※[ いいえ ] ボタンを押下すれば「False」が返されて、ウィンドウが閉じます。
※入力待ちの時間が経過してしまった場合は「False」が返されます。
利用者に入力(1行分)を促すポップアップウィンドウ
Do.input(“本文文字列”, “ウィンドウタイトル”, 消えるまでの秒数)を使用します。ただし、ウィンドウタイトルは省略することができます。
コードサンプル:
Do.input(“Please input text.”, 3600)
実行結果:
本文:
Please input text.ウィンドウに表示されるオブジェクト:
[ OK ]ボタン、[ 取消 ]ボタン、テキストボックス消えるまでの時間:
1時間( = 3600秒)
※テキストボックスに入力後に [ OK ] ボタンを押下すれば、入力内容が返され、ポップアップウィンドウを閉じます。
※[ 取消 ] ボタンを押下すると、テキストボックスの入力内容に問わず「None」がソースコード上に返され、ポップアップウィンドウを閉じます。
※入力待ちの時間が経過してしまった場合は、テキストボックスの入力内容に問わず「None」がソースコード上に返され、ポップアップウィンドウを閉じます。
利用者に入力(複数行)を促すポップアップウィンドウ
Sikuli Xでは、このタイプのポップアップウィンドウで、自動で消える構文は存在されていません。
プルダウンメニューがあるポップアップウィンドウ
Sikuli Xでは、このタイプのポップアップウィンドウで、自動で消える構文は存在されていません。
ファイル選択させるウィンドウ
Sikuli Xでは、このタイプのポップアップウィンドウで、自動で消える構文は存在されていません。
まとめ
今回は、自動で消えるポップアップウィンドウの構文について記載しました。
自動で消えないポップアップウィンドウに比べて、存在する構文は限られるのが、注意点でしょうか。使いどころは選びますが、有効な構文だと思います。
ぜひ色々な使い方を模索してみて下さい。