2017-08-25 3 views
1

私はjava-cucumberを使い安心しています。現在、私は報告書を作成しようとしますが、私は報告書の各要求に対して完全な要求と応答の情報を提供しません。だから質問は: 可変ですべての要求と応答の情報を保存することが可能な場合は?または、別の方法でレポートでこのデータを取得しますか?キュウリの報告書で要求と応答のボディを提供する

P.S.私はどのように応答(extract().response())を得るか、コンソールログ(log().all())ですべての要求情報を印刷する方法を知っています。そして、私はすでにhavenレポートを生成するが、すべてのリクエストとレスポンスのAPIデータを持たないmaven-cucumber-reportingをセットアップしました。

+0

シナリオのwrite()メソッドを使用して、応答要求テキストを渡すことができます。 Beforeフックでは、Scenarioオブジェクトを渡して、それをステップ定義クラスのインスタンス変数に格納することができます。 – Grasshopper

+0

ようこそstackoverflowへ。特定の問題のコードを提供してください。それはあなたがどれだけ試してみたのかを証明し、他のメンバーがあなたの問題をより良く理解するのを助けます。その時、あなたは問題の文脈を与えます。これらのリンクを確認してください:https://stackoverflow.com/help/mcveおよびhttps://stackoverflow.com/help/how-to-ask –

答えて

0
キュウリに精通

ないが、それはレポートの出力をキャプチャするために何かを持っている場合、あなたは安心でフィルタを作成可能性があります

import io.restassured.filter.FilterContext; 
import io.restassured.filter.OrderedFilter; 
import io.restassured.response.Response; 
import io.restassured.specification.FilterableRequestSpecification; 
import io.restassured.specification.FilterableResponseSpecification; 

public class RcAllureFilter implements OrderedFilter { 

    @Override 
    public int getOrder() { 
     return LOWEST_PRECEDENCE; 
    } 

    @Override 
    public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) { 
     Response response = ctx.next(requestSpec, responseSpec); 
     //you need to implement it, refer to io.restassured.internal.print.RequestPrinter#print 
     printRequest(requestSpec.getMethod(), requestSpec.getURI(), requestSpec); 
     //you need to implement it, refer to io.restassured.internal.print.ResponsePrinter#print 
     printResponse(response, response, response.getStatusLine()); 
     return response; 

    } 
} 
0

をあなたはREST-保証、空手は正確な能力を持っているからの切り替えを検討することができた場合詳細なHTTP要求と応答ログがCucumber HTMLレポート内でインラインで表示される場所を探しています。ここにはshort video demoがあります。

空手とREST保証のhereの詳細な比較があります。

免責事項:私は開発者です。

関連する問題