我是否可以将运行cypress测试期间的所有响应记录到日志文件中?

我是否可以将运行cypress测试期间的所有响应记录到日志文件中?,cypress,Cypress,当我运行cypress e2e测试时,应用程序发出XHR请求。如何记录所有这些请求和响应?我不想存根这些请求。我需要获得一个工件,其中包含测试期间发出的所有请求和响应。Gitlab用作CI 主测试代码如下所示。所有这些都是用户定义的命令,与应用程序交互。与应用程序交互会导致发出不同的请求(例如,我单击一个按钮,这会导致请求) it('对文件的日志响应',函数(){ 赛义德请求({ 方法:“GET”, 网址:'https:///home/payments/currency/confirm/*',

当我运行cypress e2e测试时,应用程序发出XHR请求。如何记录所有这些请求和响应?我不想存根这些请求。我需要获得一个工件,其中包含测试期间发出的所有请求和响应。Gitlab用作CI

主测试代码如下所示。所有这些都是用户定义的命令,与应用程序交互。与应用程序交互会导致发出不同的请求(例如,我单击一个按钮,这会导致请求)

it('对文件的日志响应',函数(){
赛义德请求({
方法:“GET”,
网址:'https:///home/payments/currency/confirm/*',
标题:{
“内容类型”:“应用程序/json”,
},
正文:{},
})。然后((响应)=>{
const someResponse=response.body;
log(“hhh”+someResponse);
cy.writeFile('cypress/fixtures/testResponse.json',someResponse);
cy.login(登录名、密码)
cy.typeotppingpad(秘密)
cy.makePayment('货币','金额')
cy.typeToken(秘密)
cy.注销()
})
})
下面是我如何尝试使用正则表达式捕获请求(id是唯一的,我需要使用正则表达式)

https:///home/payments//confirm/*-星号是付款id。

testrunner板上有这样的信息:
[

您可以抓取
请求
响应
并将其写入以下位置。我已将请求和响应写入
夹具
文件夹,如下所示:尝试下面的方法并让我知道

it('Log request to a file',function(){
        cy.request({
            method: 'GET',
            url: 'url_here',
            headers: {
                'Content-Type': 'application/json',
            },
            body: {},
        }).then((request)=>{
        const someRequest =  JSON.stringify(request);
        console.log("hhhh"+someRequest);
        cy.writeFile('cypress/fixtures/testRequest.json', someRequest);
        })
    })
//以下是回应:

it('Log response to a file',function(){
        cy.request({
            method: 'GET',
            url: 'url_here',
            headers: {
                'Content-Type': 'application/json',
            },
            body: {},
        }).then((response)=>{
        const someResponse =  response.body;
        console.log("hhhh"+someResponse);
        cy.writeFile('cypress/fixtures/testResponse.json', someResponse);
        })
    })

您想将这些请求和响应作为文件记录到某个位置吗?这就是您所需要的吗?是的。这正是我所需要的。抱歉,忘了提及我在CI服务器上以无头模式运行浏览器。检查,我无法帮您解决此问题。我尝试过搜索,但没有提供好的解决方案。我应该在哪里添加测试步骤?或者这是一个问题测试仅发出一个请求的示例?我需要记录测试期间发出的所有请求和响应。Cypress中是否有这样的设置?根据上述示例,Cypress仅在运行上述测试时记录请求和响应。我还没有找到该设置的常规设置。如果我理解正确,我可以在您的代码之后添加我的代码,并且添加url?我可以添加正则表达式作为url吗?在我看到您的测试代码之前无法判断,请发布您的测试代码和url注册模式
it('Log request to a file',function(){
        cy.request({
            method: 'GET',
            url: 'url_here',
            headers: {
                'Content-Type': 'application/json',
            },
            body: {},
        }).then((request)=>{
        const someRequest =  JSON.stringify(request);
        console.log("hhhh"+someRequest);
        cy.writeFile('cypress/fixtures/testRequest.json', someRequest);
        })
    })
it('Log response to a file',function(){
        cy.request({
            method: 'GET',
            url: 'url_here',
            headers: {
                'Content-Type': 'application/json',
            },
            body: {},
        }).then((response)=>{
        const someResponse =  response.body;
        console.log("hhhh"+someResponse);
        cy.writeFile('cypress/fixtures/testResponse.json', someResponse);
        })
    })