我使用java-cucumber並放心。目前,我嘗試創建報告,我不希望爲報告中的每個請求提供完整的請求和響應信息。所以問題是: 如果可以保存變量中的所有請求和響應信息?或者用另一種方式在報告中獲取這些數據?在黃瓜報告中提供請求和響應體
P.S.我知道如何獲得響應(extract().response()
)或在控制檯日誌(log().all()
)中打印所有請求信息。而且我已經設置了maven-cucumber-reporting來生成html報告,但是沒有所有的請求和響應API數據。
我使用java-cucumber並放心。目前,我嘗試創建報告,我不希望爲報告中的每個請求提供完整的請求和響應信息。所以問題是: 如果可以保存變量中的所有請求和響應信息?或者用另一種方式在報告中獲取這些數據?在黃瓜報告中提供請求和響應體
P.S.我知道如何獲得響應(extract().response()
)或在控制檯日誌(log().all()
)中打印所有請求信息。而且我已經設置了maven-cucumber-reporting來生成html報告,但是沒有所有的請求和響應API數據。
不熟悉黃瓜但是如果它有什麼捕獲輸出報告,您可以創建REST過濾放心:
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;
}
}
如果你可以考慮從REST-放心,空手道有確切的性能切換你正在尋找詳細的HTTP請求和響應日誌在Cucumber HTML報告中在線顯示的位置。這是一個short video demo。
您可以找到詳細的比較空手道和REST保證here。
聲明:我是開發者。
您可以使用Scenario的write()方法並傳遞響應請求文本。在Before鉤子中,您可以傳入Scenario對象並將其存儲在步驟定義類的實例變量中。 – Grasshopper
歡迎來到計算器。請,你能提供一些你的具體問題的代碼嗎?這可以證明你嘗試了多遠,它會幫助其他成員更好地理解你的問題,當時,你會給他們一個你的問題的背景。請檢查以下鏈接:https://stackoverflow.com/help/mcve和https://stackoverflow.com/help/how-to-ask –