Testimハンズオン・テキスト
目次
- 準備
- インストール
- サインアップ、マニュアルの確認
- テスト対象の情報
- 基本操作
- 記録・再生
- 検証
- 編集
- AIによる自動修復
- 原理
- アプリを変更して確認
- 応用
- モジュール化
- 乱数入力
- 様々な検証
- スケジュール実行
- データ駆動テスト
- クロスプラットフォーム・テスト
- アプリ発行値の利用
- CI連携 (情報確認のみ)
1. 準備
Testimはテスト管理用のサーバーとテスト実施用のクライアントの2つで構成されます。サーバーはSaaS版とオンプレ版があり、クライアントはChromeの拡張機能としてインストールします。
今回のハンズオンではSaaS版のサーバーを利用します。
SaaS版Testimサーバーで、インターネット非公開アプリのテスト
オンプレ版ではなく、手軽なSaaS版でも、インターネット非公開アプリのテストができます。テストはクライアントから実施するため、クライアントがテスト対象アプリにアクセスできれば、インターネット非公開アプリでもテストできます。ただし、次の2点に注意してください。
- クライアントがテスト対象アプリにアクセスできること
- クライアントがSaaS版のTestimサーバーにアクセスできること
1-1. クライアントのインストール
Chromeの拡張機能Testim Editorをインストールしてください。
1-2. サインアップ、マニュアルの確認
- Testim の Web ページにアクセスし、[Start your free trial]をクリックしてください
- サインアップしてください
- Testimサーバーにログインしてください
- 画面右上の[EDUCATE]アイコンをクリックすると、基本事項を順に学べるドキュメントがあるので確認してください
- 画面右下のアイコンをクリックすると、チャット画面が開きます。ここで検索するとドキュメントが表示され、さらに質問したければサポートにチャットで質問できます
1-3. テスト対象の情報
今回のハンズオンでは、マークダウンでドキュメントを検索、登録、更新、削除するデモアプリを使用します。
http://18.179.129.23/
ID: email10@example.com ~ email50@example.com
password: password
※IDは何を使ってもかまいません。またサインアップしてもかまいません。
2. 基本操作
2-1. 記録・再生
- Testimサーバーにログインしてください
- 画面左の[Editor]アイコンをクリックすると、記録・再生画面が表示されます
- 画面上の[Toggle Recording]アイコンをクリックすると、テスト対象アプリが別ブラウザで開きます
- ログイン => レポートの登録 => ログアウトのフローを記録します
- 画面上の[Play Scenario]アイコンをクリックし、記録した操作を再生します
テスト実行環境
テストの記録はChrome限定ですが、再生は様々な環境で実施できます。画面上の[Play Scenario]アイコンの右のアイコンをクリックすると、実行オプションが表示されます。Incognito modeはキャッシュなどに影響されないので、活用シーンが多くあります。
また、[Run on a grid]では、Testim Gridか自分で用意したTest実行環境でテストを実行できます。クロスプラットフォームテストのときに必要になってきます。
Testim Gridを使う場合は、OSやブラウザのどこまで提供されるかは契約によるのでよく確認が必要です。また、ネットワーク的にテスト対象にアクセスできる必要があるので、その点も注意が必要です。
2-2. 検証
ログインした後に画面右上に[Progress Report]というロゴが表示されることを検証します。
- 2-1で作成したテストケースのログインボタンを押す処理の右の三角矢印をクリックします
- [Toggle Breakpoint]をクリックして、ここで再生が止まるようにします
- 再生して、ログイン後の状態にします(ここで再生が止まります)
- ログインボタンを押す処理の右の三角矢印をクリックし、プラスボタンをクリックします
- [Validate element text]をクリックします
- テスト対象アプリの左上の[Progress Report]をクリックします
- ログインボタンを押す処理の右の三角矢印をクリックし、[Play from here]をクリックします
2-3. 編集
2-2で実施したとおり、Toggle Breakpointで再生を止めたり、プラスボタンで処理や検証を追加したり、Play from hereでそこから再生したりできます。
その他、記録した処理を削除したり、途中から記録を追加したりできるので、色々試してみましょう。
最後に、作成したテストケースを画面右上の[SAVE]ボタンで保存しましょう。
3. AIによる自動修復
3-1. 原理
Testimは記録するときに要素のidやclassなど様々な情報を保存し、複数の情報から最も操作対象に近い要素をAIが判定します。その内容を確認しましょう。
- 2-1で作成したテストケースのログインボタンを押す処理をクリックします
- 画面右上の[Show step properties]をクリックします
- [Target element]の画像にホバーし、[View locators]をクリックします
- ここにTestimが保存した要素のidやclassなど様々な情報とAIがつけた優先度が星の数であらわされています
propertiesとデバッグ
Testimでうまく記録や再生ができい場合は、[Show step properties]を調べてみましょう。
例えば、[Target element]の[Highlight]できちんと意図した要素が認識できているか確認できます。また、[Element must be visible]のチェックを外せば、再生時に画面にみえていなくても操作ができます。
3-2. アプリを変更して確認
これから、ログインした後、右下に表示されている[新しいReport]のボタンを変更します。
- id, 2. class, 3. タグ, 4. 位置, 5. テキスト, 6. 見た目
をすべて変更しても、テストが壊れないことを確認してください。また、AIがどの情報をもとにテストを修復したのかを考えてみてください。
その他、2つ変更しています。AIがどこまで修復できるかについて少しご説明します。
4. 応用
残りの時間はマニュアルを読みながら、気になる機能を試してみましょう。
1. モジュール化
繰り返す処理をモジュール化し、再利用する機能です。
http://docs.testim.io/getting-started/groups
2. 乱数入力
ユーザー名など、同じ値を入力できない場合に利用する機能です。
http://docs.testim.io/guides/set-random-data-as-text-value
3. 様々な検証
要素が存在する、存在しない、テキストの値(正規表現利用可)、JavaScriptによるカスタム検証が可能です。画像検証(Pixel)も可能ですが、今回の環境にはご用意がありません。
http://docs.testim.io/getting-started/validations
4. スケジュール実行
テストをスケジュール実行する機能です。ただし、Testim Gridか自分で用意したTest実行環境でテストを実行する必要があります。今回はTestim Gridを使ってください。
なお、スケジュール実行には回数制限がありますので、設定に注意し、一人で何十回も実行しないようにお願いします。
http://docs.testim.io/run-and-understand-your-test-results/scheduler
5. データ駆動テスト
同じユーザーフローを複数パターンのデータでテストする機能です。ただし、Testim Editorで再生するときは最初のデータ・セットのみ実行されます。すべてのパターンを確認する場合はスケジュール実行してください。
http://docs.testim.io/advanced-steps/data-driven-testing
6. クロスプラットフォーム・テスト
様々なOS、ブラウザでテストする機能です。ただし、本日の環境Testim Gridは、LinuxのChromeのみです。
http://docs.testim.io/run-and-understand-your-test-results/running-tests-on-multiple-browsers
7. アプリ発行値の利用
アプリが受付番号を発行し、その受付番号でデータを参照するなどのテストで利用する機能です。
http://docs.testim.io/advanced-steps/extract-text
8. CI連携 (情報確認のみ)
CI環境と連携する機能です。ただし、今回はCI環境はご用意していません。
http://docs.testim.io/ci-cd-integrations/integrate-testim-to-your-ci