Могу ли я войти в систему, чтобы сохранить все ответы, сделанные во время работы Cypress Test? - PullRequest
0 голосов
/ 22 октября 2019

Когда я запускаю тесты cypress e2e, приложение отправляет XHR-запросы. Как я могу регистрировать все эти запросы и ответы? Я не хочу заглушить эти запросы. Я получил артефакт со всеми запросами и ответами, сделанными во время теста. Gitlab используется как CI.

Основной тестовый код выглядит следующим образом. Все это пользовательские команды, взаимодействующие с приложением. Взаимодействие с приложением вызывает различные запросы (например, я нажимаю кнопку, это вызывает запрос).

it('Log response to a file',function(){
      cy.request({
          method: 'GET',
          url: 'https://<site>/home/payments/currency/confirm/*',
          headers: {
              'Content-Type': 'application/json',
          },
          body: {},
      }).then((response)=>{
      const someResponse =  response.body;
      console.log("hhhh"+someResponse);
      cy.writeFile('cypress/fixtures/testResponse.json', someResponse);
      cy.login(login_name, pass)
      cy.typeOTPpinpad(secret)
      cy.makePayment('Currency', 'amount')
      cy.typeToken(secret)
      cy.logout()
})
})



Вот как я пытался использовать регулярное выражение для перехвата запроса (идентификатор уникален, и янужно использовать регулярные выражения).

https://<mysite>/home/payments/<currency>/confirm/* - asterisk is payment id.

Ответы [ 2 ]

0 голосов
/ 23 октября 2019

Вы можете взять request и response и написать в местоположение, как показано ниже. Я написал запрос и ответ в папку fixture, как показано ниже: Попробуйте приведенное ниже и дайте мне знать

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);
        })
    })
0 голосов
/ 23 октября 2019

На тестирующем имеется такая информация: [1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...