テストフロー: 待機、アプリ、スマートフォン、スクリプト
実行を一時停止する、Web アプリを開く、ページにファイルを渡す、ネットワークを切る、アプリケーションを起動または終了する、スマートフォンを接続する、Python スクリプトを実行する: どれも任意の時点で行えます。
どこにあるか
トラックではなくテスト全体に属するイベントが 10 種類あります: 待機、Web アプリを開く、ファイルをアップロード、JavaScript を実行、オフラインにする、オンラインにする、アプリを実行、アプリを終了、スマートフォンを接続、Python スクリプトを実行です。「イベント」パレットの「テストフロー」の下にあります。タイムラインのどこにドロップしても、その時点のタイムルーラー上に置かれます。
待機
待機は実行を決まった時間だけ止め、その後テストを続けます。
Web アプリを開く
選んだブラウザーで Web アドレスを開き、ページが読み込まれたら先へ進みます。ブラウザーは専用のクリーンなウィンドウで開き、普段のタブ、拡張機能、サインインは含まれないので、どの実行も同じページから始まります。
| 設定 | 意味 |
|---|---|
| アドレス | テストが開くページです。shop.example.com のように名前だけを指定すると、https として扱われます。 |
| ブラウザー | コンピューターにインストールされているブラウザーのいずれか、または既定のブラウザーです。テストはブラウザーのプログラム名を記憶するので、別のコンピューターではそこにあるブラウザーが開きます。 |
| 全画面キオスクモード | ブラウザーの部品を一切表示せず、ページが画面全体を占めます: タブも、アドレスバーも、ナビゲーションボタンもありません。 |
| 待機の上限 | テストが先へ進むまでに、ページの読み込みを待つ最長時間です。 |
キオスクモードを使う理由
ページの周りにあるものはコンピューターごとに異なります: ブラウザーのバージョン、テーマ、ブックマークバー、ウィンドウのサイズなどです。キオスクモードではページが画面だけに合わせてレイアウトされるので、テストはどこで実行しても同じ画像を見ることになります。
ビルドマシンでのキオスクモード
キオスクモードでは、テストを実行するコンピューターにいくつかの条件があります。
| 起きること | 対処 |
|---|---|
| ページはそのコンピューターの画面に合わせてレイアウトされます。 | ビルドマシンの画面サイズと拡大縮小を記録時と同じにしてください。そうしないと、どのアサーションも別のレイアウトを見ることになります。 |
| ブラウザーには描画先となる実際のデスクトップが必要です。 | エージェントは、サインイン済みでロックされていないデスクトップセッションで実行し、Windows サービスとしてや、切断されたリモートデスクトップの裏で実行してはいけません。そうでないと、ブラウザーがウィンドウを表示しなかったためにステップが失敗します。 |
| ブラウザーがタスクバーも含めて画面全体を覆います。 | 実行は、実行自体の時間制限で終わらせてください。パイプラインが実行を強制終了すると、誰かが Alt+F4 を押すまでブラウザーが前面に残ります。 |
| ウィンドウはクリーンな状態です: 保存されたパスワード、Cookie、拡張機能はありません。 | ページにサインインが必要な場合は、テスト自体にサインインさせてください。 |
| 管理者が管理しているブラウザーは、キオスクモードを拒否したり、独自のバーを追加したりすることがあります。 | ステップでキオスクモードをオフにしてください: ページは通常の最大化ウィンドウで開きます。 |
ファイルをアップロード
ファイルウィンドウで選んだときと同じように、ただしそのウィンドウを開かずに、1 つ以上のファイルを Web ページに渡します。「画像を選択」ボタンのように、ページがファイルを求めるクリックの直後に置きます: クリックは独立したステップのままで、「ファイルをアップロード」がそれに応えます。
| 設定 | 意味 |
|---|---|
| ファイル | 渡すファイルです。「ファイルを追加...」で 1 つまたは複数を選び、「削除」で選択したものを一覧から外します。 |
| ページが受け取ったことを確認 | ページがファイルを受け取らなかった場合はステップが失敗するので、レポートにすぐにその旨が表示されます。 |
| 待機の上限 | ステップにかけられる最長時間です。 |
JavaScript を実行
テストが開いた Web ページの中で JavaScript を実行します: 画面に表示されない値を読む、後続のステップのためにページを準備する、ページ自身の関数を呼ぶ、といったことができます。テストが実行されるブラウザーが Chrome、Edge、Firefox のどれでも、ウィンドウのあるなしにかかわらず、またテストを作ったすべてのブラウザーとデバイスで実行されます。
| 設定 | 意味 |
|---|---|
| スクリプト | 実行する JavaScript です。document.title のような単一の式はその値を返します。複数行の場合は return で指定した値を返し、await も使えます。「プロパティ」パネルに直接入力するか、.js ファイルをインポートします: スクリプトはテストの中に含まれて移動します。 |
| 期待する結果 | ステップが合格するためにスクリプトが返すべき値です: テキスト、数値、true または false、あるいは JSON です。空のままにすると、どんな結果でも合格になります。 |
| 待機の上限 | ステップが失敗と見なされるまでに、スクリプトにかけられる最長時間です。 |
スクリプトが返した値は、信頼度レポートでステップの横に記載されます。スクリプトがエラーで止まった場合、時間を超えた場合、または期待する結果と異なる値を返した場合、ステップは失敗します。
テストがカートに商品を追加したあと、「JavaScript を実行」でページが内部に保持しているカートを読み取ります: JSON.parse(localStorage.getItem('cart')).lengthを、期待する結果 = 1 で実行します。ページがカートを保存しなくなった日には、画面の見た目が正しいままでもこのステップが失敗します。
オフラインにする / オンラインにする
「オフラインにする」はテストのこの時点でネットワークを切断するので、後続のステップで接続がないときのアプリの振る舞いを確かめられます: メッセージ、再試行ボタン、接続が戻るまで保持される作業内容などです。「オンラインにする」は接続を元に戻します。
| オフラインにする対象 | 接続が切れるもの |
|---|---|
| テスト対象のアプリ | Web テストでは、ブラウザー内のページです。デスクトップテストでは、テストを記録したアプリと、「アプリを実行」ステップが開始したアプリです。 |
| プログラム | 指定した 1 つのプログラムです。 |
| このコンピューター全体 | すべてのプログラムです。ただしコンピューター自身の内部で動くものは除くので、テストは実行を続けられます。 |
1 つの「オンラインにする」で、それより前の「オフラインにする」ステップが切断したものすべてが元に戻ります。テストが失敗で停止した場合も含め、テストの終了時には必ず元に戻るので、コンピューターがオフラインのまま残ることはありません。
アプリを実行
テストのこの時点でプログラムを開始します: テスト対象のアプリ、特定のページを開いたブラウザー、データを準備するツールなどです。
| 設定 | 意味 |
|---|---|
| プログラム | 開始するプログラムです。現在実行中のアプリから選ぶか、「参照」で任意のプログラムを指定します。 |
| 引数 | 開始時にプログラムへ渡すもので、Web アドレスやファイルなどです。1 つずつ入力して Enter を押します。 |
| 作業フォルダー | プログラムが必要とする場合の、開始時のフォルダーです。 |
| 続行 | テストが先へ進むタイミングです: すぐに、アプリがウィンドウを表示したら、またはプログラムが終了したら、のいずれかです。 |
| ウィンドウ | 表示されたアプリのウィンドウの状態です: 開いたまま、最大化、または全画面です。 |
| 待機の上限 | ステップが失敗と見なされるまでの待ち時間です。 |
いちばん先頭に「アプリを実行」を追加します: プログラム = ブラウザー、引数 = アプリのサインインページのアドレス、続行 = ウィンドウを表示したら、とします。これで、以前に何が開いていても、どの実行も同じページから始まります。
アプリを終了
閉じるボタンをクリックしたときと同じようにアプリを閉じます。指定した時間が過ぎても開いたままなら、強制的に閉じることができます。テストの末尾に 1 つ置くと、次のテストのために画面をきれいな状態にしておけます。
テストが起動したもののみをオンにすると、テスト自身が開いたものだけを閉じ、以前から開いていた同じアプリのウィンドウは閉じません。
スマートフォンを接続
Android スマートフォンの画面をこの画面に映し、後続のステップがスマートフォン上で動くようにします。スマートフォンでの記録では先頭に自動で追加され、実行の終了時にはスマートフォンの画面が閉じられます。インストールするものはありません: USB デバッグをオンにして、スマートフォンを USB で接続するだけです。
スマートフォンの一覧には、現在接続されているスマートフォンが名前で表示されます。接続されている任意のスマートフォンのままにすると接続されているどのスマートフォンでも実行され、1 台を選ぶとテストは常にそのスマートフォンで実行されます。接続したあとはスマートフォンを検出でもう一度検出します。
Python スクリプトを実行
短い Python スクリプトを実行します: テストデータベースのリセット、テストユーザーの作成、ファイルの配置などです。スクリプトは「プロパティ」パネルに直接入力するか、.py ファイルをインポートします。スクリプトはテストの中に含まれて移動するので、Python のあるどのコンピューターでも実行できます。
先頭の「Python スクリプトを実行」が、アプリのテストツールを通じてテストユーザーのカートを空にします。これで、前回の実行が残したものにテストが左右されなくなります。
ステップが失敗したとき
待機を除くすべてのステップには、プロパティに失敗時の設定があります: 既定のテストを停止か、テストを続行です。末尾の「アプリを終了」のように、失敗しても残りのテストに影響しないステップには「続行」が向いています。どちらの場合も、レポートには何がなぜ失敗したかが記載されます。
まだ解決しませんか?何をしようとしていたかをお知らせください。1 営業日以内に回答します。Ask our team