X-Designer 再現機能コマンド構文 - 非アプリケーション操作

X-Designer 再現機能コマンド構文 - 非アプリケーション操作


キーワード

形式

    delay duration
    message text
    sequence text
    shell command
    setenv env-var env-value
    breakpoint widget
    exit status

入力内容

機能説明

delay を使用すると、スクリプト内に一時停止を挿入することができます。これは、実行中に特定の場所でアプリケーションを目で確認したいときに便利です。スクリプト内の次のアクションは、一時停止後に続行されます。

message は、標準エラーにメッセージを表示します。このコマンドを使用すると、スクリプトの異なる部分にラベルを付けて、予想される結果およびエラーをユーザーに通知します。メッセージテキストは、引用符で囲む必要はありません。

sequence を使用すると、スクリプトの異なる部分にラベルを付けることができます。そしてエラーが生じると、ラベル付けされている次のシーケンスまでスキップし、そこから続行することができます。

sequence を使用するには、-skip-on-error フラグを設定した状態で xdreplay を呼び出す必要があります。 xdreplay はデフォルトでは -user-on-error フラグを設定した状態で実行し、エラーが生じるとテストを中止してそのままアプリケーション内に残ります。残りのエラーフラグ (-exit-on-error) は、エラーが生じるとアプリケーションを終了します。

shell は、スクリプトからシェルコマンドを実行します。シェルコマンドが終了すると、スクリプトは処理を続行します。この機能を使用すると、ユーザーアクションをただ再実行するよりもはるかに幅広い操作を行うスクリプトを作成することができます。

setenv shell コマンドとともに使用して、環境変数を介してシェルに情報を引き渡します。setenv は 2 つの引数をとります。最初の引数は変数の名前で、2 番目の引数はウィジェットのリソース値と以下の簡易関数のいずれかを結合できる式です。

breakpoint はデバッガとともに使用して、指定したウィジェットが活性化されたときにスクリプト内にブレークポイントを設定します。こうすることによって、個々のウィジェットの内部を調べることができます。

breakpoint キーワードを含むスクリプトは、次のように呼び出す必要があります。

     xdreplay -f script debugger app

上記の script はスクリプトの名前、debugger はデバッガの名前、app はスクリプトがテスト実行するアプリケーションの名前です。デバッガは、 X-Designer 再現機能が実行します。breakpoint キーワードで、ブレークポイントを直接設定しているのと同じようにアプリケーションが停止します。これで、アプリケーションが最適化されていても、ウィジェット内部を調べることができます。

exit は、指定した終了ステータスでスクリプトを終了します。

使用例

ウィジェットを押した後で 5 秒間遅延させるには、次のように記述します。

    in ApplicationShell
	push mywidget
	delay 5
	push yourwidget

ウィンドウマネージャ装飾を付けないで、シェルの画面ダンプを撮影するには、次のように記述します。

    in ApplicationShell
	setenv ID WindowId(ApplicationShell)
	shell xwd -id $ID -out /tmp/shell.xwd

ウィンドウマネージャ装飾を付けて、画面ダンプを撮影するには、次のように記述します。

    in ApplicationShell
	setenv ID WindowFrame(ApplicationShell)
	shell xwd -id $ID -out /tmp/shell.xwd

カスケードボタンの名前しか分からないプルダウンメニューの画面ダンプを撮影するには、次のように記述します。

    in ApplicationShell
	push cascade_button
	setenv ID WindowId(cascade_button->subMenuId)
	shell xwd -id $ID -out /tmp/shell.xwd

注 - ボタンを最初に押さないとメニューが表示されないため、xwd はそのメニューの画面ダンプを撮影することができません。

オプションメニューを使用して同じ動作をするには、次のように記述します。

    in ApplicationShell
	push option_menu.OptionButton
	setenv ID WindowId(option_menu->subMenuId)
	shell xwd -id $ID -out /tmp/shell.xwd

カスケードボタンの親の背景色を表示するには、次のように記述します。

    in ApplicationShell
	setenv ID Parent(cascade_button)->background
	shell echo The Color $ID

関連項目: