Slide 24
Slide 24 text
© Kakaku.com Inc. All Rights Reserved. 24
パターン概要3: 安定したテストのためのテストケース⾃動化設計
JSONデータ駆動テスト StepにWait処理を書かない ログインタグ
When 都道府県を<都道府県>に設定して検索
Examples:
| 都道府県 |
| 東京都 |
⁝
When ジャンルを<ジャンル>に設定して検索
Examples:
| ジャンル |
| 和⾷ |
異なるテスト⼊⼒毎に、
別のテスト⼿順を⽤意
When 検索条件を<検索条件>に設定して検索
Examples:
| 検索条件 |
| ʼ{ “都道府県”: “東京都” }ʼ |
| ʻ{ “ジャンル”: “和⾷” }ʼ |
After
Before
Feature: ネット予約
@reservation @login
Scenario Outline: ネット予約する
Given ログイン状態である
Given xxページにいる
When xxページでネット予約する
Then 予約の条件がxxである
Before
After
Before
After
JSONデータによって異なるテスト
⼊⼒のテスト⼿順を共通化
Wait処理の実装忘れを防ぎ、テストの
安定性を向上
事前条件で絞り込めるようになる
When(“xxxx”, async function() {
const page = new RestaurantPage();
await this.driver.wait(/* 要素1を待つ */);
page.menu.doSomething();
await this.driver.wait(/* 要素2を待つ */);
});
When(“xxxx”, async function() {
const page = await this.getPage(“レストラ
ンページ”);
await page.menu.doSomething();
});
Wait処理を忘れると、ブラウザがクラッ
シュしたりする
勝⼿に要素の表⽰を待ってくれる
Feature: ネット予約
@reservation @login
Scenario Outline: ネット予約する
Given xxページにいる
When xxページでネット予約する
Then 予約の条件がxxである
事前条件で絞り込めると便利
タグのみになると更に便利