1

puppeteer で codeceptjs を使用して、単一ページ アプリのエンドポイントが起動しており、正しいコンテンツが含まれているかどうかをテストしています。各エンドポイントをレンダリングする必要があるため、codeceptjs w/ puppeteer のようなものを使用する必要があります。ページのコンテンツの多くは、通常の PHP バージョンの codeception を使用するとトリガーされない AJAX 要求によって取得されるためです。

最初に、GET 要求を介してテストするエンドポイントのリストを取得します。次に、それらをループし、いくつかのアサーションを実行して、さまざまな要素が存在するかどうかを確認します。私が直面している問題は、エンドポイントのいずれかのコンテンツが欠落している場合、テストが失敗してすぐに終了するため、残りのエンドポイントがチェックされないことです。残りのエンドポイントを引き続きチェックできる方法が必要です。

Scenario('Test Endpoints From Sitemap', async (I) => {

    // get the sitemap
    var sitemap = await I.sendGetRequest("url/to/sitemap");
    sitemap = JSON.parse(sitemap.raw_body);

    for(i = 0; i < sitemap.length; i++){
        await I.amOnPage(sitemap[i].url); // load the endpoint
        I.seeElement(sitemap[i].element) // check for an element
    }

});

失敗したアサーションに到達した場合、codeceptjs でテスト ケースをすぐに終了しないことは可能ですか? そうでない場合、誰かが私がやろうとしていることを達成する別の方法を提案してもらえますか? ありがとう

4

2 に答える 2