ATgo 概観

    ATgo とは

    ATgo とは次世代 WEB システム(UI/API)テスト自動化 RPA(Robotic Process Automation)です。

    主に WEB システムのブラウザバリエーションテスト、レグレッションテストに特化したシステム開発効率化ソリューションです。マルチプラットフォーム対応、Windows、Mac はもちろん、スマホ iOS、Android にも対応しております。

    ATgo 利用の流れ

    1. スクリプト作成
      高度なプログラミング経験が不要、Web システムに対する操作を簡単なスクリプトとして自動的に記録されます。
      編集が必要な場合は、ATgo の IDE(統合開発環境)で記録されたスクリプトを簡単に編集できます。

    2. 自動実証
      作成したスクリプトは、各種のテストを繰り返し再生できます。再生と同時に、エビデンスが自動的に取得されます。

    3. 結果検証
      結果検証は、自動的に実施できます。

    機能一覧

    サポート対象テスト機能は UI テストと API テストの2種類があります。機能の概要は以下で説明します。

    UI テストの機能

    分類 機能 概要
    スクリプト作成 スクリプト作成IDE ドラッグ・ドロップスクリプト作成、自動補完、色分け機能
    スクリプトレコーディング WEB画面を操作しながら、スクリプトを同時に1行ずつ自動生成
    デバッグ機能 ブレークポイント設定によってスクリプトデバッグ可能
    データ分離 複数シナリオ対応でスクリプトとテストデータを分離可能
    OS、DB、FTP操作 WEB操作以外、OS、DB、FTP、EXCELなど操作可能
    スマホ操作(※) スマホタップ、ソフトキーボードなどの制御可能
    てぷらぱスクリプト変換(※) てぷらぱテスト用プロジェクトをATgoテスト用プロジェクトに変換可能
    自動実施 PC自動再生 Windows、Mac上でツール実施可能
    スマホ自動再生(※) PC上のスマホシミュレーターで実施可能
    各種ブラウザサポート Edge(IEモードも含め)、Safari、Chrome、Firefoxなどのブラウザをカバー
    エビデンス自動取得 画面キャプチャ、DBテーブル、ログを自動取得して、EXCELに出力
    実行状況可視化 実施ステータス、エラー内容は一目瞭然
    エラー位置ジャンプ エラー発生位置にジャンプ可能
    自動検証 新旧一括比較 新旧エビデンス一括比較可能
    レポート自動作成 自動検証結果によってレポート自動生成
    画像比較 新旧画像を比較して差異点を出力、比較エリアも指定可能
    HTML比較 新旧HTML比較、タイムスタイプなど除外可能
    DB比較 DBテーブル内容比較
    ログ比較 新旧ログを比較、タイムスタイプなど除外可能
    その他 Gitlab連携(※) Gitlab連携して、コミットのタイミングでテスト自動実施
    Docker利用(※) サーバー側Dockerなどのテスト環境構築可能

    ※ オプション機能につき、詳細はお問い合わせください。

    API テストの機能

    分類 機能 詳細
    自動テスト スクリプト作成IDE 自動補完、色分け機能
    データ分離 大量データテストの場合CSVファイルからインポートする可能
    API単体テスト 単一APIに対してテスト実施
    APIシナリオテスト 複数のAPIをまとめてシナリオテスト実施
    テストデータ自動投入 ファイルでテストケース作成及びテストデータを自動投入
    レスポンス自動検証 レスポンスの検証も自動的に行える
    ログ出力 リクエスト、レスポンスをファイルに出力する
    DBテーブルデータ出力 DBから取得したデータをファイルに出力する
    テキストファイル比較 指定した二つのテキストファイルを比較し、差分が表示されたレポートを出力する
    手動テスト テストIDE POSTMANと同様なIDEで手動テスト実施可能
    フォーマット対応 JSON、XML、HTML、TEXT対応可能
    操作記録 繰り返しテストのために、手動実施履歴を残す
    その他 テスト結果レポート テスト結果レポート自動生成、EXCELに出力
    カバレッジレポート(※) 実行カバレッジレポート自動生成
    エビデンス出力 リクエスト、レスポンスを整形してログファイルに出力
    モックサーバー(※) モックサーバー環境構築可能

    ※ オプション機能につき、詳細はお問い合わせください。

    対応範囲

    大分類 小分類 バージョン 備考
    OS Windows Windows 10 日本語 解像度 1366 x 768 以上
    Office 2016以上
    MacOS 10.15+ 64bit 日本語 解像度 1366 x 768 以上
    Office 2016以上
    現在MacOS版はUIテストのスクリプト再生のみを提供しております。UIスクリプト作成と結果検証、APIテストなどはWindows版をご利用ください。
    MacOS上で利用できる機能はMac64版ATgoのマニュアルをご参照ください。Windows版に追加された一部の機能はMacOS上でご利用できません。
    ブラウザ Windows IE 11(IE11モードのみ) Windows10のIE11の完全無効化に伴って、IEはサポート対象外になりました。Edge(IEモード)でのテスト実施がおすすめです。
    Edge 42-44 Microsoft Edge Legacyのサポートは2021年3月9日に終了しました。
    Edge(Chromium) 83以上
    Chrome 73以上
    Firefox 69以上
    Firefox ESR 60以上
    MacOS Safari Safari V13以上 (MacOS 10.15以上)
    iOS Safari iOS 13以上 オプション機能
    Android Chrome Android 8-10、Chrome73以上 オプション機能
    データベース MySQL 5.7 プロキシ環境を対応しておりません
    Oracle 11g プロキシ環境を対応しておりません
    PostgreSQL 8.2以上 プロキシ環境を対応しておりません
    SQL Server 2019 プロキシ環境を対応しておりません
    FTP FTP パスワード認証のみ プロキシ環境を対応しておりません
    SFTP パスワード認証のみ プロキシ環境を対応しておりません
    API 手動テストツール Restful API
    自動テスト Restful API、gRPC API

    ATgo 起動

    ATgo の起動

    Windows でご利用の場合

    実行環境

    ATgo の起動

    ファイル[ATgo.bat]をダブルクリックして、ATgo を起動します。
    ※ Windowsでファイル名拡張子が非表示の場合、起動ファイル名は[ATgo]になります。
    ※ WindowsのバッチファイルからATgoを呼び出す場合、[付録十二:ATgoをCUIモードで起動する方法]をご参照ください。

    ※ ATgoは多重起動ができません。
    ※ ATgoの実行中、テストに無関係な操作はお控えください。また、PC画面がロックスリープ状態にならないようにご注意ください。

    MacOS でご利用の場合

    実行環境

    初回の環境設定

    1. 下記のコマンドを実行します。
      sudo spctl --master-disable

    2. セキュリティとプライバシーを設定します。



      アクセシビリティに下記のアプリを追加します。

      ※上図の④をクッリクした後、ATgoパッケージの解凍フォルダ/jre/mac64/bin/javaを選択してください。
      ※ATgoパッケージフォルダの名前が変更され、場所が移動した際は、アクセシビリティに上記のjavaアプリを再度追加する必要があります。

    3. ATgoの実行権限を付与します。
      MacOSのターミナルで下記のコマンドを実行します。

      cd ATgoパッケージの解凍フォルダ chmod 775 ./ATgo.sh chmod -R 775 ./jre

    ATgo の起動

    MacOS セキュリティポリシーのため、ATgo を初めて起動するときは、次の「1」と「2」の設定が必要です。2回目以降は「3」だけ必要になります。

    1. ATgoを起動します。
      MacOSのターミナルで下記のコマンドを実行します。
      cd ATgoパッケージの解凍フォルダ ./ATgo.sh

      ※ ATgoは多重起動できません。
      ※ ATgo 実行中、テストに無関係な操作はお控えください。PC画面がロックスリープ状態にならないようにご注意ください。

    MacOS権限ダイアログの対応手順

    1. ATgoを起動する時、「"java"で任意のアプリケーションからキー操作を受け取ろうとしています。」のダイアログが表示される場合、


      下記の設定をします。

    2. テストを実施する時、「"java"でこのコンピュータの画面を記録しようとしています。」のダイアログが表示される場合、


      下記の設定をします。

    ライセンスの登録

    1. ATgoを起動し、上のメニューバーの[ヘルプ]から[ライセンス管理]を選択します。

    2. ポップアップされたウインドウから[ライセンス登録]を選択します。

    3. 登録するライセンスの種類を選択、必要事項を入力し「登録」ボタンを押します。

    ローカルライセンス登録

    通知されたライセンスキーをテキストボックス内にコピーして「登録」ボタンを押します。

    サーバライセンス登録

    IPアドレス・ポート番号・端末認証パスワードを入力し、「登録」ボタンを押します。


    ATgo の GUI



    ※ トレースログ、エラーメッセージをコンソールに出力してあります。実行状況を確認する際は、コンソールへのご注目をお勧めいたします

    UI テスト

    環境設定

    ブラウザをリモートオートメーションするため、ブラウザの設定を行っておく必要があります。テスト要件に合わせるように設定してください。

    Windows で利用の場合

    ディスプレイの拡大縮小とレイアウトを100%に設定することが必要です。

    IE ブラウザをご利用の場合

    IEの設定手順

    ATgoはIEブラウザを制御するため、次の手順を実行してください。

    1. Internet Explorerを起動し、右上の「ツール」をクリックし、表示されたメニューから[拡大]を 100%に設定してください。
    2. [インターネットオプション]をクリックします。
    3. [セキュリティ]タブをクリックし、[セキュリティ設定を表示または変更するゾーンを選択してください]ボックスの中のゾーンを順次選んで、[保護モードを有効にする]のチェックをすべて外してください。



    4. [詳細設定]タブをクリックし、[拡張保護モードを有効にする*]のチェックを外し、[OK]をクリックします。
    5. WindowsレジストリのInternet Explorer下でキーを新規することが必要ため、次の手順通りに操作してください。
      ATgoパッケージ解凍フォルダ中[depend/IEReg.bat]ファイルをダブルクリックしてください。
      ※ システム環境により、[IEReg.bat]は[IEReg]を表示する場合もあります。
      管理者権限が必要です。

    ※ 上記の操作後、PCのセキュリティ設定が変更されてしまいましたので、ATgoを使用完了後、セキュリティ環境回復ご希望の方は「IE設定の回復手順」をご参照ください。
    ※ IEブラウザ自体の原因により、自動テストする時、動作が不安定な場合があります。対策方法は「付録八:IEブラウザが動作不安定場合の対策方法」をご参照ください。

    IE設定の回復手順
    1. Internet Explorerを起動し、右上の「ツール」をクリックし、[インターネットオプション]をクリックします。
    2. [セキュリティ]タブをクリックし、右下の「すべてのゾーンを既定のレベルにリセットする」をクリックしてください。
    3. ATgoパッケージ解凍フォルダ中[depend/IEUnReg.bat]ファイルをダブルクリックしてください。
      ※ システム環境により、[IEUnReg.bat]は[IEUnReg]を表示する場合もあります。
      管理者権限が必要です。

    Edge ブラウザをご利用の場合

    Edgeを起動し、以下の通り画面を 100%に設定してください。

    Chrome ブラウザをご利用の場合

    Chromeを起動し、以下の通り画面を 100%に設定してください。

    Firefox ブラウザをご利用の場合

    Firefoxを起動し、以下の通り画面を 100%に設定してください。

    プロキシ環境設定が必要な場合

    ATgoのUIテスト部分のプロキシの設定手順は、Windows環境と同様ですので、Windowsのコントロールパネルで設定してくだい。手順は下記通りです。

    MacOS で利用の場合

    safari ブラウザをご利用の場合

    1. Safariを起動します。
    2. メニューバーから[Safari]をクリックし、[環境設定]をクリックします。
    3. [詳細]タブの中の[メニューバーに“開発”メニューを表示]にチェックを外してください。
    4. [Web サイト]タブの中の[ページの拡大/縮小]を選択し、右下の[これ以外の Web サイトでのディフォルト設定]を 100%に設定してください。
    5. Safariのメニューバーから[開発]をクリックし、[リモートオートメーションを許可]を付けてください。

      ※ 上記の操作後、Safariのセキュリティ設定が変更されてしまいましたので、ATgoを使用完了後、セキュリティ環境回復ご希望の方はSafariの[リモートオートメーションを許可]を外してください。

    プロキシをご利用の場合

    ATgoのUIテスト部分のプロキシの設定手順は、MacOS環境と同様です。手順は下記通りです。

    1. MacOSの「システム環境設定」を選択し、「ネットワーク」をクリックします。

    2. 使用中のネットワークを選択し、「詳細」をクリックします。

    3. 「プロキシ」タブをクリックし、プロキシを設定してください。

    レコーディング(IEモード)機能をご利用の場合

    レコーディング(IEモード)機能の設定手順

    ATgoパッケージ解凍フォルダ中[depend/IERecorderReg.bat]ファイルをダブルクリックしてください。
    ※ システム環境により、[IERecorderReg.bat]は[IERecorderReg]を表示する場合もあります。
    管理者権限が必要です。

    ※ 上記の操作後、PCのセキュリティ設定が変更されてしまいましたので、ATgoを使用完了後、セキュリティ環境回復ご希望の方は「レコーディング(IEモード)機能の設定回復手順」にご参照ください。

    レコーディング(IEモード)機能の設定回復手順

    ATgoパッケージ解凍フォルダ中[depend/IERecorderUnReg.bat]ファイルをダブルクリックしてください。
    ※ システム環境により、[IERecorderUnReg.bat]は[IERecorderUnReg]を表示する場合もあります。
    管理者権限が必要です。

    UIテストの前提知識

    プロジェクトの構成

    ATgoのプロジェクトツリーの構造を下図に示します。

    3種類の基本的なファイルが含まれています。

    プロジェクト内の他のファイルの役割は以下の通りです。

    UI テストのコマンド

    コマンド紹介

    ATgo では、ブラウザ、データベース、FTP、デスクトップ、スマホ、システムに関する各種コマンドを提供しております。

    スクリプトの新規を説明する前に、よく使われるコマンドを示しておきます。以下に示すのは、スクリプトを作成するのに最もよく使われるコマンドです。

    ※ すべてのコマンドの説明について、[付録一:UI テストコマンドの説明]をご参照ください。

    コマンドの構文

    ATgo のコマンドは下のように構成されます。

    ※ 「|」は区切り記号として使用されます。コマンド内容に「|」を含む場合、「\|」でご利用ください。

    スクリプト作成

    ATgo には二種類のスクリプト作成方法を提供しております。一つは初心者向けの[レコーディングブラウザ]、もう一つは開発経験者向けの[スクリプトエディタ]です。

    レコーディングブラウザで自動作成

    説明するために、デモサイトの「試験申込み」を用意しております。URLは https://atgo.rgsis.com/demo/exam/
    このサイトは三つの画面がありますので、これから三つのscriptファイルを一つずつ作成します。

    プロジェクト新規

    1. [ファイル]下の[新規]の[UI テスト新規]をクリックし、作業フォルダー(中身は空白)を選択して、UI テストプロジェクトを新規します。

    2. 下記のようなUIテストプロジェクトが作成されます。

    3. [スクリプト1.script]ファイルを削除します。

    4. 下記のように、[ログイン][試験申込み][ログアウト]三つのscriptファイルを新規します。
      ※スクリプト名はEXCEL形式エビデンスのファイル名とシート名に使います。
      ※スクリプト名には下記の文字は使えません。

      \ / : * ? " < > |

      ※スクリプト名には下記の文字が含まれている場合、特殊文字を削除したスクリプト名をシート名に使います。

      [ ] ' : ¥ / ? * [ ] ’

      ※スクリプト名は31文字以上の場合、超える部分を削除して、シート名に使います。

    レコーディングブラウザを起動

    1. 「レコーディング」ブラウザを起動します。

      ※ ATgoでは三つのレコーディングブラウザを提供しております。機能はほぼ同じですが、ターゲットは違います。
      • レコーディング(Chromeモード):Chromiumエンジンベースで実装、モダンWebシステム向けです。
      • レコーディング(IEモード):IEエンジンベースで実装、旧Webシステム向けです。
      • レコーディング(プラグインモード):Google Chrome、Microsoft Edge、Chromiumの三種類のプラグインモードを提供しています。
        ※ レコーディング(プラグインモード)については、[付録二十二:レコーディング(プラグインモード)の説明]をご参照ください。

    ログイン.scriptの作成

    1. ログイン.scriptをダブルクリックしてください。

    2. [レコーディングブラウザ]のアドレスバーに下記のURL を入力して、キーボードの[Enter]を押します。
      https://atgo.rgsis.com/demo/exam/
      ※ ページのロードが完了した後、スクリプトのレコーディングをスタートします。

    3. 「メールアドレス」の入力欄をクリックし、メニューがポップアップされます。 [Input]をクリックし、[Input_ById]をクリックした後、そのままで「test@test.com」を入力してください。

    4. 「パスワード」の入力欄をクリックし、メニューがポップアップされます。
      [Input]をクリックし、[Input_ById]をクリックした後、そのままで「test」を入力してください。

    5. 「ログイン」ボタンをクリックし、メニューがポップアップされ、[Click]をクリックし、[Click_ById]をクリックします。

    試験申込み.scriptの作成

    1. 試験申込み.scriptをダブルクリックしてください。

    2. 」下の入力欄をクリックし、メニューがポップアップされます。
      [Input]をクリックし、[Input_ById]をクリックした後、そのままで「六元素」を入力してください。
      同じく、「」下の入力欄に[太郎]を入力してください。



    3. 申込み試験一覧」下のプールダウンセレクトボックスをクリックし、[C#試験]を選択します。

    4. 男性」左側のラジオボタンをクリックし、メニューがポップアップされます。 [Input]をクリックし、[Input_Radio_ByName_UseValue]をクリックします。

    5. 希望受験日」下の三つのプールダウンセレクトボックスをそれぞれクリックし、[2020年]、[5月]、[10日]を選択します。


    6. [進学や能力証明に必要]の文字、または左側のチェックボックスをクリックし、メニューがポップアップされます。
      [Click]をクリックし、[Click_ById]をクリックします。

    7. クーポン」下の入力欄をクリックし、メニューがポップアップされます。
      [Input]をクリックし、[Input_ById]をクリックした後、そのままで「EX2020」を入力します。

    8. 「申込み」ボタンをクリックし、メニューがポップアップされます。
      [Click]をクリックし、[Click_ById]をクリックします。

    ログアウト.scriptの作成

    1. ログアウト.scriptをダブルクリックしてください。

    2. ログアウト」ボタンをクリックし、メニューがポップアップされます。
      [Click]をクリックし、[Click_ById]をクリックします。

    3. レコーディングが終わりました。[レコーディングブラウザ]を閉じます。

    テスト1.scenarioの作成

    以上の三つのscriptファイルを呼び出すために、scenarioファイルを作成します。

    1. 「テスト1.scenario」をダブルクリックしてください。
    2. 下記のコマンドを入力します。

      ※ 実施する時、スクリプトファイル内の_PROJECT_ROOT_は、自動的に[開いたプロジェクトのルートパス]に識別できます。

    スクリプトエディタで手動作成

    スクリプトエディタにコマンドの手入力よりスクリプトを作成します。
    コマンド入力するとき、便利な[コマンド入力補完メニュー]と [UI テストコマンドパネル]を用意しております。

    1. コマンド入力補完メニュー
      エビデンスに関するコマンドを追加したい場合、先頭文字[evi]を入力した後、コマンド入力補完のメニューが下図のように表示されます。
      例えば、[Evidence_Comment]コマンドを選択し、キーボードの[Enter]を押したら、[Evidence_Comment]コマンドが自動的に補完します。

      必要なパラメータを追記して、コマンドラインが完成します。例えば、[Evidence_Comment]の右側に[=試験申込み画面]を入力し、キーボードの[Enter]を押します。

    2. UI テストコマンドパネル
      コマンドが分からない場合、UI テストコマンドパネルのコマンド説明を参照してコマンドを決めてください。
      例えば、エビデンスに関するコマンドを探す場合、ATgo の右側にある[UI テストコマンド]パネルに、[エビデンス]をクリックし、関連するコマンド一覧が表示されます。コマンドにマウスオンしたら、コマンド名、説明、書き方、サンプルが一目に表れます。内容よりコマンドを選択し、左クリックでエディターにドラッグすると、コマンドがエディターに自動的に入力されます。

      申込み完了画面のエビデンスを取得するため、下記のコマンドを追加してください。

      スクリプトが書き終わったら、 [保存]ボタンをクリックし、スクリプトを保存してください。

    スクリプト再生

    実行環境設定

    1. [config.settings]ファイルをダブルクリックしてください。ブラウザ関するパラメータ値を下記のように改修します。


      ※ 基本的に下記のパラメータをテスト環境に合わせて修正する必要です。

      • platform
        OS の種類
      • browser_type
        ブラウザの種類
        ※ ie, edge, edgenew, chrome, firefox, firefox esr, edge_ie_mode, safari(MacOSのみ)を指定できます。
        ※ edge_ie_modeを指定した場合は[msedge.exe]のファイルパスも指定する必要があります。詳細は[付録十九:EdgeのIEモード]をご参照ください。
      • excel_version
        エビデンス出力のExcelバージョン
        ※ Excel2013及び前のバージョンのみが設定必要になります。

      ※ すべてのパラメータの説明について、[付録二:UIテスト設定ファイルの説明]をご参照ください。
      ※ IEブラウザが自体の原因より、動作が不安定な場合があります。対策方法は「付録九:IEブラウザが動作不安定場合の対策方法」にご参照ください。
      ※ スクリプトを長時間継続して再生した後、ブラウザが自体メモリ不足の原因より、動作ができない場合があります。この場合は、スクリプトの実行時間を短くし、または定期的にブラウザを再起動で対応できます。

    再生

    1. ATgo 左側の scenario ファイルをダブルクリックして、エディターのタブページを開いて、ツールバーの[実行]ボタンを押します。

      ※複数のシナリオを一括実行したい場合、ツールバーの[全て実行]ボタンを押します。
    2. スクリプトが自動的に実行されます。コンソールにトレースログを出力してあり、実行状況を確認できます。

    エビデンス

    スクリプト実行完了した後、[output]フォルダーにエビデンスフォルダ[evidence]、検証フォルダ[inspection]が下図のように作成されます。
    実行中のスクリーンショット画像、DB データ、FTP ログ、自動検証レポートなどの成果物の格納場所です。

    [output]フォルダの構成は下図のとおりです。

    1. エビデンスファイル

      ※ settingsファイルに[evidence_path]パラメータを設定し、保存先を指定することが可能です。
    2. 結果検証するためデータ

    デバッグ

    ブレイクポイント設定

    1. スクリプトの実行時にエラーが発生場合、一般的なプログラム開発 IDE と同様で、デバッグしてエラーを排除することができます。
      下図の通り、行先頭の空白をダブルクリックし、ブレイクポイントの設定や削除ができます。

    デバッグ

    1. 例で説明します。ATgo 左側の script ファイルをダブルクリックし、エディターのタブページが開かれます。次にツールバーの[デバッグ開始]ボタンを押します。
    2. スクリプトがブレイクポイントまで実行する時、実行が一時停止されます。
    3. 一時停止の状態で、[ステップ]ボタンをクリックすれば、ステップごとにデバッグできます。
      [継続]ボタンをクリックすると、スクリプトが続いて実行されます。

    結果検証

    検証データの作成

    1. 手作業で確認された[検証データ]は[期待検証データ]として利用できます。下図のように、確認された[検証データフォルダ]をプロジェクトのルートディレクトリにある[expect]フォルダにコピーします。

    2. 後続のテスト実行で[output]フォルダに出力した[検証データ]が[実測検証データ]と呼ばれます。結果検証機能を利用し、実測検証データを期待検証データと自動的に比較し、差異レポートを自動生成することができます。 新旧[検証データ]を比較することにより、再生結果の合否を判断します。

    新旧検証

    ※ 新旧比較の前提として、実行環境が同様しなければいけません。OS の種類、ブラウザの種類、ブラウザのバージョン、高さ、幅、解像度など。
    ※ カーソルの有無で、新旧比較で不一致が生じる場合、[付録十一:文字カーソルの点滅速度の設定]をご参照ください。

    1. ATgoツールバーの[UIテスト結果検証]ボタンをクリックし、結果検証パネルが表示されます。[期待検証データ]と[実測検証データ]を選択します。
    1. [検証]ボタンをクリックします。
    2. レポートを確認します。


    3. 比較範囲の指定または除外を行いたい場合、「画像比較範囲の指定」、「テキストファイルの比較」及び「PDFの比較」をご参照ください。
      ※ 「画像比較範囲の指定」~「PDFの比較」の中の画像に表示されている比較レポートは旧版ですが、設定方法は変わりません。

    画像比較範囲の指定

    検証対象としたくない情報(時間、日付など)がある場合、比較範囲除外することができます。
    画像を部分的に比較したい場合、比較範囲指定することもできます。

    上例の新旧比較で、「日付」の差分を無視することが可能です。

    1. [期待検証データ]の格納されているフォルダに、「define.xml」ファイルを開く。
      ※ define.xml ファイルを[定義ファイル]と呼ばれます。

      ※ 各パラメータの説明は下記になります。

      • x:範囲の左上隅の開始点の X 座標。
      • y:範囲の左上隅の開始点の Y 座標。
      • width:範囲の幅。
      • height:範囲の高さ。
    2. Windows の「ペイント」ツールを利用し、範囲指定用パラメータを取得が可能です。
      以下のように、除外する部分のパラメータを取得できます。

    3. 修正後の「define.xml」は、以下のような感じです。

    4. 変更した後、もう一回検証すると、差分がなくなります。

    ※ 修正必要なのは、[期待検証データ]の「define.xml」のみ、[実測検証データ]の「define.xml」が修正不要です。
    ※ 範囲指定は、一画像が一度のみ使用が可能です。
    ※ 範囲除外は、一画像が複数回が使用可能です。
    ※ 組み合わせ使用も可能です。

    テキストファイルの比較

    [UIテスト結果検証]機能を使うことで、html・csvなどのテキストファイルの比較が可能です。
    ※テキストにマスクをかけ、比較検証の対象から除外することもできます。

    下記のシナリオを例として、テキストファイル比較機能の利用方法を説明します。

    1. 1回目のスクリプト実行を行います。生成された検証データを「expect」フォルダへコピーします。

    2. 再度スクリプトを実行します。生成された検証データを[実測検証データ]として、[UIテスト結果検証機能]を使い、1の操作によって生成された[期待検証データ]との比較を行います。

    3. 検証結果レポートを確認したところ、差分があることが分かりました。検証の対象範囲から該当範囲を除外したい場合、4以降の操作を行います。

    4. [期待検証データ]が格納されている「expect」フォルダ内の「define.xml」を開き、maskタグを使って除外範囲の指定を行います。
      このとき、<mask regex=""/>と記述することで、正規表現を用いた範囲の指定が可能になります。
      ※csvファイルの場合、<mask header="列名"/>と記述することで、特定列を比較対象から除くことができます。除外列を指定した場合、dbtableタグまたはtextタグの属性として、headerRow="空行を除いたヘッダの行番号" を設定することで、ヘッダ行(どの行から比較するか)を指定することができます。
      ※maskタグは複数指定することができます。

    5.4の操作の後、再度検証を行うと差分が消えていることが分かります。

    PDFの比較

    [UIテスト結果検証]機能を使うことで、PDFの比較が可能です。
    ※検証対象に含めたくない情報を除外することも可能です。

    下記のシナリオを例として、PDF比較機能の利用方法を説明します。

    1. 1回目のスクリプト実行を行います。生成された検証データを「expect」フォルダへコピーします。

    2. 再度スクリプトを実行します。生成された検証データを[実測検証データ]として、[UIテスト結果検証機能]を使い、1の操作によって生成された[期待検証データ]との比較を行います。

    3. 検証結果レポートを確認したところ、差分があることが分かりました。検証の対象範囲から該当範囲を除外したい場合、4以降の操作を行います。

    4. [期待検証データ]が格納されている「expect」フォルダ内の「define.xml」を開き、比較範囲の指定を行います。
      画像比較範囲の指定と同様、Windowsの「ペイント」ツールを活用することで対象部分のパラメータを取得できます。
      このとき、パラメータはpdfからではなく、検証の結果出力された期待値の画像から取得できる点に注意してください。


      ※特定のページに対して範囲を指定・除外したい場合、「pageNo="ページ番号"」を設定してください。
      ※「pageNo=""」の場合、範囲の変更が全てのページに適用されます。

    5. 4の操作の後、再度検証を行うと差分が消えていることが分かります。

    データ分離より再生

    データ分離機能によって、テストデータとテストスクリプトの分離を実現できます。
    [試験申込み_外部データを利用するテスト.script]スクリプトと[試験申込み_外部データを利用するテスト.xlsx]データファイルを例として、機能説明します。

    外部データ作成

    UIテストサンプルの[試験申込み_外部データ利用]を例として、外部データの使用方法を説明します。

    1. [ファイル]下の[新規]の[UIテストサンプル(試験申込み_外部データ利用)]をクリックして、作業フォルダー(中身:空白)を選択します。
    2. [テスト1.scenario]ファイルをダブルクリックし、開きます。次は、外部データの指定と繰り返しグループについて説明します。

    外部データの指定

    RunScriptの第二引数は、外部データファイルのパスと実行番号を指定できます。 構文構成は以下の通りです。

    RunScript=scriptファイルの絶対パス|外部データファイルの絶対パス:データ番号

    データ番号」の指定方法は以下の例で説明します。
    ① 1:番号1のデータのみを実行する
    ② 2,3:番号2、3のデータを実行する
    ③ 1-4:番号1、2、3、4のデータを順次に実行する
    ④ 3-1:番号3、2、1のデータを順次に実行する
    ⑤ 1-2,3,6-10:番号1、2、3、6、7、8、9、10のデータを実行する
    ⑥ 1-4,2,5-10:番号1、2、3、4、2、5、6、7、8、9、10のデータを実行する
    ※ データ番号を記入しない場合は全て有効なデータを実行する

    繰り返しグループ

    [繰り返しグループ]機能を利用して、複数のRunScriptコマンドをまとめて、繰り返し実行することが可能です。コマンド[LoopGroup_Start]と[LoopGroup_End]を使って、繰り返しグループを指定できます。

    上図のscenarioファイルの実行順序は以下のようになります。

    RunScript=_PROJECT_ROOT_\script\ログイン.script|_PROJECT_ROOT_\data\ログイン.xlsx:1 RunScript=_PROJECT_ROOT_\script\試験申込み.script|_PROJECT_ROOT_\data\試験申込み.xlsx:1 RunScript=_PROJECT_ROOT_\script\ログアウト.script RunScript=_PROJECT_ROOT_\script\ログイン.script|_PROJECT_ROOT_\data\ログイン.xlsx:2 RunScript=_PROJECT_ROOT_\script\試験申込み.script|_PROJECT_ROOT_\data\試験申込み.xlsx:2 RunScript=_PROJECT_ROOT_\script\ログアウト.script RunScript=_PROJECT_ROOT_\script\ログイン.script|_PROJECT_ROOT_\data\ログイン.xlsx:3 RunScript=_PROJECT_ROOT_\script\試験申込み.script|_PROJECT_ROOT_\data\試験申込み.xlsx:3 RunScript=_PROJECT_ROOT_\script\ログアウト.script

    ※ 繰り返し回数は、[繰り返しグループ]範囲内の外部データを指定した最初のRunScriptコマンドで指定します。上記の例の繰り返し回数は3回です。
    ※[缲り回しグループ]を利用し、色々な実行状況がありますので、「付録七:繰り返しグループの実例」をご覧ください。

    script\試験申込み.script」ファイルをダブルクリックし、開きます。 下図に、両端に[{{]と[}}]がつけている文字列は「データ名」です。
    ※ 画面の「入力項目」だけではなく、scriptファイルに「=」の右側の任意のパラメータは、[{{]と[}}]が付けられます。

    ・データ名
    scriptファイルで[{{}}]を使用して「データ名」を指定します。スクリプト再生する時、指定した「データ名」で[外部データファイル]にそのデータ名に対応する値を検索し、スクリプトに読み込まれます。
    ※同一script内の「データ名」を重複しないように設定してください。

    data\試験申込み.xlsx」ファイルをダブルクリックし、開きます。

    データの入力形式とファンクションを説明します。
    ① [データ番号]列(列A):データ番号を設定できます。

    ② [コメント]列(列B):コメントをご自由に記入してください。
    ③ [データ]列(列C~):scriptファイルの[]、[]、[試験種類]と[性別]などの両端に[{{]と[}}]を付けたデータ名が自動的に青色セールに記入されます。

    ※ 「_SKIP_」をデータとして外部データファイルに入力すれば、そのデータが配置されている行のコマンドを実行しなく、直接にスキップします。

    ※ATgoは外部データファイルのプロトタイプを自動的に生成することができます。生成された外部データファイルはプロジェクトのルートディレクトリにある[data]フォルダに保存されます。自動生成の手順が下図の通りです。

    外部データ再生

    [テスト1.scenario]を選択し、[実行]ボタンをクリックして再生します。

    再生後の出力フォルダは下図の通りです。

    UI テストのその他のサンプル

    DB テーブルの操作

    1. settings ファイルのデータベースに関する環境を設定します。

    2. script ファイルに、データベース操作の SQL コマンドを追加します。

    3. 結果検証機能にて、DB データの新旧比較も可能です。比較する時、検証データ中での[define.xml]で正規表現で特定内容を対象外にする可能です。
      例えば、[2019-10-10]の日付を対象外にする

      ※ 複数の mask タグを指定できます。

    FTP の操作

    1. settings ファイルの FTP に関する環境を設定します。

    2. script ファイルに、FTP 操作に関するコマンドを追加します。

    3. 結果検証機能にて、FTP ログの新旧比較も可能です。比較する時、検証データ中での[define.xml]で正規表現で特定内容を対象外にする可能です。
      例えば、[2019-10-10]の日付を対象外にする

      ※ 複数の mask タグを指定できます。

    変数

    変数機能とは、一般的な開発言語と同様に、一時的にデータ格納が可能です。
    例として、画面上の文字列を格納し、後のコマンドでパラメータ値として利用可能です。下記は変数のサンプルになります。

    ※ 変数のライフサイクルはグローバルであり、1回実行すれば、全てのスクリプト中で有効になります。

    モバイルビュー

    モバイルビューとは、PCのChromeブラウザでスマホ画面をテストが可能です。

    1. メニューバーの[レコーディング]ボタンをクリックし、スマホモードを選択します。Web画面を操作し、スクリプトが自動的に作成されます。

    2. config.settingsに下記のパラメータを設定します。

    3. このスクリプトがモバイルビューで再生できます。


    待機処理

    待機処理とは、指定した時刻まで、または指定した要素が変化するまでスクリプトの実行を待機することです。
    ※ 待機処理関連のコマンド一覧は[付録一:UIテストコマンドの説明]をご参照してください。

    1. [UI テストレコーディングブラウザ]のアドレスバーにテスト画面の URL を入力して、キーボードの[Enter]を押して、ページのロードが完了した後でスクリプトのレコーディングをスタートします。
      例えば、下記の画面をレコーディングする場合。
      URL: https://www.ag-grid.com/example.php
    2. [Data Size]右側のプルダウンメニューをクリックし、[100000 Rows, 22 Cols]を選択します。

    3. プルダウンメニュー右側がロードのアイコンが現れます。そのアイコンをクリックして、メニューがポップアップされます。[WaitFor]をクリックし、[WaitForElementNotPresent]をクリックします。
      ※ このコマンドで、100000件のデータがすべてロードされるまで待機します。

    4. ブラウザで任意の場所をクリックし、メニューがポップアップされます。[Evidence]をクリックし、[Evidence_BrowserScreen]をクリックします。
      ポップアップされた入力欄に[100000Rows]を入力して、[OK]をクリックします。

    5. スクリプトが自動的にエディターで作成されます。

    6. スクリプトを再生して、エビデンス画像をチェックします。その画像は100000件のデータをすべてロードされた後に取得したスクリーンショットです。


      ※ 待機処理のタイムアウト時間は、config.settingsのbrowser_wait_timeoutで設定可能です。

    アサーション

    アサーションとは、スクリプト再生した動作結果が期待しているものと一致しているかどうかを検証することです。下記はアサーションのサンプルです。
    ※ アサーション関連のコマンド一覧は[付録一:UIテストコマンドの説明]をご参照ください。

    検証結果が不一致の場合、コンソールでエラーが出て、実行が終了になります。
    ※ アサーションの結果をレポートとして出力する機能は開発する予定です。

    ブラウザバリエーションテストの対応手法

    ブラウザバリエーションテストとは、作成したWebアプリケーションがサポート対象の各ブラウザで動作を確認することです。

    ブラウザによってレンダリング方式が変わりますので、スクリプトが同じであても、ブラウザ間の動作も違います。特にAngular等モダンWEBアプリケーションの場合は、複雑な画面要素のインデックスがブラウザごとに若干変わることもあります。

    ブラウザバリエーションを実施する場合、最初疎通できたスクリプトを、ほかのブラウザ上で動作確認する必要があります。動作が異なる場合、スクリプトをコピーしてブラウザに合わせて修正します。

    API テスト

    API リクエスト、レスポンス検証を実装するスクリプトを用いて、API テストをバッチ的に実行します。

    APIテストの前提知識

    ツールの構成

    下記の図のように、API 自動テストツールは下記の3種類のファイルがあります。

    REST APIテスト

    スクリプトの構文

    スクリプトは Feature、Background、Scenario 三つの部分で構成します。


    APIの呼び出し、レスポンスの検証を定義するため、特定なコマンドを利用する必要があります。
    最も利用頻繁なコマンド:Given、When、Then、And を説明します。その他利用可能なコマンドは[付録四:APIテストキーワードの説明]をご参照ください。

    スクリプト作成

    APIテストスクリプトの作成方法は二つあります。
    一つ目はATgoが提供したExcel形式の動作記載ファイルで動作を定義し、実行可能なfeatureファイルに変換します。
    二つ目は直接にエディターでfeatureファイルを書きます。
    ※ データ損失を避けるために、Excelから変換したfeatureファイルは直接に編集しないようにご注意ください。

    Excelで作成

    1. [ファイル]下の[新規]の[REST APIテスト新規]をクリックして、作業フォルダー(中身:空白)を選択します。

    2. [シナリオ.xlsx]ファイルを開いて、動作を定義します。
      ※ 記入方法は[付録十四:APIテスト動作定義Excelファイルの記入方法]をご参照ください。

    3. 記入した内容を保存し、[シナリオ.xlsx]を閉じます。
      ATgoツール左側のプロジェクトツリーの[シナリオ.xlsx]を右クリックし、[APIテストFeatureに変換]をクリックし、実行可能なfeatureファイル[シナリオ.feature]に変換します。
      ※ [シナリオ.feature]が既に存在している場合は、新しい内容に上書きされます。データ損失発生しないように、ご注意ください。

    エディターで作成

    1. [ファイル]下の[新規]の[REST APIテスト新規]をクリックして、作業フォルダー(中身:空白)を選択します。

    2. [シナリオ1.feature]ファイルをダブルクリックして、開いたエディターに下記のコードをエディターにコピーしてください。

      # スクリプト名の設定 Feature: シナリオ1 # 共通処理: 各種設定 Background: # ドメインの設定 * url 'https://atgo.rgsis.com/api/' # プロキシの設定 # * configure proxy = { uri: 'http://my.proxy.host:8080', username: 'user', password: 'pwd' } # テストケース名の設定 Scenario: 1-1 本作成のテスト # APIアドレスの設定 Given path '/books' # リクエストのBodyの設定 And request {'bookname' : '自動テスト入門', 'barcode': '1923055029001', 'price': 2200} # 送信メソッドの設定 When method POST # リスポンスコードの検証 Then status 200 # リスポンスのBodyの検証 And match response == {'id' : 1, 'status' : 'OK'}

      ※ プロキシをご利用の場合、上記スクリプトの「* configure proxy」で設定してください。(前の「#」を削除することが必要です。)

    3. [保存]ボタンをクリックし、スクリプトを保存します。

    スクリプト再生

    1. featureファイルを開いたまま、ツールバーの[実行]ボタンを押します。
    2. [コンソール]に異常情報を出力したかどうかを確認します。

    結果出力

    スクリプト実行完了した後、[output]フォルダーにエビデンスフォルダ[evidence]、レポートフォルダ[report]が下図のように作成されます。

    1. エビデンスファイル
    2. レポート

      ※ EXCEL レポートはテストケースとして提出する可能です。
      ※ cucumber-html-reports/report_*.html レポートは詳細レポートです。エラー発生の時、デバッグ資料として利用することが可能です。
      ※ surefire-reports/timeline.html は性能評価のインプット資料として利用することが可能です。

    サンプル説明

    [ファイル]下の[新規]の[REST APIテストサンプル]をクリックして、作業フォルダー(中身:空白)を選択します。

    個別 API テスト

    サンプルファイル:[02_個別APIテスト.feature]

    シナリオテスト

    サンプルファイル:[03_シナリオテスト.feature]

    レスポンス検証

    サンプルファイル:[04_レスポンス検証.feature]

    データ分離より再生

    サンプルファイル:[05_外部データより再生.feature]

    JWT認証

    サンプルファイル:[06_JWT認証.feature]

    手動テストツール

    ATgo では、[Featureスクリプト]よりの自動テストの他には、[Restful API クライアント]よりの手動テスト機能を提供しております。手順は以下の通りです。

    1. [Restful API クライアント]ツール起動
      ATgo メニューバーの[Restful API クライアント]ボタンをクリックします。
    2. クライアント表示画面に、リクエスト情報を入力して、送信ボタンを押して、レスポンスを返されます。

      上図の ① ~ ⑧ :
      ① HTTP メソッド
      GET/POST/PUT/PATCH/DELETE のどちらを選ぶ。
      ② API の URL パス
      テスト対象 API の URL を入力する。
      ③ ~ ⑥ リクエスト情報
      リクエストパラメータ、認証情報、ヘッダー情報、ボディにテストに必要な部分を設定する。
      図の例は Json 形式のボディデータだけを設定する。
      ⑦ 送信ボタン
      送信ボタンをクリックして API を呼び出す。
      ⑧ レスポンス表示域
      HTTP ステータス、レスポンスデータ形式、実行時間、レスポンスヘッダー、レスポンスボディなどを表示する。
    3. 返した情報をもとに、予想通りであるかどうかを検証します。

    gRPC APIテスト

    スクリプトの構文

    スクリプトは Feature、Background、Scenario 三つの部分で構成します。


    スクリプト作成

    1. [ファイル]下の[新規]の[gRPC APIテスト新規]の[protoファイルインポート]をクリックして、[protoファイルインポート]のウィンドウが開かれます。
    2. [protoファイルパス]と[新規プロジェクトの保存先](中身は空白)を選択し、[完了]ボタンを押します。
    3. xlsx形式のスクリプト、データファイルなどが自動的に生成されます。
    4. [route_guide.xlsx]を開き、[ベースURL]と[テスト内容説明]を記入します。
      そして、テストしたいメソッドの行を[有効]に設定し、他の行を[無効]に設定します。
      記入完了後に、[route_guide.xlsx]を閉じます。
    5. [route_guide.xlsx]を右クリックし、[APIテストFeatureに変換]をクリックします。
      feature形式のスクリプトが自動的に生成されます。

    6. スクリプトに書いているデータファイルを開き、データを追加します。

    スクリプト再生

    1. featureファイルを開いたまま、ツールバーの[実行]ボタンを押します。
    2. [コンソール]に異常情報を出力したかどうかを確認します。

    結果出力

    スクリプト実行完了した後、[output]フォルダーにエビデンスフォルダ[evidence]、レポートフォルダ[report]が下図のように作成されます。

    1. エビデンスファイル
    2. レポート

      ※ EXCEL レポートはテストケースとして提出する可能です。
      ※ cucumber-html-reports/report_*.html レポートは詳細レポートです。エラー発生の時、デバッグ資料として利用する可能です。
      ※ surefire-reports/timeline.html は性能評価のインプット資料として利用する可能です。

    付録一:UIテストコマンドの説明

    ※山括弧<>内は必須引数で、角括弧[]内はオプション引数です。

    モジュール コマンド コマンド説明 エビデンスExcelに出力 検証データに出力
    システム RunScript=<scriptファイルの絶対パス>|[外部データパス:データ番号] scenarioファイルからscriptファイルを呼び出す
    RunScript=_PROJECT_ROOT_\script\案件登録.script
    RunScript=_PROJECT_ROOT_\script\案件登録.script|_PROJECT_ROOT_\data\案件登録.xlsx
    RunScript=_PROJECT_ROOT_\script\案件登録.script|_PROJECT_ROOT_\data\案件登録.xlsx:1-3
    RunFeature=<featureファイルパス> scenarioファイルからfeatureファイルを呼び出す
    RunFeature=_PROJECT_ROOT_\feature\01_簡単投入.feature
    SettingsFilePath=<settingsファイルパス> 指定したsettingsファイルのブラウザ種類やデータベース関連の設定を適用する
    ※指定しない場合、テストプロジェクト直下のconfig.settingsを使用する
    ※scenarioファイルに使用する
    ※こちらのコマンドを利用してブラウザ種類を変更する場合、次のOpenURLを実行する際に、変更後のブラウザを起動してスクリプトを実行する
    SettingsFilePath=_PROJECT_ROOT_\chrome.settings
    LoopGroup_Start 外部データの繰り返しグループ開始識別子
    LoopGroup_Start
    LoopGroup_End 外部データの繰り返しグループ終了識別子
    LoopGroup_End
    Wait=<待ち時間(ミリ秒)> 指定した時間で待つ
    Wait=1000
    WaitForManualAction [継続]ボタンが押下されるまで待つ
    WaitForManualAction
    ブラウザ OpenURL=<URLアドレス> 指定した URL を使ってページを開く
    ※ ロカールのHTMLも開く可能です。IEブラウザをロカールのHTMLを開く場合、「付録十:IEでロカールのHTMLを開く場合の設定」の手順をご参照ください。他のブラウザが設定不要です。
    OpenURL=https://www.itgo.co.jp/
    OpenURL=C:\test\demo\index.html
    OpenURL=file:///C:/test/demo/index.html
    SkipCertificateWarningPage SSL証明書警告画面が表示される場合、この画面をスキップする
    SkipCertificateWarningPage
    SkipAllCertificateWarningPage すべてのブラウザタブをチェックし、SSL証明書警告画面が表示される場合、SSL証明書警告画面をスキップする
    ※ 新しいポップアップウインドウにSSL証明書警告画面がある場合、このコマンドがおすすめです。
    SkipAllCertificateWarningPage
    Input_ByName[同名番号]=<input要素のname属性値>|<入力値> Nameで指定した<input>要素に値の入力操作を行う
    Input_ByName2=project|総合テスト案件
    Input_ById[同名番号]=<input要素のid属性値>|<入力値> IDで指定した<input>要素に値の入力操作を行う
    Input_ById=id_price_max|80
    Input_ByValue[同名番号]=<input要素のvalue属性値>|<入力値> Valueで指定した<input>要素に値の入力操作を行う
    Input_ByValue=person_number|2
    Input_ByClass[同名番号]=<input要素のclass属性値>|<入力値> Classで指定した<input>要素に値の入力操作を行う
    Input_ByClass5=ime-active|スキル要求
    Input_ByCssSelector=<input要素のCssSelector>|<入力値> CssSelectorで指定した<input>要素に値の入力操作を行う
    Input_ByCssSelector=#id_email|test@itgo.co.jp
    ※ レコーディング機能でスクリプトをレコーディングする場合、CssSelectorが自動的に取得できます。
    ※ スクリプトを手作成する場合、Chromeブラウザ開発ツールの「Copy selector」機能で取得できます。
    Input_ByXpath=<input要素のXpath>|<入力値> Xpathで指定した<input>要素に値の入力操作を行う
    Input_ByXpath=//*[@id="id_email"]|test@itgo.co.jp
    Input_Radio_ByName_UseValue=<radio要素のName>|<要素のValue値> Nameで指定した<option>要素にValue属性値で指定した項目の選択操作を行う
    Input_Radio_ByName_UseValue=exampleRadio|1
    Input_Select_ById[同名番号]_UseOptionTxt=<select要素のID>|<option要素内のテキスト> IDで指定した<select>要素にoption要素内のテキストで指定した項目の選択操作を行う
    Input_Select_ById_UseOptionTxt=select_id|社員
    Input_Select_ByName[同名番号]_UseOptionTxt=<select要素のName>|<option要素内のテキスト> Nameで指定した<select>要素にoption要素内のテキストで指定した項目の選択操作を行う
    Input_Select_ByName_UseOptionTxt=select_name|社員
    Input_Select_ByCssSelector_UseOptionTxt=<select要素のCssSelector>|<option要素内のテキスト> CssSelectorで指定した<select>要素にoption要素内のテキストで指定した項目の選択操作を行う
    Input_Select_ByCssSelector_UseOptionTxt=#select_id|社員
    Input_Select_ByXpath_UseOptionTxt=<select要素のXpath>|<option要素内のテキスト> Xpathで指定した<select>要素にoption要素内のテキストで指定した項目の選択操作を行う
    Input_Select_ByXpath_UseOptionTxt=//*[@id="select_id"]|社員
    Input_Select_ById[同名番号]_UseOptionValue=<select要素のID>|<option要素のvalue属性値> IDで指定した<select>要素にoption要素のvalue属性値で指定した項目の選択操作を行う
    Input_Select_ById_UseOptionValue=select_id|3
    Input_Select_ByName[同名番号]_UseOptionValue=<select要素のName>|<option要素のvalue属性値> Nameで指定した<select>要素にoption要素のvalue属性値で指定した項目の選択操作を行う
    Input_Select_ByName_UseOptionValue=select_name|3
    Input_Select_ByCssSelector_UseOptionValue=<select要素のCssSelector>|<option要素のvalue属性値> CssSelectorで指定した<select>要素にoption要素のvalue属性値で指定した項目の選択操作を行う
    Input_Select_ByCssSelector_UseOptionValue=#select_id|3
    Input_Select_ByXpath_UseOptionValue=<select要素のXpath>|<option要素のvalue属性値> Xpathで指定した<select>要素にoption要素のvalue属性値で指定した項目の選択操作を行う
    Input_Select_ByXpath_UseOptionValue=//*[@id="select_id"]|3
    Input_CheckBox_ById[同名番号]=<input要素のid属性値>|<チェック状態(true/false)> IDで指定したチェックボックスのチェック状態を指定して切り替える
    Input_CheckBox_ById=id_is_always|true
    Input_CheckBox_ByName[同名番号]=<input要素のname属性値>|<チェック状態(true/false)> Nameで指定したチェックボックスのチェック状態を指定して切り替える
    Input_CheckBox_ByName1=is_always|false
    Input_CheckBox_ByCssSelector=<input要素のCssSelector>|<チェック状態(true/false)> CssSelectorで指定したチェックボックスのチェック状態を指定して切り替える
    Input_CheckBox_ByCssSelector=#id_is_always|true
    Input_CheckBox_ByXpath=<input要素のXpath>|<チェック状態(true/false)> Xpathで指定したチェックボックスのチェック状態を指定して切り替える
    Input_CheckBox_ByXpath=//*[@id="id_is_always"]|false
    Input_File_ByName=<input要素のname属性値>|<ファイルパス> Nameで指定した<input type="file">要素に指定したファイルを選択操作を行う
    ※ IEブラウザの場合、手動でファイルを選択が必要
    ※ MacOS safariでは漢字を含めるファイルパスの指定ができません
    Input_File_ByName=attachments[]|_PROJECT_ROOT_\input\履歴書.docx
    Input_File_ByCssSelector=<input要素のCssSeelctor>|<ファイルパス> CssSeelctorで指定した<input type="file">要素に指定したファイルを選択操作を行う
    ※ IEブラウザの場合、手動でファイルを選択が必要
    ※ MacOS safariでは漢字を含めるファイルパスの指定ができません
    Input_File_ByCssSelector=#file|_PROJECT_ROOT_\input\履歴書.docx
    Input_File_ByXpath=<input要素のXpatg>|<ファイルパス> Xpathで指定した<input type="file">要素に指定したファイルを選択操作を行う
    ※ IEブラウザの場合、手動でファイルを選択が必要
    ※ MacOS safariでは漢字を含めるファイルパスの指定ができません
    Input_File_ByXpath=//*[@id="file"]|_PROJECT_ROOT_\input\履歴書.docx
    Input_TextArea_ById=<input要素のId属性値>|<入力値> IDで指定した<textarea>要素に値の入力操作を行う
    Input_TextArea_ById=id_description|123\n456\n789
    Input_TextArea_ByName[同名番号]=<input要素のname属性値>|<入力値> Nameで指定した<textarea>要素に値の入力操作を行う
    Input_TextArea_ByName=description|123\n456\n789
    Input_TextArea_ByCssSelector=<input要素のCssSelector>|<入力値> CssSelectorで指定した<textarea>要素に値の入力操作を行う
    Input_TextArea_ByCssSelector=#id_description|123\n456\n789
    Input_TextArea_ByXpath=<input要素のXpath>|<入力値> Xpathで指定した<textarea>要素に値の入力操作を行う
    Input_TextArea_ByXpath=//*[@id="id_description"]|123\n456\n789
    Add_MultiSelect_ById_UseOptionTxt=<要素のID>|<option要素内のテキスト> IDで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目を選択状態にする
    Add_MultiSelect_ById_UseOptionTxt=select_id_mult|選択肢A
    Add_MultiSelect_ByName[同名番号]_UseOptionTxt=<要素のname属性値>|<option要素内のテキスト> Nameで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目を選択状態にする
    Add_MultiSelect_ByName_UseOptionTxt=select_name_mult|選択肢A
    Add_MultiSelect_ByCssSelector_UseOptionTxt=<要素のCssSelector>|<option要素内のテキスト> CssSelectorで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目を選択状態にする
    Add_MultiSelect_ByCssSelector_UseOptionTxt=#select_id_mult|選択肢A
    Add_MultiSelect_ByXpath_UseOptionTxt=<要素のXpath>|<option要素内のテキスト> Xpathで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目を選択状態にする
    Add_MultiSelect_ByXpath_UseOptionTxt=//*[@id="select_id_mult"]|選択肢A
    Add_MultiSelect_ById_UseOptionValue=<要素のID>|<オプションのvalue属性値> IDで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目を選択状態にする
    Add_MultiSelect_ById_UseOptionValue=select_id_mult|値B
    Add_MultiSelect_ByName[同名番号]_UseOptionValue=<要素のname属性値>|<オプションのvalue属性値> Nameで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目を選択状態にする
    Add_MultiSelect_ByName1_UseOptionValue=select_name_mult|値B
    Add_MultiSelect_ByCssSelector_UseOptionValue=<要素のCssSelector>|<オプションのvalue属性値> CssSelectorで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目を選択状態にする
    Add_MultiSelect_ByCssSelector_UseOptionValue=#select_id_mult|値B
    Add_MultiSelect_ByXpath_UseOptionValue=<要素のXpath>|<オプションのvalue属性値> Xpathで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目を選択状態にする
    Add_MultiSelect_ByXpath_UseOptionValue=//*[@id="select_id_mult"]|値B
    Remove_MultiSelect_ById_UseOptionTxt=<要素のID>|<option要素内のテキスト> IDで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目の選択状態を解除する
    Remove_MultiSelect_ById_UseOptionTxt=select_id_mult|選択肢B
    Remove_MultiSelect_ByName[同名番号]_UseOptionTxt=<要素のname属性値>|<option要素内のテキスト> Nameで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目の選択状態を解除する
    Remove_MultiSelect_ByName1_UseOptionTxt=select_name_mult|選択肢B
    Remove_MultiSelect_ByCssSelector_UseOptionTxt=<要素のCssSelector>|<option要素内のテキスト> CssSelectorで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目の選択状態を解除する
    Remove_MultiSelect_ByCssSelector_UseOptionTxt=#select_id_mult|選択肢B
    Remove_MultiSelect_ByXpath_UseOptionTxt=<要素のXpath>|<option要素内のテキスト> Xpathで指定した複数選択可能<select>要素にoption要素内のテキストで指定した項目の選択状態を解除する
    Remove_MultiSelect_ByXpath_UseOptionTxt=//*[@id="select_id_mult"]|選択肢B
    Remove_MultiSelect_ById_UseOptionValue=<要素のID>|<オプションのvalue属性値> IDで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目の選択状態を解除する
    Remove_MultiSelect_ById_UseOptionValue=select_id_mult|値A
    Remove_MultiSelect_ByName[同名番号]_UseOptionValue=<要素のname属性値>|<オプションのvalue属性値> Nameで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目の選択状態を解除する
    Remove_MultiSelect_ByName_UseOptionValue=select_name_mult|値A
    Remove_MultiSelect_ByCssSelector_UseOptionValue=<要素のCssSelector>|<オプションのvalue属性値> CssSelectorで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目の選択状態を解除する
    Remove_MultiSelect_ByCssSelector_UseOptionValue=#select_id_mult|値A
    Remove_MultiSelect_ByXpath_UseOptionValue=<要素のXpath>|<オプションのvalue属性値> Xpathで指定した複数選択可能<select>要素にoption要素のvalue属性値で指定した項目の選択状態を解除する
    Remove_MultiSelect_ByXpath_UseOptionValue=//*[@id="select_id_mult"]|値A
    Click_ByName[同名番号]=<任意要素のname属性値>|[クリックモード] Nameで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByName=Submit
    Click_ByName=Submit|mouse_click
    Click_ById[同名番号]=<任意要素のid属性値>|[クリックモード] IDで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ById=id_message
    Click_ById=id_message|mouse_click
    Click_ByValue[同名番号]=<任意要素のvalue属性値>|[クリックモード] Valueで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByValue=総合テスト案件
    Click_ByValue=総合テスト案件|mouse_click
    Click_ByClass[同名番号]=<任意要素のclass属性値>|[クリックモード] Classで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByClass3=btn-main
    Click_ByClass3=btn-main|mouse_click
    Click_ByTag[同名番号]=<任意要素のタグ名>|[クリックモード] タグ名で指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByTag3=a
    Click_ByTag3=a|mouse_click
    Click_ByOnClick=<a要素のonclick属性値>|[クリックモード] Clickで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByOnClick=delete_confirm
    Click_ByOnClick=delete_confirm|mouse_click
    Click_ByLinkText[同名番号]=<a要素のタグの値>|[クリックモード] LinkTextで指定した<a>要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    ※ MacOS safari v13ではこのコマンドが対応していない
    Click_ByLinkText=基本情報
    Click_ByLinkText=基本情報|mouse_click
    Click_ByHref[同名番号]=<a要素のhref属性値>|[クリックモード] Hrefで指定した<a>要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByHref=/center/projects/
    Click_ByHref=/center/projects/|mouse_click
    Click_ByXpath=<任意要素のXpath>|[クリックモード] Xpathで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByXpath=/html/body/input
    Click_ByXpath=/html/body/input|mouse_click
    Click_ByCssSelector=<任意要素のCssSelector>|[クリックモード] CssSelectorで指定した任意要素のクリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByCssSelector=body > div:nth-child(3)
    Click_ByCssSelector=body > div:nth-child(3)|mouse_click
    Click_ByName[同名番号]_IfExist=<任意要素のname属性値>|[クリックモード] Nameで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByName_IfExist=Submit
    Click_ByName_IfExist=Submit|mouse_click
    Click_ById[同名番号]_IfExist=<任意要素のid属性値>|[クリックモード] IDで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ById_IfExist=id_message
    Click_ById_IfExist=id_message|mouse_click
    Click_ByValue[同名番号]_IfExist=<任意要素のvalue属性値>|[クリックモード] Valueで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByValue_IfExist=総合テスト案件
    Click_ByValue_IfExist=総合テスト案件|mouse_click
    Click_ByClass[同名番号]_IfExist=<任意要素のclass属性値>|[クリックモード] Classで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByClass3_IfExist=btn-main
    Click_ByClass3_IfExist=btn-main|mouse_click
    Click_ByTag[同名番号]_IfExist=<任意要素のタグ名>|[クリックモード] タグ名で指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByTag3_IfExist=a
    Click_ByTag3_IfExist=a|mouse_click
    Click_ByOnClick_IfExist=<a要素のonclick属性値>|[クリックモード] Clickで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByOnClick_IfExist=delete_confirm
    Click_ByOnClick_IfExist=delete_confirm|mouse_click
    Click_ByLinkText[同名番号]_IfExist=<a要素のタグの値>|[クリックモード] LinkTextで指定した<a>要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    ※ MacOS safari v13ではこのコマンドが対応していない
    Click_ByLinkText_IfExist=基本情報
    Click_ByLinkText_IfExist=基本情報|mouse_click
    Click_ByHref[同名番号]_IfExist=<a要素のhref属性値>|[クリックモード] Hrefで指定した<a>要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByHref_IfExist=/center/projects/
    Click_ByHref_IfExist=/center/projects/|mouse_click
    Click_ByXpath_IfExist=<任意要素のXpath>|[クリックモード] Xpathで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByXpath_IfExist=/html/body/input
    Click_ByXpath_IfExist=/html/body/input|mouse_click
    Click_ByCssSelector_IfExist=<任意要素のCssSelector>|[クリックモード] CssSelectorで指定した任意要素が存在する場合、クリック操作を行う
    ※ クリックモードはfocus_click(要素にフォーカスを当てた後にクリック)、mouse_click(マウス左クリック)、wheel_click(マウスホイールクリック)、right_click(マウス右クリック)、async_click(非同期クリック)を指定可能です。
    ※ Safariとレガシー版Edgeはマウスクリックモードをサポートしません。
    Click_ByCssSelector_IfExist=body > div:nth-child(3)
    Click_ByCssSelector_IfExist=body > div:nth-child(3)|mouse_click
    DoubleClick_ByCssSelector=<任意要素のCssSelector> CssSelectorで指定した任意要素のダブルクリック操作を行う
    ※ MacOS safari v13ではこのコマンドが対応していない
    DoubleClick_ByCssSelector=body > form > input[type=text]:nth-child(2)
    DoubleClick_ByXpath=<任意要素のXpath> Xpathで指定した任意要素のダブルクリック操作を行う
    ※ MacOS safari v13ではこのコマンドが対応していない
    DoubleClick_ByXpath=/html/body/form/input[1]
    SwitchFrame_BySrc=<frameまたはiframe要素のsrc属性値> Srcで指定した<frame>または<iframe>のサブフレームに切り替える
    ※ サブFrameにの要素を操作する場合、このコマンドでFrameの切り替えが必要
    ※Src属性値は正規表現で指定することが可能です。
    SwitchFrame_BySrc=frame_hidari.htm
    SwitchFrame_BySrc=Regex{/tiy/loadtext.asp?f=.*}
    SwitchFrame_ByName=<frameまたはiframe要素のname属性値> Nameで指定した<frame>または<iframe>のサブフレームに切り替える
    SwitchFrame_ByName=frame1
    SwitchFrame_ById=<frameまたはiframe要素のid属性値> Idで指定した<frame>または<iframe>のサブフレームに切り替える
    SwitchFrame_ById=id_frame
    SwitchFrame_ByCssSelector=<frameまたはiframe要素のCssSelector> CssSelectorで指定した<frame>または<iframe>のサブフレームに切り替える
    SwitchFrame_ByCssSelector=#id_frame
    SwitchFrame_ByXpath=<frameまたはiframe要素のXpath> Xpathで指定した<frame>または<iframe>のサブフレームに切り替える
    SwitchFrame_ByXpath=//*[@id="id_frame"]
    SwitchFrame_ByIndex=<frameまたはiframe要素のインデックス> インデックスで指定した<frame>または<iframe>のサブフレームに切り替える
    SwitchFrame_ByIndex=2
    SwitchFrame_ToMain <frame>または<iframe>のサブフレームから、メインフレームに切り替える
    SwitchFrame_ToMain
    SwitchTab_ByTitle[同名番号]=<タブ名(title要素のタグの値)> ブラウザはタブ名で指定したタブに切り替える
    ※ 新規ウィンドウやタブを開いた場合、このコマンドでタブの切り替えが必要
    ※ 再生する時、同名番号の順番が変化する可能性があります。この場合はSwitchTab_ByElementCssSelectorを利用してください。
    ※ タブ名は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    SwitchTab_ByTitle=利用規約
    SwitchTab_ByTitle=Regex{利用規約|terms}
    SwitchTab_ByURL[同名番号]=<タブのURL> ブラウザはタブのURLで指定したタブに切り替える
    ※ 再生する時、同名番号の順番が変化する可能性があります。この場合はSwitchTab_ByElementCssSelectorを利用してください。
    ※ タブのURLは正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    SwitchTab_ByURL=https://www.itgo.co.jp/terms/
    SwitchTab_ByURL=Regex{https://www.itgo.co.jp/terms/.*}
    SwitchTab_ByElementCssSelector=<画面内の要素のCssSelector> CssSelectorで指定した要素により、ターゲット画面を判定し、タブを切り替える
    SwitchTab_ByElementCssSelector=#id_button
    Page_ScrollDown=[スクロール画面数] 画面スクロールバーを下へスクロールする
    Page_ScrollDown
    Page_ScrollUp=[スクロール画面数] 画面スクロールバーを上へスクロールする
    Page_ScrollUp
    Page_ScrollLeft=[スクロール画面数] 画面スクロールバーを左へスクロールする
    Page_ScrollLeft
    Page_ScrollRight=[スクロール画面数] 画面スクロールバーを右へスクロールする
    Page_ScrollRight
    Page_ScrollTo=<横座標の整数値,縦座標の整数値> 指定した位置に画面をスクロールする
    Page_ScrollTo=0,300
    Element_ScrollDown_ByCssSelector=<divやtable等の要素のCssSelector>|[スクロール画面数] CssSelectorで指定した<div><table>などのスクロールバーを下へスクロールする
    Element_ScrollDown_ByCssSelector=body > table
    ※ ページ内部のiframeをスクロールしたい場合は、以下のコマンドを参照してください。
    # サブFrameに切り替える
    SwitchFrame_BySrc=subframe.html
    # スクロールして、エビデンスを取得する
    Evidence_BrowserFullScreen=サブFrameスクロールして、エビデンスを取得する
    # メイン画面に戻る
    SwitchFrame_ToMain
    Element_ScrollDown_ByXpath=<divやtable等の要素のXpath>|[スクロール画面数] Xpathで指定した<div><table>などのスクロールバーを下へスクロールする
    Element_ScrollDown_ByXpath=/html/body/table
    ※ ページ内部のiframeをスクロールしたい場合は、以下のコマンドを参照してください。
    # サブFrameに切り替える
    SwitchFrame_BySrc=subframe.html
    # スクロールして、エビデンスを取得する
    Evidence_BrowserFullScreen=サブFrameスクロールして、エビデンスを取得する
    # メイン画面に戻る
    SwitchFrame_ToMain
    Element_ScrollUp_ByCssSelector=<divやtable等の要素のCssSelector>|[スクロール画面数] CssSelectorで指定した<div><table>などのスクロールバーを上へスクロールする
    Element_ScrollUp_ByCssSelector=body > table
    Element_ScrollUp_ByXpath=<divやtable等の要素のXpath>|[スクロール画面数] Xpathで指定した<div><table>などのスクロールバーを上へスクロールする
    Element_ScrollUp_ByXpath=/html/body/table
    Element_ScrollLeft_ByCssSelector=<divやtable等の要素のCssSelector>|[スクロール画面数] CssSelectorで指定した<div><table>などのスクロールバーを左へスクロールする
    Element_ScrollLeft_ByCssSelector=body > table
    Element_ScrollLeft_ByXpath=<divやtable等の要素のXpath>|[スクロール画面数] Xpathで指定した<div><table>などのスクロールバーを左へスクロールする
    Element_ScrollLeft_ByXpath=/html/body/table
    Element_ScrollRight_ByCssSelector=<divやtable等の要素のCssSelector>|[スクロール画面数] CssSelectorで指定した<div><table>などのスクロールバーを右へスクロールする
    Element_ScrollRight_ByCssSelector=body > table
    Element_ScrollRight_ByXpath=<divやtable等の要素のXpath>|[スクロール画面数] Xpathで指定した<div><table>などのスクロールバーを右へスクロールする
    Element_ScrollRight_ByXpath=/html/body/table
    Element_ScrollTo_ByCssSelector=<divやtable等の要素のCssSelector>|<横座標の整数値,縦座標の整数値> CssSelectorで指定した<div><table>などのスクロールバーをスクロールする
    Element_ScrollTo_ByCssSelector=body > table|0,300
    Element_ScrollTo_ByXpath=<divやtable等の要素のXpath>|<横座標の整数値,縦座標の整数値> Xpathで指定した<div><table>などのスクロールバーをスクロールする
    Element_ScrollTo_ByXpath=/html/body/table|0,300
    Browser_Back ブラウザ前のページへ遷移する
    Browser_Back
    Browser_Forward ブラウザ次のページへ遷移する
    Browser_Forward
    Browser_Refresh ページを再読み込む
    Browser_Refresh
    Browser_CloseTab 現在のタブを閉じる
    Browser_CloseTab
    Browser_CloseAllTabs すべてのタブを閉じる
    Browser_CloseAllTabs
    Browser_Print 印刷ダイアログを呼び出す
    Browser_Print
    Browser_SetSize=<幅の整数値,高さの整数値> ブラウザの画面のサイズを調整する
    Browser_SetSize=480,800
    Browser_SetMax ブラウザを最大化する
    Browser_SetMax
    Browser_SendKeys=<キーコード> ブラウザの画面にキーボード操作を送信する
    ※ キーコードは[付録三:UIテストのキーコード]参照してください
    ※ このコマンドは半角カナの送信を対応していない
    ※ MacOS safariでは漢字の送信を対応していない
    ※ 効果がない場合、SendKeysコマンドを利用してください。
    #Ctrl+W
    Browser_SendKeys=^{W}
    #Alt+F4
    Browser_SendKeys=%{F4}
    #ENTER
    Browser_SendKeys={ENTER}
    Alert_Accept ブラウザのアラートダイアログのOKボタンを押す
    Alert_Accept
    Alert_Cancel ブラウザのアラートダイアログのCancelボタンを押す
    Alert_Cancel
    Alert_SendString=<送信文字列> ブラウザのアラートダイアログの入力項目に文字列を送信する
    Alert_SendString=総合テスト案件
    WaitForPageLoaded ページがロード完了まで(document.readyStateがcompleteになるまで)待機する
    WaitForPageLoaded
    WaitForElementPresent_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素がDOMに現れるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementPresent_ByCssSelector=#id_btn
    WaitForElementPresent_ByCssSelector=#id_btn|500|5000
    WaitForElementPresent_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素がDOMに現れるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementPresent_ByXpath=//*[@id="id_btn"]
    WaitForElementPresent_ByXpath=//*[@id="id_btn"]|500|5000
    WaitForElementNotPresent_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素がDOMから削除されるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementNotPresent_ByCssSelector=#id_btn
    WaitForElementNotPresent_ByCssSelector=#id_btn|500|5000
    WaitForElementNotPresent_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素がDOMから削除されるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementNotPresent_ByXpath=//*[@id="id_btn"]
    WaitForElementNotPresent_ByXpath=//*[@id="id_btn"]|500|5000
    WaitForEnable_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素が操作可能状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForEnable_ByCssSelector=#id_btn
    WaitForEnable_ByCssSelector=#id_btn|500|5000
    WaitForEnable_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素が操作可能状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForEnable_ByXpath=//*[@id="id_btn"]
    WaitForEnable_ByXpath=//*[@id="id_btn"]|500|5000
    WaitForDisable_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素が操作不可状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForDisable_ByCssSelector=#id_btn
    WaitForDisable_ByCssSelector=#id_btn|500|5000
    WaitForDisable_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素が操作不可状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForDisable_ByXpath=//*[@id="id_btn"]
    WaitForDisable_ByXpath=//*[@id="id_btn"]|500|5000
    WaitForVisible_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素が可視状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForVisible_ByCssSelector=#id_input
    WaitForVisible_ByCssSelector=#id_input|500|5000
    WaitForVisible_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素が可視状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForVisible_ByXpath=//*[@id="id_input"]
    WaitForVisible_ByXpath=//*[@id="id_input"]|500|5000
    WaitForNotVisible_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素が非可視状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotVisible_ByCssSelector=#id_input
    WaitForNotVisible_ByCssSelector=#id_input|500|5000
    WaitForNotVisible_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定した要素が非可視状態になるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotVisible_ByXpath=//*[@id="id_input"]
    WaitForNotVisible=//*[@id="id_input"]|500|5000
    WaitForElementText_ByCssSelector=<要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素のタグ内のテキストが期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementText_ByCssSelector=#id_message|処理終了
    WaitForElementText_ByCssSelector=#id_message|Regex{処理終了|processed}
    WaitForElementText_ByCssSelector=#id_message|処理終了|500|5000
    WaitForElementText_ByXpath=<要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定した要素のタグ内のテキストが期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementText_ByXpath=//*[@id="id_message"]|処理終了
    WaitForElementText_ByXpath=//*[@id="id_message"]|Regex{処理終了|processed
    WaitForElementText_ByXpath=//*[@id="id_message"]|処理終了|500|5000
    WaitForElementNotText_ByCssSelector=<要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定した要素のタグ内のテキストが期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementNotText_ByCssSelector=#id_message|処理中
    WaitForElementNotText_ByCssSelector=#id_message|Regex{処理中|processing}
    WaitForElementNotText_ByCssSelector=#id_message|処理中|500|5000
    WaitForElementNotText_ByXpath=<要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定した要素のタグ内のテキストが期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForElementNotText_ByXpath=//*[@id="id_message"]|処理中
    WaitForElementNotText_ByXpath=//*[@id="id_message"]|Regex{処理中|processing}
    WaitForElementNotText_ByXpath=//*[@id="id_message"]|処理中|500|5000
    WaitForInputValue_ByCssSelector=<入力要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定したInput要素のValue値が期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForInputValue_ByCssSelector=#id_project|10000
    WaitForInputValue_ByCssSelector=#id_project|Regex{\d{5}}
    WaitForInputValue_ByCssSelector=#id_project|10000|500|5000
    WaitForInputValue_ByXpath=<入力要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定したInput要素のValue値が期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForInputValue_ByXpath=//*[@id="id_project"]|10000
    WaitForInputValue_ByXpath=//*[@id="id_project"]|Regex{\d{5}}
    WaitForInputValue_ByXpath=//*[@id="id_project"]|10000|500|5000
    WaitForNotInputValue_ByCssSelector=<入力要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定したInput要素のValue値が期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotInputValue_ByCssSelector=#id_project|99999
    WaitForNotInputValue_ByCssSelector=#id_project|Regex{\d{5}}
    WaitForNotInputValue_ByCssSelector=#id_project|99999|500|5000
    WaitForNotInputValue_ByXpath=<入力要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定したInput要素のValue値が期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotInputValue_ByXpath=//*[@id="id_project"]|99999
    WaitForNotInputValue_ByXpath=//*[@id="id_project"]|Regex{\d{5}}
    WaitForNotInputValue_ByXpath=//*[@id="id_project"]|99999|500|5000
    WaitForSelectedValue_ByCssSelector=<要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定したSelect要素で選択したValue値が期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForSelectedValue_ByCssSelector=#id_city|横浜
    WaitForSelectedValue_ByCssSelector=#id_city|Regex{横浜|Yokohama}
    WaitForSelectedValue_ByCssSelector=#id_city|横浜|500|5000
    WaitForSelectedValue_ByXpath=<要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定したSelect要素で選択したValue値が期待値と一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForSelectedValue_ByXpath=//*[@id="id_city"]|横浜
    WaitForSelectedValue_ByXpath=//*[@id="id_city"]|Regex{横浜|Yokohama}
    WaitForSelectedValue_ByXpath=//*[@id="id_city"]|横浜|500|5000
    WaitForNotSelectedValue_ByCssSelector=<要素のcssSelector>|<期待値>|[開始時間]|[タイムアウト時間] cssSelectorで指定したSelect要素で選択したValue値が期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotSelectedValue_ByCssSelector=#id_city|選択してください
    WaitForNotSelectedValue_ByCssSelector=#id_city|Regex{選択してください|Please Select the Item}
    WaitForNotSelectedValue_ByCssSelector=#id_city|選択してください|500|5000
    WaitForNotSelectedValue_ByXpath=<要素のXpath>|<期待値>|[開始時間]|[タイムアウト時間] Xpathで指定したSelect要素で選択したValue値が期待値と不一致するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotSelectedValue_ByXpath=//*[@id="id_city"]|選択してください
    WaitForNotSelectedValue_ByXpath=//*[@id="id_city"]|Regex{選択してください|Please Select the Item}
    WaitForNotSelectedValue_ByXpath=//*[@id="id_city"]|選択してください|500|5000
    WaitForChecked_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定したCheckboxまたはRadio要素がチェックオンになるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForChecked_ByCssSelector=#id_agree
    WaitForChecked_ByCssSelector=#id_agree|500|5000
    WaitForChecked_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定したCheckboxまたはRadio要素がチェックオンになるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForChecked_ByXpath=//*[@id="id_agree"]
    WaitForChecked_ByXpath=//*[@id="id_agree"]|500|5000
    WaitForNotChecked_ByCssSelector=<要素のcssSelector>|[開始時間]|[タイムアウト時間] cssSelectorで指定したCheckboxまたはRadio要素がチェックオフになるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotChecked_ByCssSelector=#id_agree
    WaitForNotChecked_ByCssSelector=#id_agree|500|5000
    WaitForNotChecked_ByXpath=<要素のXpath>|[開始時間]|[タイムアウト時間] Xpathで指定したCheckboxまたはRadio要素がチェックオフになるまで待機する
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForNotChecked_ByXpath=//*[@id="id_agree"]
    WaitForNotChecked_ByXpath=//*[@id="id_agree"]|500|5000
    WaitForURL=<期待値>|[開始時間]|[タイムアウト時間] 指定したURLを取得するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForURL=http://atgo.rgsis.com/
    WaitForURL=Regex{https?://atgo.rgsis.com/}
    WaitForURL=http://atgo.rgsis.com/|500|5000
    WaitForTitle=<期待値>|[開始時間]|[タイムアウト時間] 指定したページタイトルを取得するまで待機する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※ 第二引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第三引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForTitle=ATgo自動テストサイト
    WaitForTitle=Regex{ATgo自動テストサイト|ATgo Website}
    WaitForTitle=ATgo自動テストサイト|500|5000
    WaitForAlert=[開始時間]|[タイムアウト時間] Alertが表示されるまで待機する
    ※ 第一引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第二引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForAlert
    WaitForAlert=500|5000
    WaitForJSReturnValue=<JavaScriptコード>|<期待値>|[開始時間]|[タイムアウト時間] 指定したJavaScriptコードを実行し、戻り値が期待値と一致するまで待機する
    ※ 戻り値を返すコードの前にreturnが必要です。
    ※ 第三引数は省略可能です。指定しない場合は、ディフォルト値0を使います。
    ※ 第四引数は省略可能です。指定しない場合は、config.settingsのbrowser_wait_timeoutで設定したタイムアウト時間を使います。
    WaitForJSReturnValue=return document.getElementById('id_a').value|sample1
    WaitForJSReturnValue=return document.getElementById('id_a').value|sample1|500|5000
    ExecuteJavaScript=<JavaScriptコード> 指定したJavaScriptコードを実行する
    ExecuteJavaScript=document.getElementById("button1").onclick=function(){alert("このページを離れますか");}
    CommandsForIE_Start IE専用コマンドの範囲の開始位置を指定する
    CommandsForIE_Start
    CommandsForIE_End IE専用コマンドの範囲の終了位置を指定する
    CommandsForIE_End
    CommandsForChrome_Start Chrome専用コマンドの範囲の開始位置を指定する
    CommandsForChrome_Start
    CommandsForChrome_End Chrome専用コマンドの範囲の終了位置を指定する
    CommandsForChrome_End
    CommandsForFirefox_Start Firefox専用コマンドの範囲の開始位置を指定する
    CommandsForFirefox_Start
    CommandsForFirefox_End Firefox専用コマンドの範囲の終了位置を指定する
    CommandsForFirefox_End
    CommandsForEdgeNew_Start Chromium版Edge専用コマンドの範囲の開始位置を指定する
    CommandsForEdgeNew_Start
    CommandsForEdgeNew_End Chromium版Edge専用コマンドの範囲の終了位置を指定する
    CommandsForEdgeNew_End
    CommandsForEdgeIEMode_Start Edge(IEモード)専用コマンドの範囲の開始位置を指定する
    CommandsForEdgeIEMode_Start
    CommandsForEdgeIEMode_End Edge(IEモード)専用コマンドの範囲の終了位置を指定する
    CommandsForEdgeIEMode_End
    CommandsForEdge_Start レガシー版Edge専用コマンドの範囲の開始位置を指定する
    CommandsForEdge_Start
    CommandsForEdge_End レガシー版Edge専用コマンドの範囲の終了位置を指定する
    CommandsForEdge_End
    CommandsForSafari_Start Safari専用コマンドの範囲の開始位置を指定する
    CommandsForSafari_Start
    CommandsForSafari_End Safari専用コマンドの範囲の終了位置を指定する
    CommandsForSafari_End
    ChoosePrintOnPrintDialog=[PDFとして保存する場合の保存先] 印刷ダイアログで印刷ボタンを押す
    ※第一引数を指定しない場合、印刷ボタンを押す動作のみを行う
    ※第一引数を指定する場合、プリンターとして[Microsoft Print to PDF]を選択してから印刷ボタンを押す
    ※ダイアログがフォーカスされている時のみ正しく動作できますので、テスト実施する際に、ブレークポイントの設置や無関係な操作をお控えてください。
    ※ブラウザの表示言語に日本語を設定してください。
    ChoosePrintOnPrintDialog
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    ChoosePrintOnPrintDialog=test.pdf
    // 絶対パスの場合
    ChoosePrintOnPrintDialog=D:\test.pdf
    ChooseSaveOnFileDLDialog=<ファイルの保存先> ファイルダウンロードダイアログでファイルの保存先を指定し、保存ボタンを押す
    ※ダイアログがフォーカスされている時のみ正しく動作できますので、テスト実施する際に、ブレークポイントの設置や無関係な操作をお控えてください。
    ※ブラウザの表示言語に日本語を設定してください。
    ※ChromeとChromium版Edgeで実行する場合、一回のみのダウンロードの設定が必要です。マニュアルの「付録十七:ChromeとChromium版Edgeの起動オプションを設定する方法」をご参照ください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    ChooseSaveOnFileDLDialog=test.zip
    // 絶対パスの場合
    ChooseSaveOnFileDLDialog=D:\test.zip
    ChooseOpenOnFileULDialog=<ファイルのパス> ファイルアップロードダイアログでファイルのパスを指定し、開くボタンを押す
    ※ダイアログがフォーカスされている時のみ正しく動作できますので、テスト実施する際に、ブレークポイントの設置や無関係な操作をお控えてください。
    ChooseOpenOnFileULDialog=_PROJECT_ROOT_\input\test.zip
    アサーション AssertElementText_ByCssSelector=<要素のcssSelector>|<期待値> cssSelectorで指定した要素のText値が期待値であることを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertElementText_ByCssSelector=#id_message|処理終了
    AssertElementText_ByCssSelector=#id_message|Regex{処理終了|processed}
    AssertElementText_ByXpath=<要素のXpath>|<期待値> Xpathで指定した要素のText値が期待値であることを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertElementText_ByXpath=//*[@id="id_message"]|処理終了
    AssertElementText_ByXpath=//*[@id="id_message"]|Regex{処理終了|processed}
    AssertElementNotText_ByCssSelector=<要素のcssSelector>|<期待値> cssSelectorで指定した要素のText値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertElementNotText_ByCssSelector=#id_message|処理中
    AssertElementNotText_ByCssSelector=#id_message|Regex{処理中|processing}
    AssertElementNotText_ByXpath=<要素のXpath>|<期待値> Xpathで指定した要素のText値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertElementNotText_ByXpath=//*[@id="id_message"]|処理中
    AssertElementNotText_ByXpath=//*[@id="id_message"]|Regex{処理中|processing}
    AssertInputValue_ByCssSelector=<入力要素のcssSelector>|<期待値> cssSelectorで指定したInput要素のValue値が期待値であるを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertInputValue_ByCssSelector=#id_project|10000
    AssertInputValue_ByCssSelector=#id_project|Regex{\d{5}}
    AssertInputValue_ByXpath=<入力要素のXpath>|<期待値> Xpathで指定したInput要素のValue値が期待値であるを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertInputValue_ByXpath=//*[@id="id_project"]|10000
    AssertInputValue_ByXpath=//*[@id="id_project"]|Regex{\d{5}}
    AssertNotInputValue_ByCssSelector=<入力要素のcssSelector>|<期待値> cssSelectorで指定したInput要素のValue値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertNotInputValue_ByCssSelector=#id_project|99999
    AssertNotInputValue_ByCssSelector=#id_project|Regex{\d{5}}
    AssertNotInputValue_ByXpath=<入力要素のXpath>|<期待値> Xpathで指定したInput要素のValue値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertNotInputValue_ByXpath=//*[@id="id_project"]|99999
    AssertNotInputValue_ByXpath=//*[@id="id_project"]|Regex{\d{5}}
    AssertSelectedValue_ByCssSelector=<要素のcssSelector>|<期待値> cssSelectorで指定したSelect要素で選択したValue値が期待値であることを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertSelectedValue_ByCssSelector=#id_city|横浜 AssertSelectedValue_ByCssSelector=#id_city|Regex{横浜|Yokohama}
    AssertSelectedValue_ByXpath=<要素のXpath>|<期待値> Xpathで指定したSelect要素で選択したValue値が期待値であることを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertSelectedValue_ByXpath=//*[@id="id_city"]|横浜 AssertSelectedValue_ByXpath=//*[@id="id_city"]|Regex{横浜|Yokohama}
    AssertNotSelectedValue_ByCssSelector=<要素のcssSelector>|<期待値> cssSelectorで指定したSelect要素で選択したValue値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertNotSelectedValue_ByCssSelector=#id_city|選択してください
    AssertNotSelectedValue_ByCssSelector=#id_city|Regex{選択してください|Please Select the Item}
    AssertNotSelectedValue_ByXpath=<要素のXpath>|<期待値> Xpathで指定したSelect要素で選択したValue値が期待値でないことを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertNotSelectedValue_ByXpath=//*[@id="id_city"]|選択してください
    AssertNotSelectedValue_ByXpath=//*[@id="id_city"]|Regex{選択してください|Please Select the Item}
    AssertChecked_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素がチェック済であることを検証する
    AssertChecked_ByCssSelector=#id_agree
    AssertChecked_ByXpath=<要素のXpath> Xpathで指定した要素がチェック済であることを検証する
    AssertChecked_ByXpath=//*[@id="id_agree"]
    AssertNotChecked_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素がチェック済でないことを検証する
    AssertNotChecked_ByCssSelector=#id_agree
    AssertNotChecked_ByXpath=<要素のXpath> Xpathで指定した要素がチェック済でないことを検証する
    AssertNotChecked_ByXpath=//*[@id="id_agree"]
    AssertElementPresent_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が存在することを検証する
    AssertElementPresent_ByCssSelector=#id_btn
    AssertElementPresent_ByXpath=<要素のXpath> Xpathで指定した要素が存在することを検証する
    AssertElementPresent_ByXpath=//*[@id="id_btn"]
    AssertElementNotPresent_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が存在しないことを検証する
    AssertElementNotPresent_ByCssSelector=#id_btn
    AssertElementNotPresent_ByXpath=<要素のXpath> Xpathで指定した要素が存在しないことを検証する
    AssertElementNotPresent_ByXpath=//*[@id="id_btn"]
    AssertVisible_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が存在して見えることを検証する
    AssertVisible_ByCssSelector=#id_input
    AssertVisible_ByXpath=<要素のXpath> Xpathで指定した要素が存在して見えることを検証する
    AssertVisible_ByXpath=//*[@id="id_input"]
    AssertNotVisible_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が見えないことを検証する
    AssertNotVisible_ByCssSelector=#id_input
    AssertNotVisible_ByXpath=<要素のXpath> Xpathで指定した要素が見えないことを検証する
    AssertNotVisible_ByXpath=//*[@id="id_input"]
    AssertEnable_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が操作可能であることを検証する
    AssertEnable_ByCssSelector=#id_btn
    AssertEnable_ByXpath=<要素のXpath> Xpathで指定した要素が操作可能であることを検証する
    AssertEnable_ByXpath=//*[@id="id_btn"]
    AssertDisable_ByCssSelector=<要素のcssSelector> cssSelectorで指定した要素が操作不可であることを検証する
    AssertDisable_ByCssSelector=#id_btn
    AssertDisable_ByXpath=<要素のXpath> Xpathで指定した要素が操作不可であることを検証する
    AssertDisable_ByXpath=//*[@id="id_btn"]
    AssertCurrentElementText=<期待値> フォーカスを持っている要素のタグ内の文字列は期待値と一致するかを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertCurrentElementText=テスト
    AssertCurrentElementAttribute=<属性名>|<期待値> フォーカスを持っている要素の属性値は期待値と一致するかを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertCurrentElementAttribute=id|id_test
    AssertCurrentElementAttribute=name|name_test
    AssertCurrentElementAttribute=value|value_test
    AssertURL=<期待値> URLを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertURL=http://atgo.rgsis.com/
    AssertURL=Regex{https?://atgo.rgsis.com/}
    AssertTitle=<期待値> ページのタイトルを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertTitle=ATgo自動テストサイト
    AssertTitle=Regex{ATgo自動テストサイト|ATgo Website}
    AssertAlertText=<期待値> ブラウザのアラートダイアログ内のメッセージ文字列は期待値であることを検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    AssertAlertText=Hello
    AssertAlertText=Regex{Hello|こんにちは}
    AssertAlertPresent ブラウザのアラートダイアログが存在することを検証する
    AssertAlertPresent
    AssertAlertNotPresent ブラウザのアラートダイアログが存在しないことを検証する
    AssertAlertNotPresent
    AssertTextContainedInFile=<ファイルパス>|<期待値>|[エンコード] 期待値がテキストファイルの中に存在するか検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※第三引数は省略可能です。既定値はUTF-8です。
    ※指定可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xmlです。
    AssertTextContainedInFile=D:\test.txt|error
    AssertTextContainedInFile=D:\test.txt|Regex{(?i)error}
    AssertTextNotContainedInFile=<ファイルパス>|<期待値>|[エンコード] 期待値がテキストファイルの中に存在しないか検証する
    ※ 期待値は正規表現で指定することが可能です。正規表現を利用する場合、指定したい正規表現の両端に「Regex{」と「}」を付けてください。
    ※第三引数は省略可能です。既定値はUTF-8です。
    ※指定可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xmlです。
    AssertTextNotContainedInFile=D:\test.txt|error
    AssertTextNotContainedInFile=D:\test.txt|Regex{(?i)error}
    AssertFileExist=<ファイルパス> 指定したファイルが存在するか検証する
    // 絶対パスの場合
    AssertFileExist=D:\test.txt
    // 相対パスの場合、テストプロジェクトのルートパスを基準にする
    AssertFileExist=output\_OUTPUT_TIMESTAMP_\test.txt
    AssertFileNotExist=<ファイルパス> 指定したファイルが存在しないか検証する
    // 絶対パスの場合
    AssertFileNotExist=D:\test.txt
    // 相対パスの場合、テストプロジェクトのルートパスを基準にする
    AssertFileNotExist=output\_OUTPUT_TIMESTAMP_\test.txt
    AssertTextContainedInFileAndCapturingGroupEqual=<ファイルパス>|<期待値1>|<期待値2>|[エンコード] 正規表現で指定した期待値1と期待値2がテキストファイルに存在し、なお、期待値1と期待値2の中、キャプチャグループを使って取得されたパターンの部分にマッチした文字列は同じ値かを検証する
    ※正規表現では、括弧で囲われたパターンの部分にマッチした文字列を取得することができます。これはキャプチャグループと呼ばれています。
    ※第四引数は省略可能です。既定値はUTF-8です。
    ※指定可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xmlです。
    AssertTextContainedInFileAndCapturingGroupEqual=D:\test.log|keywordA=(.*?)\r\n|keywordB=(.*?)\r\n
    AssertTextContainedInFileButCapturingGroupNotEqual=<ファイルパス>|<期待値1>|<期待値2>|[エンコード] 正規表現で指定した期待値1と期待値2がテキストファイルに存在し、なお、期待値1と期待値2の中、キャプチャグループを使って取得されたパターンの部分にマッチした文字列は異なるかを検証する
    ※正規表現では、括弧で囲われたパターンの部分にマッチした文字列を取得することができます。これはキャプチャグループと呼ばれています。
    ※第四引数は省略可能です。既定値はUTF-8です。
    ※指定可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xmlです。
    AssertTextContainedInFileButCapturingGroupNotEqual=D:\test.log|keywordA=(.*?)\r\n|keywordB=(.*?)\r\n
    変数 Var_Value=<%%変数%%>|<文字列値> 指定したValue値を変数に格納する
    Var_Value=%%口座番号%%|0000001
    Var_ElementText_ById[同名番号]=<%%変数%%>|<要素のID属性値> IDで指定したタグ内のテキストを取得してから、変数に格納する
    例:<span id="id_kouza">P000001</span> このタグ内のテキストはP000001である
    Var_ElementText_ById=%%口座番号%%|id_kouza
    Var_ElementText_ByName[同名番号]=<%%変数%%>|<要素のname属性値> Nameで指定したタグ内のテキストを取得してから、変数に格納する
    Var_ElementText_ByName2=%%口座番号%%|kouza
    Var_ElementText_ByClass[同名番号]=<%%変数%%>|<要素のclass属性値> Classで指定したタグ内のテキストを取得してから、変数に格納する
    Var_ElementText_ByClass2=%%口座番号%%|form-control
    Var_ElementText_ByCssSelector=<%%変数%%>|<要素のCssSelector> CssSelectorで指定したタグ内のテキストを取得してから、変数に格納する
    Var_ElementText_ByCssSelector=%%口座番号%%|body > div:nth-child(4) > span
    Var_ElementText_ByXpath=<%%変数%%>|<要素のXpath> Xpathで指定したタグ内のテキストを取得してから、変数に格納する
    Var_ElementText_ByXpath=%%口座番号%%|/html/body/div[1]/span
    Var_ElementInput_ById[同名番号]=<%%変数%%>|<要素のId属性値> IDで指定したInput要素の値を取得してから、変数に格納する
    ※ checkbox、radio、select要素値の取得を対応していない、以下同じ
    Var_ElementInput_ById=%%口座番号%%|id_kouza
    Var_ElementInput_ByName[同名番号]=<%%変数%%>|<要素のname属性値> Nameで指定したInput要素の値を取得してから、変数に格納する
    Var_ElementInput_ByName2=%%口座番号%%|kouza
    Var_ElementInput_ByClass[同名番号]=<%%変数%%>|<要素のclass属性値> Classで指定したInput要素の値を取得してから、変数に格納する
    Var_ElementInput_ByClass2=%%口座番号%%|form-control
    Var_ElementInput_ByCssSelector=<%%変数%%>|<要素のXpath> CssSelectorで指定したInput要素の値を取得してから、変数に格納する
    Var_ElementInput_ByCssSelector=%%口座番号%%|body > div:nth-child(4) > input
    Var_ElementInput_ByXpath=<%%変数%%>|<要素のCssSelector> Xpathで指定したInput要素の値を取得してから、変数に格納する
    Var_ElementInput_ByXpath=%%口座番号%%|/html/body/div[1]/input
    Var_ElementAttribute_ByName[同名番号]=<%%変数%%>|<要素のname属性値>|<属性名> Nameで指定した要素の指定した属性の値を取得して変数に格納する
    Var_ElementAttribute_ByName2=%%口座番号%%|kouza|value
    Var_ElementAttribute_ById[同名番号]=<%%変数%%>|<要素のid属性値>|<属性名> IDで指定した要素の指定した属性の値を取得して変数に格納する
    Var_ElementAttribute_ById=%%口座番号%%|id_kouza|value
    Var_ElementAttribute_ByTag[同名番号]=<%%変数%%>|<要素のタグ名>|<属性名> Tagで指定した要素の指定した属性の値を取得して変数に格納する
    Var_ElementAttribute_ByTag4=%%Input要素のname属性値%%|input|name
    Var_ElementAttribute_ByCssSelector=<%%変数%%>|<要素のCssSelector>|<属性名> CssSelectorで指定した要素の指定した属性の値を取得して変数に格納する
    Var_ElementAttribute_ByCssSelector=%%口座番号%%|body > div:nth-child(4) > input|value
    Var_ElementAttribute_ByXpath[同名番号]=<%%変数%%>|<要素のXpath>|<属性名> Xpathで指定した要素の指定した属性の値を取得して変数に格納する
    Var_ElementAttribute_ByXpath=%%口座番号%%|/html/body/div[1]/input|value
    Var_Url=<%%変数%%> ページのURLを取得して変数に格納する
    Var_Url=%%URL%%
    Var_Title=<%%変数%%> ページのタイトルを取得して変数に格納する
    Var_Title=%%タイトル%%/div>
    Var_AlertText=<%%変数%%> ブラウザのアラートダイアログ内のメッセージ文字列を取得して変数に格納する
    Var_AlertText=%%メッセージ%%
    Var_Edit=<%%変数名%%>|<JavaScriptコード> 指定した変数をJavaScriptで編集する
    Var_Edit=%%口座番号%%|口座番号.trim()
    Var_Print=[文字列]<%%変数%%>[文字列] 変数の値をコンソールに出力する
    Var_Print=口座番号は%%口座番号%%
    エビデンス Evidence_Comment=<コメント文字列> エビデンスのEXCELにコメントを出力する
    Evidence_Comment=案件作成部分テスト開始
    Evidence_Popup=<ポップアップメッセージ> エビデンスのEXCELにポップアップメッセージボックスを作成する
    Evidence_Popup=データベースに接続
    Evidence_RedRectangle エビデンスのEXCELに赤い長方形を作成する
    Evidence_RedRectangle
    Evidence_ClipboardText=[エンコード] クリップボードからテキストを読み取って、エビデンスのEXCELに貼り付ける
    Evidence_ClipboardText
    Evidence_BrowserScreen=[スクリーンショット画像説明] 画面の可視アリアのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    ※JavaScriptのalert(), confirm(), prompt()でダイアログが表示中の場合、このコマンドが使えないので、Evidence_DesktopScreenを使用してください。
    Evidence_BrowserScreen=案件新規画面
    Evidence_BrowserFullScreen=[スクリーンショット画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    ※JavaScriptのalert(), confirm(), prompt()でダイアログが表示中の場合、このコマンドが使えないので、Evidence_DesktopScreenを使用してください。
    ※引数は全部省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第二引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第三引数を指定してください。
    Evidence_BrowserFullScreen=案件画面
    Evidence_BrowserFullScreen=案件画面|header|footer
    Evidence_ElementScreen_ByCssSelector=<divやtable等の要素のCssSelector>|[画像説明] CssSelectorで指定した<div><table>などの可視アリアのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    Evidence_ElementScreen_ByCssSelector=body > table|応募者一覧表
    Evidence_ElementScreen_ByXpath=<divやtable等の要素のXpath>|[画像説明] Xpathで指定した<div><table>などの可視アリアのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    Evidence_ElementScreen_ByXpath=/html/body/div[1]|応募者一覧表
    Evidence_ElementFullScreen_ByCssSelector=<divやtable等の要素のCssSelector>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    ※第一引数以外は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    Evidence_ElementFullScreen_ByCssSelector=body > table|応募者一覧表
    Evidence_ElementFullScreen_ByCssSelector=body > table|応募者一覧表|header|footer
    Evidence_ElementFullScreen_ByXpath=<divやtable等の要素のXpath>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    ※第一引数以外は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    Evidence_ElementFullScreen_ByXpath=/html/body/div[1]|応募者一覧表
    Evidence_ElementFullScreen_ByXpath=/html/body/div[1]|応募者一覧表|header|footer
    Evidence_DB_Select=<SQLのSelect文> SQLのSelect文を実施し、結果エビデンスのEXCELに貼り付ける
    Evidence_DB_Select=select * from project.employees where employee_id >= 1
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    Evidence_FTPLog=<FTPサーバ上のログファイルパス> FTPサーバ上のログファイルを取得し、エビデンスのEXCELに貼り付ける
    Evidence_FTPLog=/var/log/access.log|shift-jis
    Evidence_DesktopScreen=[スクリーンショット画像説明] デスクトップのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    Evidence_DesktopScreen=データベース回復
    Evidence_WindowScreen=[スクリーンショット画像説明] アクティブなウィンドウのスクリーンショットをとって、エビデンスのEXCELに貼り付ける
    Evidence_WindowScreen=ウィンドウ
    Evidence_HTML=[HTMLのエンコード] ページのHTMLソースを取得し、エビデンスのEXCELに貼り付ける
    ※ HTMLソースのみで保存、css/jsファイルを保存しない
    Evidence_HTML=utf-8
    Evidence_BrowserLog=[エンコード] ブラウザのコンソールログを取得し、EXCELに貼り付ける
    ※ このコマンドはChromeとChromium版Edgeのみサポートしています。
    Evidence_BrowserLog=utf-8
    Evidence_NetworkLog=[エンコード] ネットワークログを取得し、EXCELに貼り付ける
    ※ このコマンドはChromeとChromium版Edgeのみサポートしています。
    Evidence_NetworkLog=utf-8
    Evidence_BrowserFullScreen_And_Paging_ByLinkCssSelector=<リンクのCssSelector>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第一引数以外は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    Evidence_BrowserFullScreen_And_Paging_ByLinkCssSelector=a[title="次頁"]
    Evidence_BrowserFullScreen_And_Paging_ByLinkXpath=<リンクのXpath>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第一引数以外は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    Evidence_BrowserFullScreen_And_Paging_ByLinkXpath=//a[@title="次頁"]
    Evidence_ElementFullScreen_ByCssSelector_And_Paging_ByLinkCssSelector=<divやtable等の要素のCssSelector>|<リンクのCssSelector>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数、第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    Evidence_ElementFullScreen_ByCssSelector_And_Paging_ByLinkCssSelector=body > table|a[title="次頁"]
    Evidence_ElementFullScreen_ByCssSelector_And_Paging_ByLinkXpath=<divやtable等の要素のCssSelector>|<リンクのXpath>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数、第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    Evidence_ElementFullScreen_ByCssSelector_And_Paging_ByLinkXpath=body > table|//a[@title="次頁"]
    Evidence_ElementFullScreen_ByXpath_And_Paging_ByLinkCssSelector=<divやtable等の要素のXpath>|<リンクのCssSelector>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数、第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    Evidence_ElementFullScreen_ByXpath_And_Paging_ByLinkCssSelector=/html/body/table|a[title="次頁"]
    Evidence_ElementFullScreen_ByXpath_And_Paging_ByLinkXpath=<divやtable等の要素のXpath>|<リンクのXpath>|[画像説明]|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、エビデンスのEXCELに貼り付け、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数、第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    Evidence_ElementFullScreen_ByXpath_And_Paging_ByLinkXpath=/html/body/table|//a[@title="次頁"]
    Save_ClipboardText_ToFile=<ファイルの保存先>|[エンコード] クリップボードからテキストを読み取って、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ClipboardText_ToFile=clipboard.txt
    // 絶対パスの場合
    Save_ClipboardText_ToFile=D:\Output\clipboard.txt
    Save_BrowserScreen_ToFile=<png画像ファイルパス> 画面の可視アリアのスクリーンショットをとって、ファイルに保存する
    ※JavaScriptのalert(), confirm(), prompt()のダイアログが表示中の場合、このコマンドが使えないので、Save_DesktopScreen_ToFileを使用してください
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_BrowserScreen_ToFile=案件詳細画面.png
    Save_BrowserScreen_ToFile=data\案件詳細画面.png
    // 絶対パスの場合
    Save_BrowserScreen_ToFile=d:\output\案件詳細画面.png
    Save_BrowserFullScreen_ToFile=<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、ファイルに保存する
    ※JavaScriptのalert(), confirm(), prompt()のダイアログが表示中の場合、このコマンドが使えないので、Save_DesktopScreen_ToFileを使用してください。
    ※第二引数と第三引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第二引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第三引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_BrowserFullScreen_ToFile=案件詳細画面.png
    Save_BrowserFullScreen_ToFile=data\案件詳細画面.png
    // 絶対パスの場合
    Save_BrowserFullScreen_ToFile=d:\output\案件詳細画面.png
    Save_ElementScreenByCssSelector_ToFile=<divやtable等の要素のCssSelector>|<png画像ファイルパス> CssSelectorで指定した<div><table>などの可視アリアのスクリーンショットをとって、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementScreenByCssSelector_ToFile=body > table|応募者一覧表.png
    Save_ElementScreenByCssSelector_ToFile=body > table|data\応募者一覧表.png
    // 絶対パスの場合
    Save_ElementScreenByCssSelector_ToFile=body > table|D:\Output\data\応募者一覧表.png
    Save_ElementScreenByXpath_ToFile=<divやtable等の要素のXpath>|<png画像ファイルパス> Xpathで指定した<div><table>などの可視アリアのスクリーンショットをとって、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementScreenByXpath_ToFile=/html/body/div[1]|応募者一覧表.png
    Save_ElementScreenByXpath_ToFile=/html/body/div[1]|data\応募者一覧表.png // 絶対パスの場合
    Save_ElementScreenByXpath_ToFile=/html/body/div[1]|D:\Output\data\応募者一覧表.png
    Save_ElementFullScreenByCssSelector_ToFile=<divやtable等の要素のCssSelector>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存する
    ※第三引数と第四引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreenByCssSelector_ToFile=body > table|応募者一覧表.png
    Save_ElementFullScreenByCssSelector_ToFile=body > table|data\応募者一覧表.png
    // 絶対パスの場合
    Save_ElementFullScreenByCssSelector_ToFile=body > table|D:\Output\data\応募者一覧表.png
    Save_ElementFullScreenByXPath_ToFile=<divやtable等の要素のXpath>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存する
    ※第三引数と第四引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreenByXPath_ToFile=/html/body/div[1]|応募者一覧表.png
    Save_ElementFullScreenByXPath_ToFile=/html/body/div[1]|data\応募者一覧表.png
    // 絶対パスの場合
    Save_ElementFullScreenByXPath_ToFile=/html/body/div[1]|D:\Output\data\応募者一覧表.png
    Save_DB_Select_ToFile=<SQLのSelect文>|<結果csvファイル保存先> SQLのSelect文を実施し、結果ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_DB_Select_ToFile=select * from project.employees where employee_id >=1|担当者テーブル.csv
    Save_DB_Select_ToFile=select * from project.employees where employee_id >=1|data\担当者テーブル.csv
    // 絶対パスの場合
    Save_DB_Select_ToFile=select * from project.employees where employee_id >=1|D:\Output\data\担当者テーブル.csv
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    Save_FTPLog_ToFile=<FTPサーバのログファイルパス> FTPサーバのログファイルを取得し、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_FTPLog_ToFile=/var/log/access.log|access.log
    Save_FTPLog_ToFile=/var/log/access.log|data\access.log
    // 絶対パスの場合
    Save_FTPLog_ToFile=/var/log/access.log|D:\Output\data\access.log
    Save_DesktopScreen_ToFile=<png画像ファイルパス> デスクトップのスクリーンショットをとって、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_DesktopScreen_ToFile=データベース回復.png
    Save_DesktopScreen_ToFile=data\データベース回復.png
    // 絶対パスの場合
    Save_DesktopScreen_ToFile=D:\Output\data\データベース回復.png
    Save_WindowScreen_ToFile=<png画像ファイルパス> アクティブなウィンドウのスクリーンショットをとって、ファイルに保存する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_WindowScreen_ToFile=ウィンドウ.png
    Save_WindowScreen_ToFile=data\ウィンドウ.png
    // 絶対パスの場合
    Save_WindowScreen_ToFile=D:\Output\data\ウィンドウ.png
    Save_HTML_ToFile=<ファイルの保存先>|[HTMLのエンコード] ページのHTMLソースを取得し、ファイルに保存する
    ※ HTMLソースのみで保存、css/jsファイルを保存しない
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_HTML_ToFile=ログイン画面.html|utf-8
    Save_HTML_ToFile=data\ログイン画面.html|utf-8
    // 絶対パスの場合
    Save_HTML_ToFile=D:\Output\ログイン画面.html|utf-8
    Save_BrowserLog_ToFile=<ファイルの保存先>|[エンコード] ブラウザのコンソールログを取得し、ファイルに保存する
    ※ このコマンドはChromeとChromium版Edgeのみサポートしています。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_BrowserLog_ToFile=ログイン画面.txt|utf-8
    Save_BrowserLog_ToFile=data\ログイン画面.txt|utf-8
    // 絶対パスの場合
    Save_BrowserLog_ToFile=D:\Output\ログイン画面.txt|utf-8
    Save_NetworkLog_ToFile=<ファイルの保存先>|[エンコード] ネットワークログを取得し、ファイルに保存する
    ※ このコマンドはChromeとChromium版Edgeのみサポートしています。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_NetworkLog_ToFile=ログイン画面.txt
    Save_NetworkLog_ToFile=data\ログイン画面.txt|utf-8
    // 絶対パスの場合
    Save_NetworkLog_ToFile=D:\Output\ログイン画面.txt|utf-8
    Save_PDF_ToFile=<ファイルの保存先> ブラウザ上に表示しているPDFを保存する
    ※ウィンドウがフォーカスされている時のみ正しく動作できますので、テスト実施する際に、ブレークポイントの設置や無関係な操作をお控えてください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_PDF_ToFile=test.pdf
    // 絶対パスの場合
    Save_PDF_ToFile=D:\test.pdf
    Save_BrowserFullScreen_And_Paging_ByLinkCssSelector=<リンクのCssSelector>|<ファイルの保存先>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数と第四引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_BrowserFullScreen_And_Paging_ByLinkCssSelector=a[title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_BrowserFullScreen_And_Paging_ByLinkCssSelector=a[title="次頁"]|D:\案件詳細画面.png
    Save_BrowserFullScreen_And_Paging_ByLinkXpath=<リンクのXpath>|<ファイルの保存先>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] 画面のフルページのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第三引数と第四引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第三引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第四引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_BrowserFullScreen_And_Paging_ByLinkXpath=//a[@title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_BrowserFullScreen_And_Paging_ByLinkXpath=//a[@title="次頁"]|D:\案件詳細画面.png
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkCssSelector=<divやtable等の要素のCssSelector>|<リンクのCssSelector>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkCssSelector=body > table|a[title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkCssSelector=body > table|a[title="次頁"]|D:\案件詳細画面.png
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkXpath=<divやtable等の要素のCssSelector>|<リンクのXpath>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] CssSelectorで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkXpath=body > table|//a[@title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_ElementFullScreen_ByCssSelector_And_Paging_ByLinkXpath=body > table|//a[@title="次頁"]|D:\案件詳細画面.png
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkCssSelector=<divやtable等の要素のXpath>|<リンクのCssSelector>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkCssSelector=/html/body/table|a[title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkCssSelector=/html/body/table|a[title="次頁"]|D:\案件詳細画面.png
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkXpath=<divやtable等の要素のXpath>|<リンクのXpath>|<png画像ファイルパス>|[上部固定ヘッダーのCssSelector又はXpath]|[下部固定フッターのCssSelector又はXpath] Xpathで指定した<div><table>などのフルエリアのスクリーンショットをとって、ファイルに保存し、リンクのクリックを繰り返し行う
    ※リンクが画面上に存在しない場合は、処理を終了します。
    ※第四引数と第五引数は省略可能です。
    ※画面には最上部に固定するヘッダーがある場合、第四引数を指定してください。
    ※画面には最下部に固定するフッターがある場合、第五引数を指定してください。
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkXpath=/html/body/table|//a[@title="次頁"]|案件詳細画面.png
    // 絶対パスの場合
    Save_ElementFullScreen_ByXpath_And_Paging_ByLinkXpath=/html/body/table|//a[@title="次頁"]|D:\案件詳細画面.png
    AddFileIntoInspectionData=<パス>|[文字エンコード]|[フォルダパスを指定した場合再帰的に探索するか(true/false)] 指定したファイルを検証データに追加して出力する
    ※第一引数はファイルパスまたはフォルダパスを指定可能です。
    ※第二引数は省略可能です。既定値はUTF-8です。
    ※第三引数は省略可能です。既定値はtrueであり、指定したフォルダを再帰的に探索します。
    ※追加可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xml, .pngです。
    AddFileIntoInspectionData=D:\test.txt
    AddFileIntoInspectionData=D:\test.png
    AddFileIntoInspectionData=D:\folder
    AddFileIntoInspectionData=D:\folder||false
    CompareFile=<ファイルパス1>|<ファイルパス2>|[文字エンコード] 指定したファイルを比較し、比較結果レポートを出力する
    ※第三引数は省略可能です。既定値はUTF-8です。
    ※指定可能のファイルの拡張子は.txt, .csv, .html, .log, .json, .xml, .pngです。
    CompareFile=D:\test01.txt|D:\test02.txt
    CompareFile=D:\test01.png|D:\test02.png
    SetAlertCaptureSavePath=<ファイルの保存先> アラートダイアログが検知された時、取得したスクリーンショットの保存先を指定する
    // 相対パスの場合、_CURRENT_SCRIPT_EVIDENCE_FOLDER_に保存
    SetAlertCaptureSavePath=アラートダイアログ.png
    // 絶対パスの場合
    SetAlertCaptureSavePath=D:\test\アラートダイアログ.png
    データベース DB_Insert=<SQLのInsert文> SQLのInsert文を実行する
    DB_Insert=insert into project.employees values(1001,"Tom")
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    DB_Update=<SQLのUpdate文> SQLのUpdate文を実行する
    DB_Update=update project.employees set email = 'change001@itgo.co.jp' where employee_id = 1
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    DB_Delete=<SQLのDelete文> SQLのDelete文を実行する
    DB_Delete=delete from project.employees where employee_id >= 1
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    DB_Select=<SQLのSelect文>|<結果csvファイル保存先の絶対パス> SQLのSelect文を実行し、実行結果をcsvファイルに保存する
    DB_Select=select * from project.employees where employee_id >= 1|D:\Output\応募者一覧表テーブル.csv
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    ExecuteSQLStatement=<SQLステートメント> SQLステートメントを実行する
    ExecuteSQLStatement=CREATE TABLE User (id int, name varchar(40), age int)
    ※ SQL文に「|」を含む場合、「\|」で記入してください。
    ExecuteSQLScript=<.sqlファイルパス> SQLスクリプトを実行する
    ExecuteSQLScript=D:\test.sql
    FTP FTP_ClearLog=<FTPサーバのログファイルパス> FTPサーバのログファイルの内容を削除する
    FTP_ClearLog=/var/log/access.log
    FTP_GetLog=<FTPサーバのログファイルパス>|<ファイル保存先の絶対パス> FTPサーバのログファイルを取得し、ファイルに保存する
    Save_FTPLog_ToFile=/var/log/access.log|D:\Output\data\access.log
    FTP_UploadFile=<ローカルファイルパス>|<アップロード先> FTPでファイルをアップロードする
    FTP_UploadFile=D:\test.html|/test.html
    FTP_DownloadFolder=<FTPサーバのディレクトリ>|<保存先> FTPでディレクトリ内の全てのファイルをダウンロードする
    FTP_DownloadFolder=/logs|D:\test\logs
    FTP_UploadFolder=<ローカルディレクトリ>|<アップロード先> FTPでディレクトリ内の全てのファイルをアップロードする
    FTP_UploadFolder=D:\test\upload|/upload
    デスクトップ SendKeys=<キーコード> キーボード操作を送信する
    ※ キーコードは[付録三:UIテストのキーコード]参照してください
    ※ ターゲットウインドウは最前面にではないと、操作ができません。
    #Ctrl+W
    SendKeys=^{W}
    #Alt+F4
    SendKeys=%{F4}
    #ENTER
    SendKeys={ENTER}
    MouseClick=<X座標の整数値,Y座標の整数値> マウスポインタを指定した位置に移動し、左クリック操作を行う
    MouseClick=300,200
    MouseRightClick=<X座標の整数値,Y座標の整数値> マウスポインタを指定した位置に移動し、右クリック操作を行う
    MouseRightClick=300,200
    MouseWheelClick=<X座標の整数値,Y座標の整数値> マウスポインタを指定した位置に移動し、ホイールクリック操作を行う
    MouseWheelClick=300,200
    MouseWheel=<X座標の整数値,Y座標の整数値>|<ホイールを移動するノッチの数> マウスポインタを指定した位置に移動し、ホイール回転操作を行う
    ※ホイールを移動するノッチの数は負の値である場合、ユーザーから見て上または離れる方向への移動します。正の値である場合、ユーザーから見て下または近づく方向への移動します。
    MouseWheel=300,200|25
    MouseWheel=300,200|-25
    MouseMove=<X座標の整数値,Y座標の整数値> マウスポインタを指定した位置に移動する
    MouseMove=300,200
    MousePress=<マウスボタン> マウスボタンを押す
    マウスボタンはleft(左ボタン)、right(右ボタン)、wheel(ホイール)指定できます。
    MousePress=left
    MousePress=right
    MousePress=wheel
    MouseRelease=<マウスボタン> マウスボタンを離す
    マウスボタンはleft(左ボタン)、right(右ボタン)、wheel(ホイール)指定できます。
    MouseRelease=left
    MouseRelease=right
    MouseRelease=wheel
    KeyPress=<キーコード> キーを押す
    ※ キーコードは[付録三:UIテストのキーコード]参照してください。
    KeyPress=^
    KeyRelease=<キーコード> キーを離す
    ※ キーコードは[付録三:UIテストのキーコード]参照してください。
    KeyRelease=^
    WaitUntilFileExist=<ファイルパス>|[タイムアウト時間(ミリ秒)] ファイルが作成されるまで待つ
    ※ 第二引数は省略可能です。既定値は60秒です。
    // 絶対パスの場合
    WaitUntilFileExist=D:\test.txt
    // 相対パスの場合、テストプロジェクトのルートパスを基準にする
    WaitUntilFileExist=output\_OUTPUT_TIMESTAMP_\test.txt
    WaitUntilFileNotExist=<ファイルパス>|[タイムアウト時間(ミリ秒)] ファイルが削除されるまで待つ
    ※ 第二引数は省略可能です。既定値は60秒です。
    // 絶対パスの場合
    WaitUntilFileNotExist=D:\test.txt
    // 相対パスの場合、テストプロジェクトのルートパスを基準にする
    WaitUntilFileNotExist=output\_OUTPUT_TIMESTAMP_\test.txt
    DeleteFile=<ファイルの絶対パス> ロカールファイルを削除する
    DeleteFile=D:\Output\応募者一覧.pdf
    MakeDir=<フォルダーの絶対パス> フォルダーを作成する
    MakeDir=D:\Output
    MakeDir=Output
    NextWindow=[切替回数] デスクトップのアプリケーションのウインドウを切り替える
    NextWindow
    RunProcess=<コマンドパスとパラメータ>|[実行フォルダパス] 実行可能ファイルを同期起動する。呼び出されたプログラムが実行完了次第、次のコマンドが実行し始める。
    RunProcess=_PROJECT_ROOT_\input\tool.bat para1 para2
    RunProcessAsync=<コマンドパスとパラメータ>|[実行フォルダパス] 実行可能ファイルを非同期起動する。呼び出されたプログラムが実行すれば、次のコマンドがすぐ実行可能。
    RunProcessAsync=_PROJECT_ROOT_\input\tool.bat para1 para2
    RunProcessAndCheckResult=<コマンドパスとパラメータ>|<終了コード(returnCode)を評価する JavaScript>|[実行フォルダパス] 実行可能のファイルを起動し、終了コードを評価する JavaScriptの戻り値がtrueであることを検証する
    RunProcessAndCheckResult=_PROJECT_ROOT_\input\tool.bat para1 para2|returnCode==9
    RunProcessAndCheckResult=_PROJECT_ROOT_\input\tool.bat para1 para2|returnCode>0
    ExecuteJavaScriptOnJVM=<ファイルの絶対パス> JVM 上で JavaScript コードを実行する
    ExecuteJavaScriptOnJVM=_PROJECT_ROOT_\jsfile\test.js
    ExecuteJavaScriptOnJVM=c:\jsfile\test.js
    スマホ HideKeyboard スマホのキーボードを隠す
    HideKeyboard
    TouchTap=<X座標の整数値,Y座標の整数値> スマホのディスプレイをタッチする
    TouchTap=300,200

    付録二:UIテスト設定ファイルの説明

    分類 パラメータ名 パラメータ値 説明 サンプル
    共通 wait 0~120000 コマンド実行の時間間隔(ミリ秒) wait=1000
    retry_times 0~20 動作実行失敗の場合、リトライ回数 retry_times=5
    failed_process stop、skipcmd、skipscript、manual スクリプト実行失敗時の動作
    stop: 再生を終了させる
    skipcmd: 失敗したコマンドをスキップして次のコマンドを実行する
    skipscript: 失敗したスクリプトをスキップして次のスクリプトを実行する
    manual: 失敗したコマンドを一時停止して手動操作で解決する
    skiploop: 繰り返し処理の中でエラーが発生した場合、それ以降の処理をスキップさせ、次の繰り返し処理に進む
    to_tag_on_exception: エラーが発生した場合、スクリプト内に指定された@OnExceptionタグの場所に実行処理を移す
    ※ ディフォルト値はskipscript
    failed_process=skipscript
    do_inspection true、false テスト実施完了後に、自動的に新旧比較を行うかどうか do_inspection=true
    expected_inspection_data_folder フォルダパス 期待検証データフォルダのパス
    ※既定値は「プロジェクトフォルダー\expect」です。
    expected_inspection_data_folder=D:\expect
    excel_version 2013、2016、2019など 使用しているExcelのバージョン excel_version=2013
    excel_platform windows、macos 使用しているExcelのプラットフォーム excel_platform=macos
    excel_platform=windows
    data_sheet_keyword_skip 文字列 データシートに使われ、当コマンドの実行をスキップするキーワード
    ※既定値は「_SKIP_」です。
    data_sheet_keyword_skip=
    data_sheet_keyword_empty 文字列 データシートに使われ、空文字のキーワード
    ※既定値は空文字「」です。
    data_sheet_keyword_empty=_CLEAR_
    keyword_space 文字列 スペースのキーワード keyword_space=△
    ui_test_report_file_format xlsx、json、txt 出力するレポートのファイル形式
    ※既定値はxlsxです。
    ※コンマ(,)で区切って複数形式を指定可能です。
    ui_test_report_file_format=json
    ui_test_report_file_format=txt
    ui_test_report_file_format=xlsx,json
    trim_script_commandline true、false スクリプト読み込む際にトリムするかどうか
    ※既定値はtrueです。
    trim_script_commandline=true
    keyboard_shortcut_banned true、false テスト対象のWEBシステムにはショートカットが禁止されたか
    ※既定値はfalseです。
    ※ショートカットが禁止され、ダイアログの操作を行うコマンドを使う場合、trueを設定してください。
    keyboard_shortcut_banned=true
    global_variables JSON文字列 共通変数の定義
    ※スクリプトに「%%変数名%%」を使って、global_variablesで定義した変数を参照できます。
    global_variables={"変数名1":"値1", "変数名2":"値2", "変数名3":"値3"}
    generate_summary true、false シナリオ数、成功件数、失敗件数などの実行結果サマリーを出力するか
    ※既定値はfalseです。
    ※trueを設定する場合、コンソールにサマリーを出力し、レポートの出力先フォルダにも「実行結果サマリー」というテキストファイルを出力します。
    generate_summary=true
    ブラウザ platform windows、macos OSの種類 platform=windows
    browser_type ie、edge、edgenew、chrome、firefox、firefox esr、edge_ie_mode、safari ブラウザの種類
    ※platform=windowsの場合、ie、edge、edgenew、chrome、firefox、firefox esr、edge_ie_modeは設定可能
    ※platform=macosの場合、safariは設定可能
    ※edgenewはChromium版Edgeです
    ※edge_ie_modeはEdgeのIEモードです
    browser_type=chrome
    headless_mode true、false ヘッドレスモード
    ※browser_type=chrome/edgenew/firefoxの場合のみ有効
    headless_mode=true
    headless_mode=false
    browser_version 設定なし、auto、バージョンの文字列 ブラウザのバージョン
    ※ browser_version=auto、または設定しない場合、ATgoは自動的にブラウザバージョンを抽出し、ドライバーを起動する。
    ※ ブラウザバージョンを手動で設定する場合、設定したバージョンに対応したドライバーを起動する。
    browser_version=auto
    browser_version=77.0.3865.90
    browser_driver_file_name 3.9.0-windows-32bit-IEDriverServer.exe、3.14.0-windows-32bit-IEDriverServer.exe、3.150.1-windows-32bit-IEDriverServer.exeなどのドライバーのファイル名 ドライバーのファイル名
    ※ ドランバーのファイル名は、ATgoパッケージ内のdriverフォルダーにご参照ください。
    ※ 設定必須ではない。一般的には、ブラウザバージョンにより自動的に最適なドライバーを起動する。
    ※ 設定する場合は、指定したドライバーでブラウザを起動する。
    browser_driver_file_name=3.150.1-windows-32bit-IEDriverServer.exe
    browser_driver_file_name=0.28.0-windows-64bit-geckodriver.exe
    edge_path ファイルパス msedge.exeの場所
    ※EdgeのIEモードでテストを実施する場合、設定必須です。
    edge_path=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
    browser_width 文字列 ブラウザウィンドの横幅 browser_width=1200
    browser_height 文字列 ブラウザウィンドの高さ browser_height=800
    browser_maximize true、false ブラウザウィンドを最大化 browser_maximize=true
    browser_autoclose true、false シナリオ再生終了後、ブラウザを自動的に閉じるか browser_autoclose=true
    browser_mobile_view true、false モバイルデバイスビュー(browser_type=chromeの場合設定可能) browser_mobile_view=false
    browser_user_agent 文字列 ブラウザのユーザエージェント(browser_type=chromeの場合設定可能 browser_user_agent=agent文字列
    browser_timing true、false 画面応答時間 browser_timing=true
    browser_action_timeout 1000~600000 ブラウザで実行する動作のタイムアウト時間(ミリ秒) browser_action_timeout=10000
    browser_wait_timeout 1000~600000 待機処理のタイムアウト時間(ミリ秒) browser_wait_timeout=10000
    request_header JSON文字列 リクエストヘッダ request_header={'Authorization':'Basic d2ViZWxlbWVudDpjbGljaw=='}
    save_full_page_screenshot_as_an_image true、false 画面全体のキャプチャを1枚の画像で保存するか
    既定値はfalseです。
    save_full_page_screenshot_as_an_image=true
    fixed_header_path CssSelector又はXpath 上部固定ヘッダーのCssSelector又はXpath fixed_header_path=header
    fixed_header_path=//header
    fixed_footer_path CssSelector又はXpath 下部固定フッターのCssSelector又はXpath fixed_footer_path=footer
    fixed_footer_path=//footer
    auto_accept_alert true、false アラートダイアログが検知された時、自動的にOKボタンを押すかどうか auto_accept_alert=true
    auto_save_alert_capture_to_file true、false アラートダイアログが検知された時、自動的にキャプチャを取得し、ファイルに保存するかどうか auto_save_alert_capture_to_file=true
    auto_paste_alert_capture_to_excel true、false アラートダイアログが検知された時、自動的にキャプチャを取得し、EXCELに貼り付けるかどうか auto_paste_alert_capture_to_excel=true
    capture_full_page_screenshot_before_element true、false 要素のフルエリアのキャプチャを取得する前に、ページ全体のキャプチャを取得するかどうか capture_full_page_screenshot_before_element=true
    auto_paste_saved_file_to_excel true、false 接頭辞が「Save」のコマンドを実行する際に、ファイルとして保存されたエビデンスを自動的にEXCELに貼り付けるかどうか auto_paste_saved_file_to_excel=true
    auto_paste_saved_image_to_excel true、false 接頭辞が「Save」のコマンドを実行する際に、ファイルとして保存された画像を自動的にEXCELに貼り付けるかどうか auto_paste_saved_image_to_excel=true
    capture_screenshot_of_element_without_scrollbar true、false スクロールバーがない要素のキャプチャを取得するかどうか
    ※既定値はtrueです。
    capture_screenshot_of_element_without_scrollbar=false
    wait_until_element_exist true、false 非同期実行モードでは、要素を操作する前に要素が現れるまで待つか
    ※既定値はfalseです。
    wait_until_element_exist=true
    bring_browser_to_front true、false 要素を操作する前にブラウザを最前面に表示するか
    ※既定値はfalseです。
    bring_browser_to_front=true
    ie_page_load_strategy normal、eager、none normal: 全てのリソースが読み込まれるまで待つ
    eager: DOMへのアクセスが可能になるまで待つ
    none: ページの読み込みを待たず、次の動作を行う
    ※既定値はnormalです。
    ※IEでダウンロードする場合、noneを設定してください。
    ie_page_load_strategy=eager
    ie_page_load_strategy=none
    enable_automation true、false ChromeとEdgeの「自動テストソフトウェアによって制御されています」を非表示にするかどうか
    ※enable_automation=trueの場合、非表示にします。
    ※既定値はfalseです。
    enable_automation=true
    データベース db_type oracle、mysql、postgresql、sqlserver データベースの種類 db_type=oracle
    db_dsn 文字列 データベースのアドレス(接続方式1)
    oracleの場合:IPアドレス:PORT番号:SID
    mysqlの場合:IPアドレス:PORT番号
    postgresqlの場合:IPアドレス:PORT番号
    sqlserverの場合:IPアドレス:PORT番号
    oracleの例:db_dsn=192.168.3.200:1521:XE
    mysqlの例:db_dsn=192.168.3.200:3306
    postgresqlの例:db_dsn=127.0.0.1:5432
    sqlserverの例:db_dsn=127.0.0.1:1433
    db_url 文字列 データベースのURL(接続方式2:おすすめ)
    jdbcで使うURLと同様
    ※db_urlが設定された場合、db_dsnが無効になる
    oracleの例:
    db_url=jdbc:oracle:thin:@192.168.2.180:1521:XE
    mysqlの例:
    db_url=jdbc:mysql://3.113.21.237:3306?useUnicode=true&characterEncoding=utf8
    postgresqlの例:
    db_url=jdbc:postgresql://127.0.0.1:5432/postgres
    sqlserverの例:
    db_url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TestDB
    db_user 文字列 データベースのユーザ名 db_user=username
    db_pass 文字列 データベースのパスワード db_pass=pasword
    db_schema 文字列 データベースのスキーマ名(オプション) db_schema=hr
    db_select_result_trim true、false DBからデータを取得する際に、値の両端の空白を削除するかどうか
    既定値はtrueです。
    db_select_result_trim=false
    db_select_result_add_row_number_column true、false DBから取得したテーブルに番号列を自動的に追加するかどうか
    既定値はtrueです。
    db_select_result_add_row_number_column=false
    db_null_value_replacement 文字列 Select文で取得したデータ内のNULL値の置換テキストを設定する
    ※app.iniに設定された値より優先されます。
    db_null_value_replacement=NULL
    FTP ftp_type ftp、sftp FTPの種類 ftp_type=ftp
    ftp_address 文字列 FTPのアドレス ftp_address=192.168.3.200:21
    ftp_user 文字列 FTPのユーザ名 ftp_user=username
    ftp_pass 文字列 FTPのパスワード ftp_pass=password

    付録三:UIテストのキーコード

    三種類のキーコードを対応しました。

    1. 文字列
      任意の文字列を送信できます。

      Browser_SendKeys=This is a demo Browser_SendKeys=こんにちは SendKeys=This is a demo SendKeys=こんにちは
    2. シングルの機能キー
      シングルの機能キーを送信できます。

      Browser_SendKeys={DOWN} Browser_SendKeys={UP} SendKeys={DOWN} SendKeys={UP}

      ※ 下記の機能キーを対応しました。

      キーコード 説明
      {BACKSPACE} backspaceキー
      {DELETE} deleteキー
      {TAB} tabキー
      {UP} upキー
      {DOWN} downキー
      {LEFT} leftキー
      {RIGHT} rightキー
      {HOME} homeキー
      {END} endキー
      {ENTER} enterキー
      {ESC} escキー
      {INSERT} insertキー
      {PGDN} pgdnキー
      {PGUP} pgupキー
      {PRTSC} print screenキー
      {NUMLOCK} numlockキー
      {SCROLLLOCK} scrolllockキー
      {CAPSLOCK} capslockキー
      {ADD} addキー
      {SUBTRACT} subtractキー
      {MULTIPLY} multiplyキー
      {DIVIDE} divideキー
      {COMMAND} MacOSのcommandキー
      {WINDOWS} Windowsのwindowsキー
      {CONTEXT} Windowsのアプリケーションキー
      {SPACE} spaceキー
      {F1}から{F12}まで F1からF12までのファンクションキー
      {A}から{Z}まで AからZまでのアルファベットキー
    3. ショートカットキー
      ショートカットキーは一つの制御キーと一つの機能キーの組み合わせです。

      Browser_SendKeys=^{A} Browser_SendKeys=^{S} SendKeys=^{A} SendKeys=^{S}

      ※ 下記の制御キーを対応しました。

      キーコード 説明
      + shift
      ^ ctrl
      % alt
      ~ enter

    付録四:APIテストキーワードの説明

    分類 キーワード 説明
    HTTP url リクエストAPIのドメインを設定する
    Given url 'https://myhost.com/v1/cats'
    path リクエストAPIのURLを設定する
    urlで設定したドメインを含まない
    Given path 'documents/' + documentId + '/download'
    method リクエストHTTPメソッドを設定する
    サポートメソッド:get、post、put、 delete、patch、options、head、connect、trace
    Given path 'some/path'
    And request { some: 'data' }
    And header Accept = 'application/json'
    When method post
    Request header リクエストHTTPヘッダーを設定する
    Given path 'some/path'
    And header Authorization = 'sometoken'
    And header bookName = 'mybook'
    When method post
    headers HTTPヘッダーの複数キーを同時に設定する
    Given path 'some/path'
    And headers { Authorization: 'sometoken', bookName: 'mybook'}
    When method post
    param リクエストパラメータを設定する
    Given path 'mypath'
    And param key1=value1
    And param key2=value2
    When method get
    params 複数のリクエストパラメータを同時に設定する
    Given path 'mypath'
    And params {'key1' : 'value1', 'key2':'value2' }
    When method get
    request リクエストボディのキーを設定する
    複数キーを同時に設定する可能
    Given path 'some/path'
    And request {'key1' : 'value1', 'key2':'value2' }
    And header Accept = 'application/json'
    When method post
    Response response レスポンスボディ
    Scenario: レスポンス検証_フル検証
    Given path '/books/' + "1"
    When method GET And print response
    responseHeaders レスポンスヘッダー
    Given path '/books/' + "1"
    When method GET
    And print responseHeaders['Content-Type']
    responseStatus HTTPステータス
    Given path '/books/' + "1"
    When method GET
    And print responseStatus
    responseTime リクエスト送信からレスポンス返却までかかった時間
    Given path '/books/' + "1"
    When method GET
    And print responseTime
    アサーション match responseStatus HTTPステータスをアサーションチェックする
    Given path 'some/path'
    When method post
    Then match responseStatus == 200
    match response レスポンスをアサーションチェックする
    Scenario: レスポンス検証_フル検証
    Given path '/books/' + "1"
    And header Authorization = 'Bearer ' + accessToken
    When method GET Then status 200
    And match response == {"id": 1, "price": 2160, "bookname": "六元素の本", "barcode": "ISBN978-123-1234-9", "status": "OK" }

    Scenario: レスポンス検証_一部検証
    Given path '/books/' + "1"
    And header Authorization = 'Bearer ' + accessToken
    When method GET Then status 200
    And match response contains {"bookname": "六元素の本"}

    Scenario: レスポンス検証_複雑検証
    Given path '/books/' + "1" And headers {}
    And header Authorization = 'Bearer ' + accessToken
    When method GET Then status 200 And assert response.barcode.startsWith('ISBN')
    match header レスポンスのHTTPヘッダーをアサーションチェックする
    Given path '/books/' + "1"
    And header Authorization = 'Bearer ' + accessToken
    When method GET Then status 200
    And match header Content-Type == 'application/json'
    status [match responseStatus]と同様、HTTPステータスをアサーションチェックする
    Given path 'some/path'
    When method post Then status 200
    変数定義 def カスタム変数を定義する
    Given def myVar = 'world' Then print myVar
    外部データ読込 examples 外部データファイルを1行ずつ読み込んで、繰り返しAPIをリクエストする
    Given path '/books/'
    And request {'bookname' : '<bookname>', 'barcode': '<barcode>', 'price': <price>}
    When method post
    Then status 201
    Examples: | read("data/1-1.csv") |

    付録五:レコーディングオプション設定の説明

    レコーディングオプションの設定はレコーディングブラウザのトップメニューにある「設定」で行えます。

    オプション名 オプション値 説明
    タブ切替動作 SwitchTab_byURLで自動記録 タブ切替動作をコマンド「SwitchTab_byURL」でエディターに記録する
    SwitchTab_byTitleで自動記録 タブ切替動作をコマンド「SwitchTab_byTitle」でエディターに記録する
    自動記録しない タブ切替動作をエディター自動記録しない
    select要素選択動作 optionのvalue属性で自動記録 select要素選択動作をコマンド「Input_Select_By○○_UseOptionValue」でエディターに記録する
    optionのインナーテキストで自動記録 select要素選択動作をコマンド「Input_Select_By○○_UseOptionTxt」でエディターに記録する
    コマンド選択メニュー ON レコーディングする際に、コマンド選択メニューを表示して、手動でコマンドを選択する
    OFF レコーディングする際に、コマンド選択メニューを表示せずに、自動でコマンドを選択する
    ※コマンドを選択したい場合は、右クリックしてください。
    重複ウィンドウの処理 削除する レコーディングする時、重複ウィンドウが出て、その後のレコーディングに影響を与える場合もあります。このような状況で、複数の同じタイトルを持つウィンドウを一つだけ保留し、他のを全部削除したいです。
    「削除する」を選択し、入力欄がポップアップされます。一つだけ保留したいウィンドウのタイトルを入力します。「OK」をクリックした後は、設定したタイトルを持つウィンドウはいつも最後に出たものを保留し、その前に出たウィンドウを全部削除します。
    ※ 複数のタイトルを指定したい場合は、半角の';'で区分けてください。
    削除しない 重複ウィンドウをそのままで、削除しません。

    付録六:CSVデータをXLSXに変換する方法

    [07_外部データを利用するテスト.csv]を例として、XLSXにの変換方法を説明します。

    1. [ファイル]下の[新規]の[UIテスト新規(サンプル付き)]をクリックして、作業フォルダー[Lesson](中身:空白)を選択します。

    2. 旧CSVデータファイルの[07_外部データを利用するテスト.csv]をEXCELで開き、開けたデータシートの全部データをコピーします。

      ※ CSVファイルが文字化けした場合は先に正しく表示される文字コードを転換してください。
      ※ 日付データがある場合は、表示したいフォーマットを先に設定してください。

    3. [07_外部データを利用するテスト.xlsx]のファイルをダブルクリックして開きます。

    4. [データシート_FormatV1]シート黄色部分以外のデータを全部削除します。

    5. 青色部分の一列目(セルC2)を右クリックします。
      [貼り付けのオプション]の二番目のボタンをクリックします。

    6. 貼り付けたデータが順番にセットされます。

    7. [データ番号]列に番号を記入します。

    8. [07_外部データを利用するテスト.xlsx]を保存して、データ変換が完了します。

    付録七:繰り返しグループの実例

    [繰り返しグループ]の具体的な使い方を次の例で説明します。

    1. 繰り返しグループの正しい使い方1

      RunScript=_PROJECT_ROOT_\script\ログイン.script LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:1-3 LoopGroup_End RunScript=_PROJECT_ROOT_\script\ログアウト.script

      実行順序は

      RunScript=_PROJECT_ROOT_\script\ログイン.script RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:3 RunScript=_PROJECT_ROOT_\script\ログアウト.script
    2. 繰り返しグループの正しい使い方2

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4-6 LoopGroup_End

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:5 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:6
    3. 繰り返しグループの正しい使い方3

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4 LoopGroup_End グループの繰り返し回数が3回であるため、業務Bは番号4のデータを使って三回実行します。

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4
    4. 繰り返しグループの正しい使い方4

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx LoopGroup_End

      業務Bと業務Cはデータ番号を指定していないため、業務Aが指定したデータ番号を使います。

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:3
    5. 繰り返しグループの正しい使い方5

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務C.script LoopGroup_End

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務C.script RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務C.script RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務C.script
    6. 繰り返しグループの正しい使い方6

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4-6 LoopGroup_End LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:2,3 RunScript=_PROJECT_ROOT_\script\業務D.script|_PROJECT_ROOT_\data\業務D.xlsx:1,4 LoopGroup_End

      同じscenarioファイルで複数の繰り返しグループを使用できます。

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:5 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:6 RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務D.script|_PROJECT_ROOT_\data\業務D.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務C.script|_PROJECT_ROOT_\data\業務C.xlsx:3 RunScript=_PROJECT_ROOT_\script\業務D.script|_PROJECT_ROOT_\data\業務D.xlsx:4
    7. 繰り返しグループの正しい使い方7

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script LoopGroup_End

      データ番号を指定しない場合、外部データファイルにあるすべてのデータを利用して再生します。

      実行順序は

      RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:2 RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:3 ...
    8. 繰り返しグループの誤った使い方1

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4,5 LoopGroup_End

      業務Aが三つのデータ番号が指定しましたので、業務Aと業務Bをグループっとして三回繰り返し実行するべきですが、業務Bが二つのデータ番号だけ指定しました。

    9. 繰り返しグループの誤った使い方2

      LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:1-3 LoopGroup_Start RunScript=_PROJECT_ROOT_\script\業務A.script|_PROJECT_ROOT_\data\業務A.xlsx:4-6 RunScript=_PROJECT_ROOT_\script\業務B.script|_PROJECT_ROOT_\data\業務B.xlsx:4-6 LoopGroup_End LoopGroup_End

      繰り返しグループは入れ子にすることができません。[LoopGroup_Start]と[LoopGroup_End]をペアにしてください。

    付録八:IEブラウザが動作不安定場合の対策方法

    1. IEブラウザの[インターネットオプション]の画面を表示します。

    2. 詳細設定]タブをクリックし、[リセット]ボタンをクリックします。
      個人設定を削除する]にチェックを入れ、[リセット]ボタンをクリックします。

    3. GPUレンダリングでなく、ソフトウェアレンダリングを使用する]にチェックを入れて、[OK]ボタンをクリックします。

    4. [3.1.1. Windows で利用の場合]に記述した「ディスプレイの拡大縮小とレイアウトを100%に設定すること」が必要ですので、確認してください。

    5. 動作中のブラウザ画面が他のウインドウに覆われた場合、動作中のブラウザウィンドウを最前面にしてください。

    付録九:ブラウザのバージョン番号を確認する方法

    1. Chrome ブラウザのバージョン番号を確認する方法

    2. Edge ブラウザのバージョン番号を確認する方法

    3. IE ブラウザのバージョン番号を確認する方法

    4. Firefox ブラウザのバージョン番号を確認する方法

    5. MacOS Safari ブラウザのバージョン番号を確認する方法

    付録十:IEでロカールのHTMLを開く場合の設定

    1. IEブラウザの[インターネットオプション]の画面を表示します。

    2. 詳細設定]タブをクリックし、[マイコンピューターのファイルでのアクティブコンテンツの実行を許可する] チェックボックスをオンにします。

    付録十一:文字カーソルの点滅速度の設定

    文字カーソルが点滅するため、入力欄がフォーカスされた状態で取ったスクリーンショットは、カーソルが表示される可能性も、表示されない可能性もあります。カーソルの有無で、新旧画像を検証する時差分が生じることもあります。
    そのため、必要であれば、カーソルの点滅を回避することもできます。
    Windowsで文字カーソルの点滅速度の設定方法は以下のようになります。

    1. [コントロール パネル]を開きます。

    2. [カテゴリ]をクリックし、[大きいアイコン]をクリックします。

    3. [キーボード]をクリックします。

    4. [カーソルの点滅速度]欄のつまみを一番左に動かし、カーソルの点滅をなしにする。そして、[適用]をクリックします。

    付録十二:ATgoをCUIモードで起動する方法

    ATgoのCUIモードを利用して、バッチファイルとタスクスケジューラなどからATgoを起動してテストを実施することが可能です。

    構文

    UIテスト

    1. 単一のシナリオを実行する場合の構文
      ATgoCUI.bat <--project=プロジェクトフォルダー> <--run=単一のシナリオ> [--settings=設定ファイル] [--doInspection=true/false] [--expectedInspectionData=期待検証データフォルダー]
      ※「ATgoCUI.bat」はATgoパッケージの直下にあります。
    2. 複数のシナリオを実行する場合の構文
      ATgoCUI.bat <--project=プロジェクトフォルダー> [--executionOrder=複数のシナリオの実行順番] [--settings=設定ファイル] [--doInspection=true/false] [--expectedInspectionData=期待検証データフォルダー]
      ※「ATgoCUI.bat」はATgoパッケージの直下にあります。

    APIテスト

    1. 単一のスクリプトを実行する場合の構文
      ATgoCUI.bat <--project=プロジェクトフォルダー> <--run=単一のスクリプト>
      ※「ATgoCUI.bat」はATgoパッケージの直下にあります。
    2. 複数のスクリプトを実行する場合の構文
      ATgoCUI.bat <--project=プロジェクトフォルダー> [--executionOrder=複数のスクリプトの実行順番]
      ※「ATgoCUI.bat」はATgoパッケージの直下にあります。

    バッチファイルからの起動

    下記はバッチファイルのサンプルです。

    複数シナリオの一括実行

    @rem テストプロジェクト直下の全てのシナリオを名前順で実行する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト @rem 指定した実行順番でシナリオを実行する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト --executionOrder="[テスト1.scenario,テスト3.scenario,テスト2.scenario]"

    複数ブラウザでのテスト実施

    @rem IEでテストを実施する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト --settings=config_ie.settings @rem Edgeでテストを実施する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト --settings=config_edge.settings @rem Chromeでテストを実施する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト --settings=config_chrome.settings @rem Firefoxでテストを実施する call D:\ATgoV8.3.1_Win64\ATgoCUI.bat --project=D:\テストプロジェクト --settings=config_firefox.settings

    ※上記の四つの設定ファイルは全て「config.settings」をコピーして作成されたものです。
    ※「config_ie.settings」に「browser_type=ie」を設定します。
    ※「config_edge.settings」に「browser_type=edgenew」を設定します。
    ※「config_chrome.settings」に「browser_type=chrome」を設定します。
    ※「config_firefox.settings」に「browser_type=firefox」を設定します。
    ※ATgoのCUIモードを利用する場合のみ、設定ファイルの名前変更・指定が可能です。

    タスクスケジューラからの起動


    付録十三:Salesforceレコーディングの対応範囲と注意事項

    対応環境

    分類 詳細 備考
    OS Windows 10 64bit 日本語
    ブラウザ Lightning画面:Chrome, Edge

    対応範囲

    画面分類 スクリプトの作成方式 備考
    手動作成 レコーディングで作成
    Classic画面 対応可 未対応
    Lightning画面 対応可 ほぼ対応可 ※1 ※2 公式サイト※3 には一部サンプルがないが、対象システムにある場合対応する
    VisualForce画面 対応可 未対応
    コンソール画面 対応可 未対応
    スマホ画面(ブラウザ) 対応可 未対応
    ※1 利用前提は「18.4.1 Lightning画面のレコーディング利用前提」をご参照ください。
    ※2 Lightning画面レコーディングの対応範囲は「18.5 Lightning画面コンポーネント対応一覧」をご参照ください。
    ※3 公式サイトはhttps://developer.salesforce.com/docs/component-library/overview/components

    注意事項

    1. ATgoは携帯電話のSMSを読み取ることができないため、Salesforceログイン時にSMS認証をオフにすることがおすすめです。

    2. Lightning画面のスクリプトをレコーディング場合は、レコーディング機能をご利用ください。

    3. Web画面上のキーボード「TAB」「UP」「DOWN」「ENTER」などの動作をレコーディングできないため、マウスを操作してください。

    4. DateTimePickerなどのコンポーネントは、テキストで直接に入力してください。

    5. レコーディング中は、シナリオと関係ない動作を操作しないでください。
      例:レコーディング時、シナリオが「カレンダー」タブに関連していない場合は、「カレンダー」タブを操作しないでください。

    6. アイテム新規した後ランダムに生成された番号などを取得したい場合は、専用コマンド[SFL_Var_ElementText_ByXpath_UseLabel]をご利用ください。

      コマンド 説明
      SFL_Var_ElementText_ByXpath_UseLabel=<%%ラベル名%%>|<要素のXpath> Xpathで指定した文字列を含む要素内のテキストを取得して変数に格納する ※ Salesforce Lightning画面レコーディング専用コマンドです。 ※ Xpathはラベル名により生成されます。

      レコーディング手順は以下の通りです。
      ① テキスト取得したい要素をクリックし、メニューがポップアップされます。[SFL_Variable]の[SFL_Var_ElementText_ByXpath_UseLabel] をクリックします。

      ② 入力ダイアログがポップアップされます。ラベル名を入力し、[OK]ボタンを押します。そして、コマンドが記録されます。


      ③ ラベルがない、または入力したラベル名が間違えた場合、入力した文字列が変数名として使用するのみです。Xpathの生成とは関係ありません。

    7. ファイルのアップロード操作はレコーディングできないため、Input_File_ByXpathの書き方を参照し、手動でコマンドを書いてください。

    利用前提

    Lightning画面のレコーディング利用前提

    Lightning画面のHTML要素のIDは画面表示する度に、動的生成されるため、毎回変わりますので、HTML要素のIDが使えなくなり、相対Xpathを利用してHTML要素を識別するようになっています。
    Salesforceバージョンアップ時に、画面HTMLのレイアウト(タグ名、タグの階層、タグのテキストなど)が変更される場合、生成されたXpathも変わるため、スクリプトが再生できなくなる可能性があります。
    下記の「引取先名」入力動作を例として説明します。

    レコーディング機能を利用し、下記のようなスクリプトが生成されます。

    例えば、Salesforceバージョンアップ時に、

    タグ名に変更される場合、相対Xpathを下記ように改修する必要があります。

    //div[normalize-space(string())="取引先名*"]/following::input

    Lightning画面コンポーネント対応一覧

    No. 分類 コンポーネント サンプル スクリプト作成方式 備考
    手動作成 レコーディング
    1 Aura標準コンポーネント accordion Basic accordion
    2 Accordion with conditional section
    3 Accordion with with multiple sections open
    4 accordionSection Basic accordionSection
    5 avatar Basic Avatar
    6 Avatar Sizes
    7 Avatar Variants
    8 Avatar Initials
    9 Avatar Icons
    10 badge Basic Badges
    11 Badges with icons
    12 breadcrumb なし 公式サイトにはサンプルなし
    13 breadcrumbs Navigate Using a Link
    14 Navigate Using the onclick Handler
    15 Generate breadcrumbs with aura:iteration
    16 button Basic Buttons
    17 Buttons with Icons
    18 Inverse Variant
    19 Buttons with Accesskey and Tabindex Attributes
    20 buttonGroup Basic Button Group
    21 Disabled Button Group
    22 Inverse Button Group
    23 Button Group with a Dropdown Menu
    24 Button Group with a Disabled Dropdown Menu
    25 buttonIcon Basic Icon-Only Button
    26 Button Icon Sizes
    27 Inverse Variants
    28 buttonIconStateful Stateful Button Icons
    29 Stateful Button Icons with border-inverse variant
    30 Stateful Button Icons with border-filled variant
    31 buttonMenu Button Menus with Subheaders and Dividers
    32 Button Menus Using Icons and Menu Alignment
    33 Button Menus with Styled Items
    34 Button Menu Variants
    35 Checked Menu Items (All Menu Items can be Checked at a Time)
    36 buttonStateful Basic Stateful Buttons ×
    37 Brand Variant Without Icon ×
    38 Inverse Variant ×
    39 Text Variant ×
    40 card Basic Card
    41 Narrow Card
    42 Custom Card
    43 carousel Basic Carousel
    44 Carousel without auto scroll
    45 carouselImage なし 公式サイトにはサンプルなし
    46 checkboxGroup Basic Checkbox Group
    47 Required Checkbox Group
    48 Disabled Checkbox Group
    49 clickToDial Click To Dial
    50 Simulate Phone System Management
    51 combobox Basic Combobox
    52 Combobox with Options Created Iteratively
    53 datatable Basic Data Table
    54 Data Table with Selectable Rows
    55 Data Table in Action
    56 Data Table with Static Actions
    57 Data Table with Dynamic Actions
    58 Data Table with Infinite Loading
    59 Data Table with Max Row Selection
    60 Data Table Row Selection
    61 Data Table with inline edit ×
    62 Sorting in Data Table
    63 dualListbox Simple Dual listbox
    64 Dual listbox with Default Selected options
    65 Dual listbox with Required Selected options
    66 Dual listbox with Minimum and Maximum Required options
    67 dynamicIcon Ellie Icon
    68 EQ Icon
    69 Score Icon
    70 Strength Icon
    71 Trend Icon
    72 Waffle Icon
    73 empApi なし 公式サイトにはサンプルなし
    74 fileCard なし 公式サイトにはサンプルなし
    75 fileUpload なし 公式サイトにはサンプルなし
    76 flexipageRegionInfo なし 公式サイトにはサンプルなし
    77 flow なし 公式サイトにはサンプルなし
    78 formattedAddress Formatted Address
    79 Formatted Address with Latitude/Longitude
    80 formattedDateTime Date Formatting
    81 Time Formatting
    82 Date and Time Formatting
    83 formattedEmail Formatted Email
    84 Formatted Email with Custom onclick Behavior
    85 formattedLocation Formatted Location
    86 formattedName Formatted Name
    87 formattedNumber Decimal Formatting
    88 Currency Formatting
    89 Percent Formatting
    90 formattedPhone なし 公式サイトにはサンプルなし
    91 formattedRichText Formatted RichText
    92 formattedText Formatted Text
    93 formattedTime なし 公式サイトにはサンプルなし
    94 formattedUrl Formatted URL
    95 helptext Basic Helptext
    Helptext with Custom Utility Icon
    97 icon Basic Icons
    98 Icons with Sizes and Variants
    99 input Date Input 直接入力をおすすめ
    100 Date/Time Input 直接入力をおすすめ
    101 Time Input 直接入力をおすすめ
    102 Color Input 直接入力をおすすめ
    103 File Input ×
    104 Text Input
    105 Email Input
    106 Password Input
    107 Telephone Input
    108 URL Input
    109 Number Input
    110 Checkbox
    111 Checkbox Button
    112 Toggle
    113 Search Input
    114 Search Input With Hidden Label
    115 Search Input With Spinner
    116 Validating Input
    117 inputAddress Basic Address Input
    118 Address With State and Country Picklists
    119 inputField なし 公式サイトにはサンプルなし
    120 inputLocation Basic Geolocation Fields
    121 Default Coordinates
    122 Required Geolocation Fields
    123 Read-only
    124 inputName Basic Name Fields
    125 Required Name Fields
    126 Read-Only Name Fields
    127 Name Fields with Field-Level Help
    128 inputRichText Rich Text Editor × 手動作成でも、文字列をドラッグして選択の動作が対応外
    129 Rich Text Editor with Bottom Toolbar × 手動作成でも、文字列をドラッグして選択の動作が対応外
    130 insertImageButton なし 公式サイトにはサンプルなし
    131 layout なし 公式サイトにはサンプルなし
    132 layoutItem なし 公式サイトにはサンプルなし
    133 listView なし 公式サイトにはサンプルなし
    134 map なし 公式サイトにはサンプルなし
    135 menuItem なし 公式サイトにはサンプルなし
    136 messageChannel なし 公式サイトにはサンプルなし
    137 navigation なし 公式サイトにはサンプルなし
    138 navigationItemAPI なし 公式サイトにはサンプルなし
    139 notificationsLibrary なし 公式サイトにはサンプルなし
    140 omniToolkitAPI なし 公式サイトにはサンプルなし
    141 outputField なし 公式サイトにはサンプルなし
    142 overlayLibrary なし 公式サイトにはサンプルなし
    143 pageReferenceUtils なし 公式サイトにはサンプルなし
    144 path なし 公式サイトにはサンプルなし
    145 picklistPath なし 公式サイトにはサンプルなし
    146 pill Basic Pills
    147 Pills With Avatar
    148 Pills With Icon
    149 Pills With Error
    150 pillContainer なし 公式サイトにはサンプルなし
    151 progressBar なし 公式サイトにはサンプルなし
    152 progressIndicator Base Type Progress Indicator
    153 Path Type Progress Indicator
    154 Path Type with iteration
    155 Path Type with if condition
    156 progressRing なし 公式サイトにはサンプルなし
    157 progressStep なし 公式サイトにはサンプルなし
    158 quickActionAPI なし 公式サイトにはサンプルなし
    159 quipCard なし 公式サイトにはサンプルなし
    160 radioGroup Basic Radio Group
    161 Required Radio Group
    162 Disabled Radio Group
    163 Radio Group with Button Type
    164 Required Radio Group with Button Type
    165 Disabled Radio Group with Button Type
    166 recordEditForm なし 公式サイトにはサンプルなし
    167 recordForm なし 公式サイトにはサンプルなし
    168 recordViewForm なし 公式サイトにはサンプルなし
    169 relativeDateTime Format Dates Relative To now
    170 select Basic Dropdown Menu
    171 Dropdown Menu with List of Options
    172 Dropdown Menu with Change Handler
    173 Dropdown Menu with Dynamic Options
    174 slider Basic Slider
    175 Slider Sizes
    176 Slider Positioning
    177 Slider Variants
    178 Slider (Interactive Example)
    179 spinner Spinner Sizes
    180 Spinner with Inverse Variant
    181 Displaying a Spinner Conditionally
    182 tab Tabs with ID
    183 tabset Basic Tabset
    184 Tabset with Scoped Variant
    185 Tabset with Default Selected Tab
    186 Tabset with Conditional Tabs
    187 Tabset with Content Added When Tab is Selected
    188 Tabset with onselect
    189 Tabset with Overflow Tabs
    190 Tabset with Vertical Variant
    191 textarea Textarea
    192 tile Basic Tile
    193 Tile With Icon
    194 A List of Tiles With Avatars
    195 tree Nested Tree
    196 Nested Tree with metatext
    197 Deeply Nested Tree
    198 Tree with onselect handler
    199 Tree with links
    200 treeGrid Base Tree Grid
    201 Tree Grid With Expanded Rows
    202 Asynchronous Loading of Nested Items
    203 unsavedChanges なし 公式サイトにはサンプルなし
    204 utilityBarAPI なし 公式サイトにはサンプルなし
    205 verticalNavigation Basic Vertical Navigation
    206 Default Selection
    207 Items With Icons
    208 Items With Badges
    209 Items With Href
    210 Compact Spacing
    211 Shaded Background
    212 Overflow Section
    213 From Data Map
    214 Asynchronous Validation
    215 Advanced Example
    216 verticalNavigationItem Basic Vertical Navigation
    217 verticalNavigationItemBadge Items With Badges
    218 verticalNavigationItemIcon Items With Icons
    219 verticalNavigationOverflow Overflow Section
    220 verticalNavigationSection Basic Vertical Navigation
    221 workspaceAPI なし 公式サイトにはサンプルなし
    222 component なし 公式サイトにはサンプルなし
    223 expression なし 公式サイトにはサンプルなし
    224 html なし 公式サイトにはサンプルなし
    225 if なし 公式サイトにはサンプルなし
    226 iteration なし 公式サイトにはサンプルなし
    227 renderIf なし 公式サイトにはサンプルなし
    228 template なし 公式サイトにはサンプルなし
    229 text なし 公式サイトにはサンプルなし
    230 unescapedHtml なし 公式サイトにはサンプルなし
    231 canvasApp なし 公式サイトにはサンプルなし
    232 inputField なし 公式サイトにはサンプルなし
    233 outputField なし 公式サイトにはサンプルなし
    234 recordData なし 公式サイトにはサンプルなし
    235 recordEdit なし 公式サイトにはサンプルなし
    236 recordView なし 公式サイトにはサンプルなし
    237 feed なし 公式サイトにはサンプルなし
    238 fullFeed なし 公式サイトにはサンプルなし
    239 publisher なし 公式サイトにはサンプルなし
    240 appLauncher なし 公式サイトにはサンプルなし
    241 navigationMenuBase なし 公式サイトにはサンプルなし
    242 notifications なし 公式サイトにはサンプルなし
    243 routeLink なし 公式サイトにはサンプルなし
    244 waveDashboard なし 公式サイトにはサンプルなし
    245 backButton なし 公式サイトにはサンプルなし
    246 minimizedAPI なし 公式サイトにはサンプルなし
    247 prechatAPI なし 公式サイトにはサンプルなし
    248 settingsAPI なし 公式サイトにはサンプルなし
    249 require なし 公式サイトにはサンプルなし
    250 actionMenuItem なし 公式サイトにはサンプルなし
    251 button Using ui:button 公式サイトにはサンプルなし
    252 checkboxMenuItem なし 公式サイトにはサンプルなし
    253 inputCheckbox Using ui:inputCheckbox
    254 inputCurrency Using ui:inputCurrency
    255 inputDate Using ui:inputCurrency 直接入力をおすすめ
    256 inputDateTime Using ui:inputDateTime 直接入力をおすすめ
    257 inputDefaultError Using Field-Level Errors
    258 inputEmail Using ui:inputEmail
    259 inputNumber Using ui:inputNumber
    260 inputPhone Using ui:inputPhone
    261 inputRadio Using ui:inputRadio
    262 inputRichText なし 公式サイトにはサンプルなし
    263 inputSecret Using ui:inputSecret
    264 inputSelect Using ui:inputSelect
    265 Multiple Selection ×
    266 inputSelectOption なし 公式サイトにはサンプルなし
    267 inputText Using ui:inputText
    268 inputTextArea Using ui:inputTextArea
    269 inputURL Using ui:inputURL
    270 menu Using ui:menu
    271 menuItem なし 公式サイトにはサンプルなし
    272 menuItemSeparator なし 公式サイトにはサンプルなし
    273 menuList なし 公式サイトにはサンプルなし
    274 menuTrigger なし 公式サイトにはサンプルなし
    275 menuTriggerLink なし 公式サイトにはサンプルなし
    276 message Using ui:message
    277 outputCheckbox Using ui:outputCheckbox
    278 outputCurrency Using the ui:outputCurrency Component
    279 outputDate Using ui:outputDate 直接入力をおすすめ
    280 outputDateTime Using ui:outputDateTime 直接入力をおすすめ
    281 outputEmail Using ui:outputEmail
    282 outputNumber Using ui:outputNumber
    283 outputPhone Using ui:outputPhone
    284 outputRichText なし 公式サイトにはサンプルなし
    285 outputText Using the ui:outputText Component
    286 outputTextArea Using ui:outputTextArea
    287 outputURL Using ui:outputURL
    288 radioMenuItem なし 公式サイトにはサンプルなし
    289 scrollerWrapper なし 公式サイトにはサンプルなし
    290 spinner Using ui:spinner
    291 sdk なし 公式サイトにはサンプルなし
    292 waveDashboard なし 公式サイトにはサンプルなし
    293 LWC標準コンポーネント accordion Basic Accordion
    294 Accordion with Conditional Section
    295 Accordion with Multiple Open Sections
    296 accordion-section Basic Accordion Section
    297 avatar Basic Avatar
    298 Avatar Sizes
    299 Avatar Variants
    300 Avatar Initials
    301 Avatar Icons
    302 badge Basic Badge
    303 Badges with Icons
    304 breadcrumb なし 公式サイトにはサンプルなし
    305 breadcrumbs Navigate Using a Link
    306 Navigate Using the onclick Handler
    307 Generate Breadcrumbs with for:each
    308 button Basic Buttons
    309 Disabled Buttons
    310 Buttons with Icons
    311 Inverse Buttons
    312 Buttons with Custom onclick Actions
    313 Buttons with Accesskey and Tabindex Attributes
    314 button-group Basic Button Groups
    315 Button Groups with Disabled Buttons
    316 Button Groups with Inverse Buttons
    317 Button Group with a Dropdown Menu
    318 Button Group with a Dropdown Menu
    319 button-icon Button Icon Variants
    320 Button Icon Sizes
    321 Button Icons with Inverse Variants
    322 button-icon-stateful Button Icons with Inverse Variants
    323 Stateful Button Icons with Border Variants
    324 button-menu Button Menus with Subheaders and Dividers
    325 Button Menus Using Icons and Menu Alignment
    326 Button Menu with Styled Items
    327 Button Menu Variants
    328 Button Menu with Custom onselect Behavior
    329 Button Menus Using for:each Iteration for Menu Items
    330 button-stateful Stateful Button ×
    331 Stateful Button with Inverse Variant ×
    332 Stateful Button with No Icon ×
    333 Stateful Button with Text and Icon ×
    334 card Basic Card
    335 Card with Narrow Variant
    336 Card with Custom Title and Footer
    337 carousel Basic Carousel
    338 Carousel Without Auto Scroll
    339 carousel-image なし 公式サイトにはサンプルなし
    340 checkbox-group Basic Checkbox Group
    341 Checkbox Group with Required Selection
    342 Disabled Checkbox Group
    343 click-to-dial Basic Click-to-Dial
    344 Simulate Phone System Management 公式サイトにはサンプルなし
    345 combobox Basic Combobox
    346 Combobox with Selection Required
    347 Disabled Combobox
    348 datatable Basic Data Table
    349 Data Table with Row Numbers
    350 Data Table with Row Actions
    351 Data Table with Inline Edit ×
    352 Data Table with Sortable Column
    353 dual-listbox Simple Dual Listbox
    354 Dual Listbox with Default Selected Options
    355 Dual Listbox with Required Selected Options
    356 Dual listbox with Minimum and Maximum Required Options
    357 dynamic-icon Ellie Icon
    358 emp-api なし 公式サイトにはサンプルなし
    359 file-upload なし 公式サイトにはサンプルなし
    360 flow-support なし 公式サイトにはサンプルなし
    361 formatted-address Formatted Address
    362 Formatted Address with Latitude/Longitude
    363 formatted-date-time Date Formatting
    364 Time Formatting
    365 Date and Time Formatting
    366 formatted-email Formatted Email
    367 Formatted Email with Custom onclick Behavior
    368 formatted-location Formatted Location
    369 formatted-name Formatted Name with Default Format (Long)
    370 Formatted Name with Medium Format
    371 Formatted Name with Short Format
    372 formatted-number Decimal Formatting
    373 Currency Formatting
    374 Percent Formatting
    375 formatted-phone Formatted Phone Number
    376 formatted-rich-text なし 公式サイトにはサンプルなし
    377 formatted-text Formatted Text
    378 formatted-time Formatted Time
    379 formatted-url Formatted URL
    380 helptext Basic Helptext
    381 icon Basic Icons
    382 Icons with Sizes and Variants
    383 input Date Input
    384 Date/Time Input
    385 Time Input (Basic)
    386 Time Input (Advanced)
    387 Color Input
    388 File Input ×
    389 Text Input
    390 Email Input
    391 Password Input
    392 Telephone Input
    393 URL Input
    394 Number Input
    395 Checkbox
    396 Checkbox Button
    397 Toggle ×
    398 Search Input
    399 input-address Basic Address Input
    400 Address With State and Country Picklists
    401 input-field なし 公式サイトにはサンプルなし
    402 input-location Basic Geolocation Fields
    403 Default Coordinates
    404 Required Geolocation Fields
    405 Disabled Geolocation Fields
    406 Read-Only Geolocation Fields
    407 Geolocation Fields with Field-Level Help
    408 input-name Basic Name Fields
    409 Required Name Fields
    410 Disabled Name Fields
    411 Read-Only Name Fields
    412 Name Fields with Field-Level Help
    413 input-rich-text なし 公式サイトにはサンプルなし
    414 layout なし 公式サイトにはサンプルなし
    415 layout-item なし 公式サイトにはサンプルなし
    416 map なし 公式サイトにはサンプルなし
    417 menu-item なし 公式サイトにはサンプルなし
    418 message-service なし 公式サイトにはサンプルなし
    419 navigation なし 公式サイトにはサンプルなし
    420 output-field なし 公式サイトにはサンプルなし
    421 page-reference-utils なし 公式サイトにはサンプルなし
    422 pill Basic Pills
    423 Pill With an Avatar
    424 Pill With an Icon
    425 Pill With an Error
    426 pill-container Pill Container
    427 platform-resource-loader なし 公式サイトにはサンプルなし
    428 platform-show-toast-event なし 公式サイトにはサンプルなし
    429 progress-bar なし 公式サイトにはサンプルなし
    430 progress-indicator なし 公式サイトにはサンプルなし
    431 progress-ring なし 公式サイトにはサンプルなし
    432 progress-step なし 公式サイトにはサンプルなし
    433 radio-group Basic Radio Group
    434 Required Radio Group
    435 Disabled Radio Group
    436 Radio Group with Button Type
    437 Required Radio Group with Button Type
    438 Disabled Radio Group with Button Type
    439 record-edit-form なし 公式サイトにはサンプルなし
    440 record-form なし 公式サイトにはサンプルなし
    441 record-view-form なし 公式サイトにはサンプルなし
    442 relative-date-time Format Dates Relative To Now
    443 rich-text-toolbar-button なし 公式サイトにはサンプルなし
    444 rich-text-toolbar-button-group なし 公式サイトにはサンプルなし
    445 slider Basic Slider
    446 Slider Sizes
    447 Slider Positioning
    448 Slider Variants
    449 spinner なし 公式サイトにはサンプルなし
    450 tab なし 公式サイトにはサンプルなし
    451 tabset Basic Tabset
    452 Tabset with Scoped Variant
    453 Tabset with Default Selected Tab
    454 Tabset with Conditional Tabs
    455 Tabset with Content Added When Tab is Selected
    456 Tabset with Overflow Tabs
    457 Tabset with Vertical Variant
    458 textarea TextArea
    459 tile Basic Tile
    460 Tile With Icon
    461 Tile With Avatar
    462 Tiles in a List
    463 tree Basic Tree
    464 Nested Tree With Metatext
    465 Deeply Nested Tree
    466 Tree With onselect Handler
    467 Tree With Links
    468 tree-grid Basic Tree Grid
    469 Tree Grid With Expanded Rows
    470 Asynchronous Loading of Nested Items
    471 ui-apps-api なし 公式サイトにはサンプルなし
    472 ui-list-api なし 公式サイトにはサンプルなし
    473 ui-object-info-api なし 公式サイトにはサンプルなし
    474 ui-record-api なし 公式サイトにはサンプルなし
    475 vertical-navigation Basic Vertical Navigation
    476 Vertical Navigation with Default Selection
    477 Vertical Navigation Items with Icons
    478 Vertical Navigation Items with Badges
    479 Vertical Navigation Items with Links
    480 Vertical Navigation with Compact Spacing
    481 Vertical Navigation On Shaded Background
    482 Vertical Navigation with Overflow Section
    483 Vertical Navigation with Iteration
    484 Vertical Navigation with Asynchronous Validation
    485 Vertical Navigation in Action
    486 vertical-navigation-item Basic Vertical Navigation
    487 vertical-navigation-item-badge Vertical Navigation with Badges
    488 vertical-navigation-item-ico Vertical Navigation with Icons
    489 base-chat-header なし 公式サイトにはサンプルなし
    490 base-chat-message なし 公式サイトにはサンプルなし
    491 base-prechat なし 公式サイトにはサンプルなし
    492 minimized なし 公式サイトにはサンプルなし
    493 カスタマイズ カスタマイズのコンポーネント ×

    付録十四:APIテスト動作定義Excelファイルの記入方法

    項目説明

    • ベースURL
      入力必須項目です。APIを呼び出すためのベースURLです。
      ※ CONFIG(変数名)を指定する場合、スクリプト自動変換後に生成された設定ファイル「config.js」に値を指定することができます。例:CONFIG(ベースURL)
    • DB
      データベースに接続するため設定必須の項目です。
      ※ CONFIG(変数名)を指定する場合、スクリプト自動変換後に生成された設定ファイル「config.js」に値を指定することができます。例:CONFIG(DBユーザ名)
    • APIプロキシ
      プロキシ経由でAPIにアクセスする場合、APIプロキシを設定してください。
      ※ CONFIG(変数名)を指定する場合、スクリプト自動変換後に生成された設定ファイル「config.js」に値を指定することができます。例:CONFIG(プロキシユーザ名)
    • タイムアウト時間
      任意項目です。API通信のタイムアウト時間を設定します。
    • SSL
      SSL有効・無効の設定です。
    • 動作ID
      入力必須項目です。パターンは任意です。
      原則的には、一つの動作は唯一な動作IDを設定してください。
    • 外部データ
      任意項目です。外部データcsvファイルの相対パスを指定します。
      ※「○」を指定する場合は、csvのファイル名は動作IDになります。
      ※相対パスを指定する場合は、「ATgoテスト用プロジェクトのルートフォルダ¥data」を基準にします。
    • テスト内容説明
      任意項目です。
    • 有効・無効
      この行記載している動作はスクリプトに変換するかどうかを指定します。ディフォルト値は有効です。
    • 動作種類
      入力必須項目です。プルダウンメニューから選択できます。
      「動作種類」は五つあります。
      ① API:APIの呼び出しと応答検証を行う
      ② 外部ツール:外部ツールの呼び出しを行う
      ③ DB:データベースに接続し、Select文の実行、結果の保存と検証を行う
      ④ ファイルのコピー:ファイルのコピーを行う
      ⑤ テキストファイルの比較:テキストファイルの比較を行う
    • パラメータ1~
      パラメータの設定についたは、「引数名」はプルダウンメニューから選択し、「値」は選択した引数名に対応する値を設定してください。
      ※パラメータの詳細は[各種動作のパラメータ一覧]ご参照ください。
      ※パラメータの設定は順番がありませんが、プルダウンメニューの上から下まで設定したほうが理解しやすいですので、お勧めいたします。
      ※一部のパラメータは設定必須ではありません。
      ※一部のパラメータは複数設定可能です。

    各種動作のパラメータ一覧

    動作種類 パラメータ名 説明 設定必須 複数指定可 参考例
    API ベースURL ベースURLを指定する。
    ※ベースURLは共通設定のところにも設定できますので、設定必須ではありません。
    https://atgo.rgsis.com/api/
    要求URL 要求URLを指定する。 /books/
    メソッド HTTPメソッドを指定する。 GET
    パラメータ GETメソッドのパラメータを指定する。 id=3
    要求ヘッダ 要求ヘッダのフィールド名と設定値を指定する。 Authorization = 'Bearer 1231232138129389123'
    要求電文JSON JSON形式で要求電文を指定する。 {"price":2200,"bookname":"自動テスト入門","barcode":"1923055029001"}
    応答コード期待値 応答コード期待値を指定する。 200
    応答ヘッダ期待値 応答ヘッダのフィールド名と期待値を指定する。 Content-Type == 'application/json; charset=utf-8'
    又はContent-Type contains 'application/json'
    応答完全検証期待値 応答電文期待値を指定し、完全検証を行う。 {'id' : 1, 'bookname' : '自動テスト入門', 'barcode': '1923055029001', 'price': 2200}
    応答一部検証期待値 応答電文一部の期待値を指定し、一部検証を行う。 {"bookname": "自動テスト入門"}
    応答複雑検証期待値 Javascript言語で条件式を指定し、複雑検証を行う。
    ※responseは応答電文を格納する変数名です。キーワードとして使えます。
    response.price > 1000
    変数の宣言と代入 変数を宣言して、値を代入する。
    ※変数を参照するには、基本的に変数名を指定すればいいですが、JSONには#(変数名)を指定する必要があります。
    def id = response.id
    要求ヘッダ出力先 要求ヘッダを指定したファイルへ出力する。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥API動作出力」を基準にします。
    D:¥API呼び出し¥1-1本の新規¥要求ヘッダ.txt
    又は1-1本の新規¥要求ヘッダ.txt
    要求電文出力先 要求電文を指定したファイルへ出力する。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥API動作出力」を基準にします。
    D:¥API呼び出し¥1-1本の新規¥要求電文.json
    又は1-1本の新規¥要求電文.json
    応答ヘッダ出力先 応答ヘッダを指定したファイルへ出力する。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥API動作出力」を基準にします。
    D:¥API呼び出し¥1-1本の新規¥応答ヘッダ.txt
    又は1-1本の新規¥応答ヘッダ.txt
    応答電文出力先 応答電文を指定したファイルへ出力する。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥API動作出力」を基準にします。
    D:¥API呼び出し¥1-1本の新規¥応答電文.json
    又は1-1本の新規¥応答電文.json
    外部ツール コマンドライン(同期) ATgoスクリプトの実行は呼び出した外部ツールが終わるまで待つ。 いずれか設定必須 D:¥外部ツール¥外部ツール.bat param1 param2
    コマンドライン(非同期) 呼び出した外部ツールとATgoのスクリプトが並列に同時実行する。 D:¥外部ツール¥外部ツール.bat param1 param2
    実行フォルダ 作業フォルダを指定する。
    ※相対パスを指定する場合、ATgoテスト用プロジェクトのルートパスを基準にします。
    D:¥外部ツール
    又はinput¥外部ツール
    DB SQLファイルパス 実行したいSQLスクリプトファイルのパスを指定する。
    ※相対パスを指定する場合、ATgoテスト用プロジェクトのルートパスを基準にします。
    いずれか設定必須 D:¥SQLスクリプト¥スクリプト1.sql
    又はinput¥SQLスクリプト¥スクリプト1.sql
    INSERT文 実行したいINSERT文を指定する。 INSERT INTO Users VALUES (4,'Yuko',23)
    DELETE文 実行したいDELETE文を指定する。 DELETE FROM Users WHERE id>2
    UPDATE文 実行したいUPDATE文を指定する。 UPDATE Users SET name='hanako' WHERE id=4
    SELECT文 実行したいSELECT文を指定する。 SELECT * FROM Users
    SQLファイル実行結果出力先 SQLスクリプトファイルの実行結果のtxtファイル出力先を指定する。
    ※SQLファイルパス指定した場合のみ有効です。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥DB動作出力」を基準にします。
    ※テキストファイルの比較機能を利用したい場合、絶対パスを指定するのはお勧めです。
    D:¥DB¥ユーザ新規¥DB(ユーザ新規前).txt
    結果出力先ファイルパス SELECT文の実行結果のcsvファイル出力先を指定する。
    ※SELECT文指定した場合のみ有効です。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥DB動作出力」を基準にします。
    SELECT文指定した場合設定必須 D:¥db¥result2.csv
    又はresult2.csv
    csvファイル区切り文字 SELECT文の実行結果のcsvファイルの区切り文字を指定する。
    ※ディフォルト値は「|」です。
    ※SELECT文指定した場合のみ有効な項目です。
    |
    新旧比較ファイルパス 比較したいcsvファイルのパスを指定する。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥DB動作出力」を基準にします。
    ※SELECT文指定した場合のみ有効な項目です。
    D:¥db¥result1.csv
    又はresult1.csv
    完全検証期待値 SELECT文の実行結果の期待値を指定し、完全検証を行う。
    ※SELECT文指定した場合のみ有効な項目です。
    ※SELECT文の実行結果の実測値はJSONオブジェクトの配列です。レコードとJSONオブジェクトは一対一で対応します。
    ※期待値は実測値と完全に一致するように設定してください。すべてのレコードをJSON形式に変換し、半角のコンマで区切って、両端に"["と"]"をつけてください。
    [{'id': '1','name': 'Tom','age': '20'},{'id': '2','name': 'Jack','age': '18'},{'id': '3','name': 'Jerry','age': '16'}]
    一部検証期待値 SELECT文の実行結果の一部の期待値を指定し、一部検証を行う。
    ※SELECT文指定した場合のみ有効な項目です。
    ※SELECT文の実行結果の実測値はJSONオブジェクトの配列です。レコードとJSONオブジェクトは一対一で対応します。
    ※一つのレコードを指定したい場合は、そのレコードをJSON形式に変換してから設定してください。
    ※複数のレコードを指定したい場合は、それらのレコードをJSON形式に変換し、半角のコンマで区切って、両端に"["と"]"をつけてください。
    {'id': '1','name': 'Tom','age': '20'}
    又は{'id': '2','name': 'Jack','age': '18'}
    又は[{'id': '1','name': 'Tom','age': '20'},{'id': '2','name': 'Jack','age': '18'}]
    複雑検証期待値 Javascript言語で条件式を指定し、複雑検証を行う。
    ※SELECT文指定した場合のみ有効な項目です。
    ※SELECT文の実行結果の実測値はJSONオブジェクトの配列です。レコードとJSONオブジェクトは一対一で対応します。
    ※dbResultはSELECT文の結果を格納するJSONオブジェクトの配列です。キーワードとして使えます。
    dbResult[0].id == '1'
    又はdbResult[1].name == 'Jack'
    又はdbResult[2].age == '16'
    テキストファイルの比較 テキストファイルパス1 一番目のテキストファイルパスを指定します。
    ※相対パスを指定する場合、ATgoテスト用プロジェクトのルートパスを基準にします。
    D:¥DB¥ユーザ新規¥DB(ユーザ新規前).txt
    テキストファイルパス2 二番目のテキストファイルパスを指定します。
    ※相対パスを指定する場合、ATgoテスト用プロジェクトのルートパスを基準にします。
    D:¥DB¥ユーザ新規¥DB(ユーザ新規後).txt
    比較結果出力先フォルダ 比較結果レポート出力フォルダを指定します。
    ※指定したテキストファイルを格納するフォルダのサブフォルダを指定するのはお勧めです。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥テキストファイルの比較動作出力」を基準にします。
    D:¥DB¥ユーザ新規¥新旧比較結果
    除外パターン 除外したい文字列を正規表現で指定します。 \d{4}-\d{2}-\d{2}
    除外列 除外したい列を列名で指定します。
    ※csvファイル比較時のみ有効です。
    update_time
    ヘッダ行 空行を除いたヘッダの行番号を指定します。
    ※csvファイル比較時に除外列も指定した場合のみ有効です。
    2
    ※ディフォルト値は1です。
    ファイルのコピー コピー元ファイルパス コピー元ファイルパスを指定します。
    ※相対パスを指定する場合、ATgoテスト用プロジェクトのルートパスを基準にします。
    ¥¥192.168.2.200¥log.txt
    コピー先ファイルパス コピー先ファイルパスを指定します。
    ※相対パスを指定する場合、「ATgoテスト用プロジェクトのルートフォルダ¥output¥スクリプト実行のタイムスタンプ¥ファイルのコピー動作出力」を基準にします。
    D:¥logs¥log.txt
    又はlog.txt

    付録十五:テスト実施結果をメールで通知する方法

    1. [ヘルプ]をクリックし、[実行結果の通知設定]をクリックします。

    2. [実行結果の通知設定]のウィンドウが開かれ、[結果通知条件]、[メール送信元]、[メール送信先]を設定し、[送信テスト]ボタンを押します。

    3. 下図のようなメールが届きましたら、メールの設定が成功しました。

    4. 結果通知条件は[成功・失敗ともに通知]を選択した場合、毎回テスト実施完了後に実行結果をメールで通知します。

    付録十六:UIテストターミナルの利用方法

    実行する際にコマンド「WaitForManualAction」に到達する時、又はデバッグする際に設定したブレークポイントに到達する時、ターミナルをご利用し、ATgoコマンドを入力して実行することが可能です。
    利用方法は下記の通りです。

    1. スクリプトに「WaitForManualAction」を追加します。または、ブレークポイントを設定します。

    2. シナリオファイルを開き、「実行」ボタン又は「デバッグ」ボタンを押します。
      こちらはコマンド「WaitForManualAction」追加した場合を例として説明します。
    3. 「WaitForManualAction」に到達したら、スクリプト実行は一時停止します。
      下側の「コンソール」パネルを開き、実行したいATgoコマンドを入力し、「実行」ボタンを押します。

    4. 手作業が終わりましたら、「継続」ボタンを押して、スクリプトの実行を継続します。

    付録十七:ChromeとChromium版Edgeの起動オプションを設定する方法

    起動オプション設定ファイル

    Chromeの起動オプション設定ファイルは「chromeoptions.txt」です。
    Chromium版Edgeの起動オプション設定ファイルは「edgeoptions.txt」です。
    一行は一つの起動オプションを設定してください。
    ※起動オプション設定ファイルはATgoパッケージの直下にあります。
    ※ATgoバージョンアップする際に、設定済みの起動オプション設定ファイルを新パッケージ内にコピーしてください。

    ユースケース:ダウンロード保存先指定するための設定

    Chrome

    1. 「chromeoptions.txt」に「user-data-dir=<Chromeのユーザデータディレクトリ>」を追加します。
    2. (一回目のみ)「config.settings」に「browser_type=chrome」と「browser_autoclose=false」を設定します。
      OpenURLでChromeを開き、手動でChromeの設定画面を開いて「ダウンロード前に各ファイルの保存場所を確認する」をONにします。
      設定完了しましたら、ブラウザを閉じます。ユーザデータは指定した場所に保存されます。



    3. 一回目以降は、ダウンロード前に「名前を付けて保存」のダイアログが必ずポップアップされます。
      コマンド「ChooseSaveOnFileDLDialog」を利用し、ファイルの保存先を指定することが可能です。

    Chromium版Edge

    1. 「edgeoptions.txt」に「user-data-dir=<Edgeのユーザデータディレクトリ>」を追加します。
    2. (一回目のみ)「config.settings」に「browser_type=edgenew」と「browser_autoclose=false」を設定します。
      OpenURLでEdgeを開き、手動でEdgeの設定画面を開いて「ダウンロード時の動作を毎回確認する」をONにします。
      設定完了しましたら、ブラウザを閉じます。ユーザデータは指定した場所に保存されます。



    3. 一回目以降は、ダウンロード前に確認のダイアログが必ずポップアップされます。
      コマンド「ChooseSaveOnFileDLDialog」を利用し、そのダイアログを操作してファイルの保存先を指定することが可能です。

    付録十八:UIテストのキーワード一覧

    • _PROJECT_ROOT_
      開いてるテストプロジェクトのルートパス
    • _OUTPUT_TIMESTAMP_
      実行開始時のタイムスタンプ
    • _SKIP_
      当コマンドの実行をスキップする
    • _SCENARIO_NAME_
      実行しているシナリオのファイル名
      ※「試験申し込み.scenario」の場合、値は「試験申し込み」です。
    • _SCRIPT_NAME_
      実行しているスクリプトのファイル名
      ※「ログイン.script」の場合、値は「ログイン」です。
    • _CURRENT_SCRIPT_EVIDENCE_FOLDER_
      実行しているスクリプトのエビデンスの出力先
      ※接頭辞が「Save」のコマンドを使う際に、出力先としてはファイル名のみ(相対パス)を指定した場合、このキーワードで出力先フォルダのフルパスを取得することができます。
      ※例:D:\UIテストプロジェクト\output\20220818_160050\evidence\試験申し込み\000001_ログイン

    付録十九:EdgeのIEモード

    EdgeのIEモードでUIテストを実施する方法

    設定ファイル「config.settings」に下記の設定を追加してください。

    # ブラウザの種類 browser_type=edge_ie_mode # msedge.exeの場所 edge_path=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

    ポップアップがブロックされた場合の設定

    1. タスクバーの検索ボックスに「gpedit」を入力し、「グループポリシーの編集」をクリックして、「ローカルグループポリシーエディター」を開きます。
    2. 「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Internet Explorer」→「インターネットコントロールパネル」→「セキュリティページ」→「インターネットゾーン」で「ポップアップブロックの使用」をダブルクリックして設定します。
    3. 下図のように設定した後、「適用」ボタンを押します。

    Windows11での設定

    Windows11を利用時にEdgeのIEモードでテストを実施したい場合、下記の設定を行う必要があります。

    1. タスクバーの検索ボックスに「グループ ポリシーの編集」を入力し、「開く」をクリックして、「ローカルグループポリシーエディター」を開きます。

    2. 「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Internet Explorer」→「インターネットコントロールパネル」→「詳細設定ページ」を選択します。

    3. 「拡張保護モードを有効にする」をダブルクリックします。

    4. 下図のように設定した後、「適用」ボタンを押します。

    5. 「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Internet Explorer」→「インターネットコントロールパネル」→「セキュリティページ」を選択します。

    6. 「インターネットゾーン」→「保護モードを有効にする」をダブルクリックします。

    7. 下図のように設定した後、「適用」ボタンを押します。

    8. 「イントラネット ゾーン」→「保護モードを有効にする」をダブルクリックします。

    9. 下図のように設定した後、「適用」ボタンを押します。

    10. 「信頼済みサイト」→「保護モードを有効にする」をダブルクリックします。

    11. 下図のように設定した後、「適用」ボタンを押します。

    12. 「制限付きサイトゾーン」→「保護モードを有効にする」をダブルクリックします。

    13. 下図のように設定した後、「適用」ボタンを押します。

    制限事項

    1. PDFを表示するウィンドウ・タブへの切り替えはできません。
      ※PDFの操作はコマンド「SendKeys」で実現できますので、ウィンドウ・タブへの切り替えは必要ではありません。
    2. EdgeのIEモードでテストを実施する際に、タブの切り替え動作は実行されますが、画面上では前面には表示されない場合がございます。その場合、隠されているタブのスクリーンショットを正しく取るためには、スクリプトにタブにフォーカスを当てる操作を追加する必要がございます。

    付録二十:ブラウザドライバーの更新

    各ブラウザがバージョンアップされてから2週間以内に、最新ドライバーを提供いたします。

    プロキシ設定不要の場合

    シナリオの実行を始めるときに、ドライバーの更新が検知されましたら、自動的に最新版のドライバーをダウンロードします。

    プロキシ設定が必要な場合

    ダウンロードするには、プロキシの設定が必要となる場合、一回目のみ、下記の手順に従って、ダウンロード用のプロキシを設定してください。
    ※二回目以降は、自動的にダウンロードします。

    1. [ヘルプ]をクリックし、[ドライバー更新]をクリックします。
    2. [ドライバー更新]のウィンドウが開かれ、[プロキシ]を[有効]にして、[ホスト]、[ポート]などを設定してから、[ダウンロード]ボタンを押します。
    3. 下図のダイアログが表示されましたら、ドライバーの更新は完了しました。

    付録二十一:[app.ini]ファイル設定の説明

    ATgoのルートディレクトリには[app.ini]というファイルがあります。このファイルで下記のパラメータは設定可能です。

    分類 パラメータ名 説明 サンプル
    UIテスト結果検証 compare_commands UIテスト検証機能を利用する際にコマンドを除外して比較するかどうかを指定します。
    ※compare_commands=trueの場合、コマンドも比較対象になります。
    ※compare_commands=falseの場合、コマンドは比較対象外になります。
    ※既定値はtrueです。
    compare_commands=false
    pdf_resolution PDFから画像に変換して比較する際の解像度を指定します。
    ※既定値は600です。
    pdf_resolution=300
    pdf_resolution=600
    min_threshold 画像比較時の色閾値の最小値を指定します。
    ※0~0.2の数値を指定可能です。
    ※既定値は0.01です。
    min_threshold=0
    min_block_size 画像比較時のブロックサイズの最小値を指定します。
    ※2~30の整数を指定可能です。
    ※既定値は5です。
    min_block_size=2
    comparison_report_ver 比較レポートのバージョンを指定します。
    ※1~2の整数を指定可能です。
    ※既定値は2です。
    comparison_report_ver=2
    comparison_report_ver=1
    ドライバー自動更新 enable_download_proxy ドライバーをダウンロードする際に、プロキシを使うかどうかを指定します。
    ※enable_download_proxy=trueの場合、プロキシ経由でダウンロードします。
    ※enable_download_proxy=falseの場合、プロキシを使用せずにダウンロードします。
    ※既定値はfalseです。
    enable_download_proxy=true
    download_proxy_host プロキシサーバのIPアドレスまたはホスト名を指定します。 download_proxy_host=127.0.0.1
    download_proxy_port プロキシサーバのポート番号を指定します。 download_proxy_port=3128
    download_proxy_username プロキシのユーザ名を指定します。 download_proxy_username=user
    download_proxy_password プロキシのパスワードを指定します。 download_proxy_password=pass
    UI/APIテスト db_null_value_replacement Select文で取得したデータ内のNULL値の置換テキストを指定します。 db_null_value_replacement=NULL
    ライセンスサーバー license_server_connect_timeout ライセンスサーバーに接続する際のタイムアウト時間(ミリ秒)を100~30000の範囲で指定します。
    ※既定値は10000です。
    license_server_connect_timeout=10000

    付録二十二:レコーディング(プラグインモード)の説明

    ATgo ver.8.8.0 より Google Chrome プラグインモードで UI テストのスクリプトを自動記録できるようになりました。
    ATgo ver.9.1.0 より 上記に加え Microsoft Edge・Chromium の二種類のブラウザに対応しました。

    レコーディングモードの起動

    1. [script フォルダ]を右クリックし、[UI テスト Script ファイル新規]をクリックします。

    2. スクリプト名を入力し、作成した script ファイルをダブルクリックして開きます。

    3. ATgoのレコーディングマークを押し、[レコーディング(プラグインモード)]をクリックし、レコーディングに使用するプラグインを選択してください。

    4. レコーディング用ブラウザが開かれるまで、しばらくお待ちください。
      ※ レコーディング用ブラウザが起動するまでに時間がかかる場合があります。

    レコーディング方法

    1. 起動した画面上でテスト対象となるページのURLを入力して[開始]ボタンをクリックすると、レコーディング画面が開きます。
      ※開かれたページを更新しないでください。

    2. 画面左上に赤色のレコーディングマークが表示されたら、レコーディングを始めることができます。
      新しいページに移る際には、レコーディングマークが再び表示されるまでお待ちください。
      カーソルを画面内の要素に移動させると、カーソルが当てられた要素が緑色に変わります。
      ※入力ボックスがフォーカスされている状態で直接他の要素をクリックする場合、入力コマンドとクリックコマンドは順番が逆に記録される恐れがありますので、ご注意ください。値を入力完了後に、一回TABキーを押してフォーカスアウトさせることがおすすめです。

    3. ブラウザ上で操作を行うことで、scriptファイル内に新たにコマンドが生成されることが確認できます。

    4. レコーディング終了後は、右上の×ボタンをクリックして、レコーディングブラウザを閉じてください。
      ※ 開いたままにしている場合は、次回起動時に正常に動作しない可能性があります。

    設定画面

    上図の①をクリックすると、以下のような設定画面が表示されます。この設定画面より、ATgoのレコーディングの各種設定を行うことができます。
    それぞれの機能については、以下の表をご確認ください。

    No 機能
    1 設定ファイルのインポート
    2 設定ファイルのエクスポート
    3 エキスパートモードの有効化・無効化
    4 当要素取得方法の有効化・無効化
    5 当要素取得方法の優先度を下げる
    6 当要素取得方法の優先度を上げる
    7 ダイアログ操作記録の有効化・無効化
    8 生成スクリプトのオプション設定
    9 ブラックリスト(クリック動作を記録しない要素)の設定
    10 ブラックリスト(クリック動作を記録しない要素)への追加
    11 ブラックリスト(クリック動作を記録しない要素)からの削除

    レコーディングの設定

    要素取得方法の優先度設定

    上図では、要素を取得する方法の選択と優先度の設定を行うことができます。
    要素を取得するために使う属性などを有効に設定して、[]ボタン(優先度を上げる)、[]ボタン(優先度を下げる)で、要素取得方法の優先度を調整してください。
    次の例は、以下のHTMLコードに対して設定を行う場合です。

    <button id="btn" name="btn" class="btn">Example</button>

    上図の場合、以下のコマンドが生成されます。

    Click_ById=btn

    上図の場合、以下のコマンドが生成されます。

    Click_ByName=btn

    レコーディングのオプション設定

    上図の①の部分では、レコーディングに使用するローカルループバックアドレスとポート番号を変更することができます。
    上図の②の部分では、ダイアログ操作の記録を有効にするかどうかを選択できます。
    有効にした場合、JavaScriptのalert(), confirm(), prompt()等のダイアログが表示された場合にも、対応する動作が記録されます。
    上図の③の部分では、生成するATgoコマンドのオプションを選択することができます。
    次の例は、以下のHTMLコードに対して設定を行う場合です。

    <select id="select"> <option value="male">男性</option> <option value="female">女性</option> </select>

    BY_TEXTを選択した場合、以下のようなコマンドが生成されます。

    Input_Select_ById_UseOptionTxt=select|女性

    BY_VALUEを選択した場合、以下のようなコマンドが生成されます。

    Input_Select_ById_UseOptionTxt=select|female

    ブラックリスト(クリック動作を記録しない要素)の設定

    上図の部分では、HTMLの各要素がタグで表示されており、ブラックリスト(クリック動作を記録しない要素)の設定を行うことができます。
    タグが黒色の場合、その要素のクリック動作は記録されません。タグが白色の場合、その要素のクリック動作が記録されます。
    タグをクリックすることで色が変わり、動作を記録するかどうかを設定することができます。

      

    リストの右側にある上図のような[]マークをクリックすると、任意のタグ名を入力することができます。
    クリック動作の記録対象から除外するタグ名を入力すると、そのHTML要素のクリック動作が記録されなくなります。
    作成したタグを削除し、記録対象に含める場合は、タグの右上にある[×]マークをクリックして削除してください。

    エキスパートモード

    ※ HTMLに関する知識が必要になります。

    エキスパートモードの起動

    設定画面の右上にある[エキスパートモード]クリックすると、エキスパートモードへに変わります。
    エキスパートモードでは、下図のように[ブラックリスト(クリック動作を記録しない要素の設定)]の各タブの右下に設定マークが表示されるようになり、高度な設定が可能になります。

    詳細設定の追加

    HTMLタグの中の特定の要素のみを記録対象から外したい場合、そのタグの右下にある設定マークをクリックすると、詳細な設定ができるようになります。
    以下では、typeが「tel」であるinput要素を記録対象から除外したい場合を例とし、機能を説明します。

    1. inputタグの右下にある設定マークをクリックすると、下側にinputタグの詳細な設定画面が表示されます。
    2. 表示されたドロップダウンリストからを「type」を選択します。
    3. タグ一覧の一番右にある+マークをクリックして「tel」と入力すると、黒色の「tel」タグが追加され、記録対象から除外されます。

    クリック記録の再有効化

    ブラックリストに設定したHTML要素を再度記録対象に含めたい場合は、そのタグをクリックすれば白色に変わり、クリック動作が再度記録されるようになります。
    タグ右上の[×]マークを押して一覧から削除することでも、クリック動作が再度記録されるようになります。

    その他のルールの追加

    左下のドロップダウンリストから[]をクリックすると、入力ボックスが表示されます。
    フィルタリングしたい属性(innerText,className,id等)を入力してエンターキーを押すと、ドロップダウンリストに入力した属性が追加されます。
    追加された属性をクリックして、フィルタリングしたい値を入力することで、クリック記録対象から除外することができます。
    以下は、innerTextが「確認」であるinput要素を記録対象から除外したい場合の例です。

    1. ドロップダウンリストの[]をクリックします。

    2. 入力ボックスに「innerText」と入力します。

    3. 新しくリストに追加された「innerText」を選択後、右側に[]マークで表示された入力ボックスに「確認」と入力してエンターキーを押します。

    4. 「確認」の黒色のタグが表示され、inputの文字が「確認」である要素がクリック記録から除外されるようになります。

    5. 記録対象から除外した要素を再びクリック動作の記録対象としたい場合は、タグをクリックして白色にするか、右上の[×]マークをクリックすることで、クリック動作が記録されるようになります。

    設定ファイルのインポートとエクスポート

    設定画面で設定したレコーディング設定は、.txtファイルで保存することができます。

    • 上図の①をクリックすると、保存した.txtファイルをインポートすることができます。
    • 上図の②をクリックすると、レコーディング設定を.txtファイルでエクスポートすることができます。

    インポート

    インポートボタンをクリック後、インポートする設定ファイルを選択し、[開く]をクリックしてください。
    インポートに成功した場合、ブラウザ上に以下のような通知が表示されます。

    エクスポート

    上図の②をクリックすると、.txtファイルをエクスポートすることができます。 ダイアログから保存するフォルダを選択後、[保存]をクリックしてください。

    付録二十三:汎用比較機能

    ATgo ver.8.9.0 よりATgo独自の検証データフォルダだけではなく、任意のフォルダを比較できるようになりました。
    汎用比較機能をご利用するには、汎用比較機能付きのライセンスキーを登録する必要があります。

    利用方法

    1. ATgoツールバーの[UIテスト結果検証]アイコンをクリックします。
    2. 下図のような画面が表示され、比較モードを「汎用モード」に設定します。
    3. 期待検証データ、実測検証データ及びレポート出力パスを指定して、検証ボタンを押します。
      ※ 期待値フォルダと実測値フォルダは任意のフォルダを指定可能です。
      ※ 指定した期待値フォルダと実測値フォルダ内に相対パスが一致している二つのファイルを比較します。
    4. 比較結果レポートを確認します。

    設定ファイル

    場所

    一回比較を行った後に、期待値フォルダと実測値フォルダの直下には、それぞれ一つの設定ファイル「define.xml」が生成されます。
    ※フォルダの構造が変わりましたら、再度比較を行う前に、「define.xml」を削除する必要があります。

    構造

    共通設定

    共通設定はcommonSettingsタグ内に定義します。

    • 上図の①
      正規表現でファイルパスを指定することで、マッチしたファイルを比較対象から除外することができます。
      <exclude pathRegex=""/>
      使用例(「その他」フォルダ内全てのファイルを除外する)
      <exclude pathRegex="その他.*"/>
    • 上図の②
      正規表現(pathRegex="")でテキストファイルのパスを指定し、マッチしたテキストファイルの除外文字列や除外列(csvの場合のみ)を一括指定することができます。
      ※textタグは複数指定可能です。
      ※maskタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.4. テキストファイルの比較」をご参照ください。
      <text pathRegex=""> <mask regex=""/> <mask header=""/> </text>
    • 上図の③
      正規表現(pathRegex="")で画像のパスを指定し、マッチした画像の比較範囲や除外範囲を一括指定することができます。
      ※imageタグは複数指定可能です。
      ※rangeタグとexcludeタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.3. 画像比較範囲の指定」をご参照ください。
      <image pathRegex=""> <range x="" y="" width="" height=""/> <exclude x="" y="" width="" height=""/> </image>
    • 上図の④
      正規表現(pathRegex="")でPDFのパスを指定し、マッチしたPDFの比較範囲や除外範囲を一括指定することができます。
      ※pdfタグは複数指定可能です。
      ※rangeタグとexcludeタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.5. PDFの比較」をご参照ください。
      <pdf pathRegex=""> <range x="" y="" width="" height="" pageNo=""/> <exclude x="" y="" width="" height="" pageNo=""/> </pdf>

    ファイルごとの設定

    ファイルごとの設定はfilesタグ内に定義します。
    filesタグ内には、属性値以外の変更をしないでください。

    • 上図の⑤
      相対パスが「html\01_ログイン.html」であるテキストファイルの除外文字列や除外列(csvの場合のみ)を指定することができます。
      ※maskタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.4. テキストファイルの比較」をご参照ください。
      <text path="html\01_ログイン.html" encode="utf-8"> <mask regex=""/> </text>
    • 上図の⑥
      相対パスが「pdf\01_ログイン.pdf」であるPDFの比較範囲や除外範囲を指定することができます。
      ※rangeタグとexcludeタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.5. PDFの比較」をご参照ください。
      <pdf path="pdf\01_ログイン.pdf"> <range x="" y="" width="" height="" pageNo=""/> <exclude x="" y="" width="" height="" pageNo=""/> </pdf>
    • 上図の⑦
      相対パスが「png\01_ログイン.png」である画像の比較範囲や除外範囲を指定することができます。
      ※rangeタグとexcludeタグの設定方法は従来の比較モードとは変わりませんので、詳しくは「3.5.3. 画像比較範囲の指定」をご参照ください。
      <image path="png\01_ログイン.png"> <range x="" y="" width="" height=""/> <exclude x="" y="" width="" height=""/> </image>

    付録二十四:分岐機能

    ATgo ver.8.9.0 より分岐機能を利用できるようになりました。

    条件分岐

    条件判断は接頭辞が「Assert」であるアサーションコマンドで行います。
    ※利用可能なアサーションコマンド一覧は「付録一:UIテストコマンドの説明」をご参照ください。

    拡張パラメータ

    全てのアサーションコマンドに対して、下記二つの拡張パラメータを追加しました。

    1. アサーション成功となる場合のジャンプ先(どの場所に実行処理を移すか)
    2. アサーション失敗となる場合のジャンプ先(どの場所に実行処理を移すか)

    ジャンプ先を指定するパラメータ(上記の1と2)の構文は下記の通りです。
    ※ スクリプト名は拡張子を指定する必要がありません。
    ※ 指定したスクリプト名は必ずscenario(当スクリプトの後ろに)に定義しなければなりません。
    ※ @タグ名のみを指定する場合、当スクリプト内のタグにジャンプします。
    ※ スクリプト名のみを指定する場合、指定したスクリプトの先頭行にジャンプします。
    ※ タグについての説明は「タグ」をご参照ください。

    スクリプト名@タグ名

    拡張パラメータの例

    1. 基本パラメータがない場合
      AssertAlertPresent=アラートダイアログが存在する場合のジャンプ先|アラートダイアログが存在しない場合のジャンプ先
    2. 基本パラメータが一つである場合
      AssertElementPresent_ByCssSelector=要素のcssSelector|要素が存在する場合のジャンプ先|要素が存在しない場合のジャンプ先
    3. 基本パラメータが二つである場合
      AssertElementText_ByCssSelector=要素のcssSelector|期待値|要素のタグ内文字列が期待値と一致する場合のジャンプ先|要素のタグ内文字列が期待値と一致しない場合のジャンプ先

    無条件分岐

    コマンド「Goto」で指定した場所に無条件にジャンプすることができます。
    ※ スクリプト名は拡張子を指定する必要がありません。
    ※ 指定したスクリプト名は必ずscenario(当スクリプトの後ろに)に定義しなければなりません。
    ※ @タグ名のみを指定する場合、当スクリプト内のタグにジャンプします。
    ※ スクリプト名のみを指定する場合、指定したスクリプトの先頭行にジャンプします。
    ※ タグについての説明は「タグ」をご参照ください。

    Goto=スクリプト名@タグ名

    タグ

    script内タグの行を追加することで、ジャンプ先の場所を指定することができます。

    特殊タグ

    • @OnException
      スクリプト実行中で予期していない異常によりエラーが発生した場合、スクリプト内に指定された@OnExceptionタグの場所に実行処理を移し、エラーを回避することができます。
      ※ 有効するには「config.settings」に「failed_process=to_tag_on_exception」を設定する必要があります。
      ※@OnException後に、何もしない場合、エラーを無視することになります。

    カスタムタグ

    @から始まり、後ろに特殊タグ名以外の任意のタグ名が付けられる行はカスタムタグとして認識されます。ジャンプ先として指定可能です。

    使用例

    if相当

    下記の例では、ジャンプ先は全て同じスクリプト内ですが、他のスクリプトにジャンプすることもできます。
    xxx.script

    # 画面印刷ボタンは操作可能かどうかを判断する # 操作可能の場合は、次の行を実行する # 操作不可の場合は、実行処理を「@次の画面」に移す AssertEnable_ByCssSelector=#print_button||@次の画面 Click_ById=print_button # ...(略) @次の画面 Click_ById=next_button # ...(略)

    または

    # 画面印刷ボタンは操作可能かどうかを判断する # 操作可能の場合は、実行処理を「@画面印刷」に移す # 操作不可の場合は、実行処理を「@次の画面」に移す AssertEnable_ByCssSelector=#print_button|@画面印刷|@次の画面 @画面印刷 Click_ById=print_button # ...(略) @次の画面 Click_ById=next_button # ...(略)

    if-elseif-else相当

    下記の例では、ジャンプ先は全て他のスクリプトですが、同じスクリプト内のジャンプもできます。

    • xxx.scenario
      RunScript=_PROJECT_ROOT_\script\条件判断.script RunScript=_PROJECT_ROOT_\script\新規顧客処理.script RunScript=_PROJECT_ROOT_\script\既存顧客処理.script RunScript=_PROJECT_ROOT_\script\エラー処理.script RunScript=_PROJECT_ROOT_\script\処理完了.script
    • 条件判断.script
      # ...(略) # 画面タイトルが「新規顧客」である場合、「新規顧客処理.script」にジャンプする AssertTitle=新規顧客|新規顧客処理 # 画面タイトルが「既存顧客」である場合、「既存顧客処理.script」にジャンプする AssertTitle=既存顧客|既存顧客処理 # 画面タイトルが「エラー画面」である場合、「エラー処理.script」にジャンプする AssertTitle=エラー画面|エラー処理 # どちらでもない場合、「処理完了.script」内のタグ「@予期せぬ状態」にジャンプする Goto=処理完了@予期せぬ状態
    • 新規顧客処理.script
      # 新規顧客の場合の処理(略) Goto=処理完了@完了
    • 既存顧客処理.script
      # 既存顧客の場合の処理(略) Goto=処理完了@完了
    • エラー処理.script
      # エラー画面の場合の処理(略) Goto=処理完了@完了
    • 処理完了.script
      @予期せぬ状態 # 予期せぬ状態の場合の処理(略)、例えば Evidence_DesktopScreen=予期せぬ状態 @完了

    異常処理

    • config.settings
      # ...(略) failed_process=to_tag_on_exception # ...(略)
    • 試験申込み.scenario
      RunScript=_PROJECT_ROOT_\script\ログイン.script RunScript=_PROJECT_ROOT_\script\試験申込み.script RunScript=_PROJECT_ROOT_\script\ログアウト.script # 異常発生した場合の処理 RunScript=_PROJECT_ROOT_\script\異常処理.script
    • ログイン.script
      OpenURL=https://atgo.rgsis.com/demo/exam/ Input_ById=id_email|test@test.com Input_ById=inputPassword|test Click_ById=id_login @OnException Goto=異常処理@ログイン失敗
    • 試験申込み.script(略)
    • ログアウト.script(略)
    • 異常処理.script
      @ログイン失敗 Evidence_BrowserFullScreen=エラー発生画面 # その他の失敗時の操作(略)