GXtest Recorder は、GXtest を使った UI テストの記録、編集、再生を容易にするために設計された Chrome 拡張機能です。
GXtest Recorder は
Chrome ウェブストアからダウンロードできます。
この拡張機能は、ファイル関連のコマンドを実行するために、ローカルファイルへのアクセス許可を必要とします。このアクセス許可を有効にするには、拡張機能の詳細ページ (chrome://extensions/?id=edbiefalppkhegcephbbcojpibobbdbd) で [ ファイルの URL へのアクセスを許可する ] オプションを有効にします。
レコーダータブでナビゲーションを開始すると、GXtest Recorder によってキャプチャされ、さまざまなコマンドが記録に追加されます。
記録を開始するには、記録/停止ボタンを押すだけで、記録が開始されたことを示す赤色に変わります。
その後、ブラウズするウィンドウに戻るだけで、レコーダーがアクションを記録します。ワークフローが完了したら、記録/停止ボタンを押して記録を停止します。
アサーションの追加
記録中、Web ページのエレメントを右クリックすると表示される Chrome のコンテキストメニューを使用することで、いつでもテストの検証 (コントロールのテキストや値のチェックなど) を追加できます。
記録後は、レコーダーを使用してテストのフローをいつでも変更できます。コマンド アクション メニューを開くには、任意のコマンドを右クリックします。
コマンドの追加
コマンドを追加するには、コマンド アクション メニューで [ コマンドを追加 ] を選択します。コマンドは、現在選択されているコマンドの後に追加されます。
コマンドの編集
コマンドを編集するには、そのコマンドを左クリックし、以下のコマンドエディターで値を更新します。
ターゲットおよび値フィールドのタイプまたは要件は、選択したコマンドによって異なります。
コマンドがセレクターをターゲットとして受け入れる場合は、 [ 選択 ] ボタンを使用して Web ページ上のエレメントを選択すると、そのセレクターが自動的に取得されます。
検索ボタンをクリックすると、Web ページ上で現在のターゲットエレメントが強調表示されます。
コマンドの削除
コマンドを削除するには、コマンド アクション メニューで [ コマンドを削除 ] を選択します。
コマンドの順序を更新するには、コマンドをクリックして選択した位置にドラッグします。
GXtest Recorder がサポートするコマンドを次の表に示します。
コマンド
|
モード
|
ターゲット
|
値
|
AnswerOnNextPrompt
|
自動
|
プロンプトの次回のポップアップで設定する文字列
|
-
|
AssertAlertText |
手動 |
予想される警告メッセージ |
- |
AssertConfirmation |
手動 |
予想される確認メッセージ |
- |
AssertPrompt |
自動 |
予想されるプロンプトメッセージ |
- |
AssertTextBy |
手動 |
ロケーター |
ターゲットエレメントに予想されるテキスト (完全一致) |
AssertTitle |
手動 |
タイトルに予想される文字列 (完全一致) |
|
AssertValueBy |
手動 |
ロケーター |
ターゲットエレメントに予想される値 (完全一致) |
ChooseCancelOnNextConfirmation |
自動 |
- |
- |
ChooseCancelOnNextPrompt |
自動 |
- |
- |
ChooseOkOnNextConfirmation |
自動 |
- |
- |
ClickBy |
自動 |
ロケーター |
ターゲットエレメントからの相対的なマウスイベントの x,y 位置。例: 10,10。空白の場合は単純なクリックを意味する。
|
CloseWindow |
自動 |
自動生成 |
- |
DoubleClickBy |
自動 |
ロケーター |
ターゲットエレメントからの相対的なマウスイベントの x,y 位置。例: 10,10。空白の場合は単純なダブルクリックを意味する。 |
Echo |
手動 |
ログタブに出力する文字列。Store コマンドまたは [ 変数 ] タブで宣言された変数を文字列に使用可能。 |
- |
EditContentBy |
自動 |
ロケーター |
ターゲットエレメントの内容に設定する文字列で、項目属性 contenteditable="true"。 |
FileUploadBy |
手動 |
ロケーター |
アップロードするファイルのパス。 |
GetTextBy |
手動 |
ロケーター |
ターゲットエレメントのテキストを格納する変数の名前。 |
GetTitle |
手動 |
格納するタイトル |
タイトルを格納する変数の名前。 |
GetValueBy |
手動 |
ロケーター |
ターゲットエレメントの値を格納する変数の名前。 |
Go |
自動 |
URL |
- |
KeysBy |
自動 |
ロケーター |
文字列または特殊なキーストローク。例: ${KEY_DOWN} |
MouseMoveBy |
自動 |
ロケーター |
移動のリストを含む JSON 文字列。例: {"Movements" : [ {"TD": 8, "OX":1, "OY":2} ] }。
TD は移動の間の時間、OX と OY は前の移動からのオフセット。
使用しなかった場合、コマンドは失敗する。移動する意図がない場合は {"Movements": [ ] } を使用する。 |
PauseFor |
手動 |
- |
スリープする時間 (ミリ秒単位)。たとえば 5000 は 5 秒間のスリープを意味する。 |
RunScript |
手動 |
実行する JavaScript エクスプレッション。例:
var a=10; var b=20; console.log(a+b) |
タイムアウトをスローするまで待つ時間 (ミリ秒単位)。-1 は無限の待機を意味する |
SelectBy |
自動 |
ドロップダウンメニューのロケーター |
オプションのロケーター。例: label=option1 |
SubmitBy |
自動 |
送信するフォームのロケーター |
- |
SwitchFrame |
自動 |
index=0 (インデックス 0 の最初のフレームを選択)、または relative=parent (親フレームを選択)、または relative=top (最上位のフレームを選択)
|
- |
SwitchWindow |
自動 |
自動生成 |
- |
TypeBy |
自動 |
ロケーター |
ターゲットエレメントに設定する文字列 |
自動: 記録時、ユーザーが入力すると自動的にキャプチャされます。
手動: 自動的に記録されないため、記録後に手動で追加する必要があります。
コンテキストメニュー: 手動モードで、コンテキストメニューにあります。
(*) FileUploadBy コマンドが、アップロードするファイルにアクセスするためには、追加のアクセス許可が必要です。このアクセス許可を有効にするには、
インストールに関する注意事項を確認してください。
通常は、記録したコマンドのシーケンスが意図した動作を行っているかどうかを最初に検証します。
記録をデバッグする場合は、目的のコマンド アクション メニューの [ ブレークポイントの設定・解除 ] をクリックしてブレークポイントを追加できます。
ログ
再生するたびに、実行に関する詳細情報と、保存するオプションを含むログが生成されます。
以前の記録をバックアップしたり、ロードしたりできます。保存ボタン
をクリックして記録を保存し、後で
をクリックして開くことができます。
記録をナレッジベースのテストオブジェクトに変換し、GeneXus IDE の UI テストにすることができます。GeneXus IDE 内で UI テストを作成するには、GeneXus コードを使用したテストケースをダウンロードします。ダウンロードするには [ ダウンロード ] ボタンをクリックします。エクスポートされたテストを含むファイルがダウンロードされ、GeneXus IDE にロードできるようになります。
技術的な制限により、オートコンプリートフィールドの記録は現在サポートされていません。オートコンプリートフィールドに対するアクションを記録する必要がある場合は、先にフィールドを空にしてからアクションを実行することをお勧めします。