背景
Codeceptionで要素を見るためにseeInSource
を使っていたら、ローカルでは通ってもサーバー上では全て落ちていた。
原因
ローカル上のE2Eテストとサーバー上でのE2Eテストで出力されるHTMLが異なる場合があった。
具体的にはサーバー上ではタグに勝手に閉じタグ< />
が付くなど。
$I->seeInSource('<meta property="og:title" content="hogehoge">');
とテストコードを書いても
<meta property="og:title" content="hogehoge" />
サーバー上では的な具合でHTMLが出力されてしまう。
対処法
seeInSource
をなるべく使わないこと。
上記の例ではseeElementInDOM
を使う。
例
$I->seeElementInDOM('meta[property="og:title"][content="hogehoge"]');