0

分度器 E2E テストから残りのエンドポイントを呼び出そうとしています。以下のサイトを参照しましたが、この投稿は古い API に基づいているようです。

例:protractor.promise.defer(); 最新の API では有効ではなくなったようです。

http://squirrel.pl/blog/2014/01/15/direct-server-http-calls-in-protractor/

最新の分度器 API (>= 1.3) に基づいてレスト エンドポイントを呼び出すサンプル コードを教えてください。

次のような汎用関数を記述しようとしています。

var executeRequest = function(method, url) {
     var defer = protractor.promise.defer();

     // method can be ‘GET’, ‘POST’ or ‘PUT’
     request({uri: url, method: method, json: true}, function(error, response, body) {

        if (error || response.statusCode >= 400) {
          defer.reject({
            error : error,
            message : response
          });
        } else {
          defer.fulfill(body);
        }
     });

     // Return a promise so the caller can wait on it for the request to complete
     return defer.promise;
};
4

2 に答える 2

1

npm module - "needle" を使用して restAPI を呼び出しました。これにはリダイレクトのオプションがあり、リダイレクト後でもテスト サイトを検証するのに役立ちました。

以下のサンプル テストを参照して、残りのエンドポイントが稼働していることを確認してください。

it("restendpoint サービスが実行されていることを確認してください", function(done){

var restendpointUrl = browser.baseUrl + 'service'; 

needle.get(healthcheckUrl,{follow_max : 5}, function(err,resp) {

        expect(resp.statusCode).toBe(200);
        if (!err && resp.statusCode == 200) {

            expect(true).toBe(true);

        } else {
            expect(false).toBe(true);
        }
            done();

   });

});

ブライン、以前の返信に感謝します。

于 2015-04-15T17:56:35.737 に答える