見出し画像

転職のテンサゲから始まった自動化入門⑨〜AI伴走で7日間、自動化を動かしてみる Day5〜

※ これまでの自動化入門シリーズはこちら 🙆‍♀️

転職のテンサゲから始まった自動化入門 ~自動化できないQAの民から脱却~
https://note.com/miyu1928/n/n735526e3df96?sub_rt=share_sb

転職のテンサゲから始まった自動化入門② ~結局、全部“期待値”の話だった~
https://note.com/miyu1928/n/ne619b4b45401?sub_rt=share_sb

転職のテンサゲから始まった自動化入門③~自動化テストで見えてきた「人間が無意識にやっている確認」~
https://note.com/miyu1928/n/n71654b61e655?sub_rt=share_sb

転職のテンサゲから始まった自動化入門④~15分の復習~
https://note.com/miyu1928/n/nb044de60aaad?sub_rt=share_sb

転職のテンサゲから始まった自動化入門⑤
〜AI伴走で7日間、自動化を動かしてみる Day1〜
https://note.com/miyu1928/n/n6f2e4788a3c1?sub_rt=share_sb

転職のテンサゲから始まった自動化入門⑥
〜AI伴走で7日間、自動化を動かしてみる Day2〜
https://note.com/miyu1928/n/n86bd5f98d0c6?sub_rt=share_sb

転職のテンサゲから始まった自動化入門⑦
〜AI伴走で7日間、自動化を動かしてみる Day3〜
https://note.com/miyu1928/n/n47a22c812136?sub_rt=share_sb

転職のテンサゲから始まった自動化入門⑧
〜AI伴走で7日間、自動化を動かしてみる Day4〜
https://note.com/miyu1928/n/n2c3119cf3a07?sub_rt=share_sb


今日のテーマは:

wait(待機)

最初は「3秒待つ」を入れていた

今日はまず、

await page.waitForTimeout(3000);

を追加。

最初は単純に、

「処理終わるまで待つもの」

くらいの理解だった。


でも fixed wait はかなり非効率だった

今回理解したのは、

これは:

3秒固定停止

しているだけ、
ということ。

例えば:

本当は1秒で終わる処理

でも、

毎回3秒待つ

になる。

つまり、

wait = 時間待ち

ではなかった。

重要なのは:

期待値確認可能になるまで待つ

こと。


Playwright は自動waitしていた

今回確認したコードはこちら。

await expect(
  page.getByText('Your password is invalid!')
).toBeVisible();

ここでかなり重要だったのが、

Playwright内部で:

「表示されるまで待つ」

を自動で実施していること。

つまり:

固定waitを書かなくても
期待値waitが動いている

ということを理解した。

ここ、
かなり衝撃だった。


URL確認も追加した

今回はさらに:

await expect(page).toHaveURL(/login/);

も追加。

これは:

ログイン成功画面へ遷移していない

ことを保証している。

つまり:

不正PW入力
↓
エラー表示
↓
ログイン画面に留まる

まで確認できる。


クロスブラウザ差異も見えた

今回も:

  • chromium

  • firefox

  • webkit

で実行。

全ブラウザ成功。

ただ、
Firefoxだけ処理時間が長かった。

ここで理解したのは:

ブラウザごとの差異

が存在すること。

つまり:

クロスブラウザテスト

の入口。

「全部同じように動く」
とは限らない。


テスト名の意味が変わった

今回、
テスト名も修正した。

修正前:

test('successful login'

修正後:

test('invalid password shows error and stays on login page'

ここでかなり理解が深まった。

テスト名って:

「何を保証したいか」

そのものなんだなと。

つまり:

仕様書タイトル

に近い。


AIに依頼する時も同じだった

今日かなり大きかった気づきがこれ。

自動化で重要なのは:

コードを書くこと

より、

何を保証したいかを整理すること

だった。

だからAIへ依頼する場合も:

ログインテスト書いて

ではなく、

⭕️

不正PW時に
エラー表示され、
ログイン画面に留まることを確認したい

まで整理する必要がある。

ここ、
かなり仕事とも繋がった。


今日の到達地点

✅ wait理解
✅ 固定wait理解
✅ 自動wait理解
✅ toBeVisible理解深化
✅ toHaveURL理解
✅ クロスブラウザ差異理解
✅ テスト名整理
✅ AIへ期待値を伝える重要性理解


Day5終了時点の感想

今回かなり、

自動化 = 操作自動化

ではなく、

期待値を機械判定可能にすること

なんだと理解が深まった。

しかも今、

「コードを書く」

より、

「何を保証したいか」

の整理が重要だと見え始めている。


次のテーマは:

「人が見るべきもの」

予定内容は:

  • UI崩れ

  • 文言違和感

  • 見た目品質

  • 「全部は自動化しない」

  • 自動化と手動確認の切り分け

Day6に続く

いいなと思ったら応援しよう!