Cypressで自動テストを作成したがなかなか思った通りに動かなかった…という備忘録作業メモです。
原因
テストしたいwebサイトにログインしたあと、他項目で再ログインをするためCookieを保持しておこうと思ったがうまくできていない。
CookieはCypressで提供されているinterface Cookie
を使用して情報を保持しようとしていたが、どうやらここで正常にCookie情報が保持されていないようだった。
過去にCypress.Cookie
を利用していた際のCypressバージョンは13.7.2
、今回試していたバージョンは14.0.1
だったため、バージョンを戻してみると正常に動作した。
Cypress.Cookieは使えない?
パッチノートや更新を確認してもinterface Cookie
が廃止された、非推奨となった記載は見当たらない。
https://docs.cypress.io/app/references/changelog#14-0-0
https://docs.cypress.io/app/references/migration-guide
というかinterface Cookie
はバージョン14でも利用されているsetCookie
などの型継承に使われている。
過去のバージョンをインストールして確認していくと、バージョン13.17.0
では利用できた。
バージョン14.0.0
では利用できなくなっていたが、その間でのテストの変更点はpackage-lock.json
のCypressのバージョンのみ。
とりあえず14.0.0以降でのCookieの保持にはgetCookie
やsetCookie
を使うのが一般的なのかも
Cypressのバージョンを更新する際は、意図したとおりのURLにアクセスしログインができているか、Cookieが正常に取得できているか、以前のバージョンとの差異はどこかを確認するようにする。