転職のテンサゲから始まった自動化入門⑨〜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に続く
