Slide 12
Slide 12 text
© Kakaku.com Inc. All Rights Reserved. 12
パターン概要3: 安定したテストのためのテストケース⾃動化設計
JSONデータ駆動テスト StepにWait処理を書かない ログアウトタグ
When 都道府県を<都道府県>に設定して検索
Examples:
| 都道府県 |
| 東京都 |
⁝
When ジャンルを<ジャンル>に設定して検索
Examples:
| ジャンル |
| 和⾷ |
異なるテスト⼊⼒毎に、
別のテスト⼿順を⽤意
When 検索条件を<検索条件>に設定して検索
Examples:
| 検索条件 |
| ʼ{ “都道府県”: “東京都” }ʼ |
| ʻ{ “ジャンル”: “和⾷” }ʼ |
After
Before
Scenario Outline: ネット予約する
Given ログイン状態である
When ネット予約する
Then 予約の条件が<期待結果>である
And ログアウトする
Before
After
Before
After
JSONデータによって異なるテスト
⼊⼒のテスト⼿順を共通化
Wait処理の実装忘れを防ぎ、テストの
安定性を向上
Featureに事後条件を書かずに済み、
テストの⼿順が⾒やすくなる
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処理を忘れると、ブラウザがクラッ
シュしたりする
勝⼿に要素の表⽰を待ってくれる
@logout
Scenario Outline: ネット予約する
Given ログイン状態である
When ネット予約する
Then 予約の条件が<期待結果>である
全部のシナリオでログアウトさせたい
わけではない