2

私の Web アプリケーションへのリクエストの一部は、HTML 形式 (JSON) ではないデータを返します。

これを正しく処理するには?

次のページ定義を書きました。

import com.fasterxml.jackson.databind.ObjectMapper
import geb.Page

class JsonResponse extends Page {

    static url = null;

    static at = {
        true;
    }

    static ObjectMapper mapper = new ObjectMapper();

    static content = {

        readTree {
            def jsonString = $("pre").text();
            mapper.readTree(jsonString)
        }

    }

}

そしてそれは明らかに機能します。しかし、問題は、それがどれほど正しいかということです。

preタグ内からデータを取得します。これは、 の中でこのコンテンツを見たからですdriver.pageSource。これは正しいです?ドライバーに依存している可能性がありますか?

クエリによってページのURLが異なるため、に入れnullました。urlこれは正しいです?

4

3 に答える 3

3

Geb は WebDriver の上に構築されているため、HTTP API エンドポイントとの対話に使用することを意図しておらず、ブラウザーや HTML ページで使用することを想定しています。

HTTP API エンドポイントをテストする場合は、http クライアントを使用してテストをサポートすることをお勧めします。それらの多くは、順不同でいくつか例を挙げると、世の中に出回っています。

于 2016-01-09T14:42:16.833 に答える