Cypress test необходимо получить действительный токен и затем перенаправить на другой веб-сайт

#javascript #cypress

#javascript #cypress

Вопрос:

Мне нужно было бы получить доступ к MS website , ввести тестовое электронное письмо, затем появится всплывающее окно, выберите учетную запись и введите пароль. Теперь на этом этапе получает действительный токен от MS Website , а затем система будет перенаправлена на другой test_site . В этом сценарии, как я могу перенаправить на него test_site с помощью Cypress, чтобы я мог выполнить тестирование на этом тестовом сайте.

Ниже мой Commands.js getLoginToken()

 var accessToken;
Cypress.Commands.add('getLoginToken', () => { 
  cy.request({
    method: 'POST',
    url: 'url_here',
    body: {
        email: 'yourEmail',
        password: 'yourPassword'
     }
  })
  .then((response) => {
    return new Cypress.Promise((resolve, reject) => {
      const rbody = (response.body);
      var tokenPattern = "(?i)"access_token":\s*"([^"]*)"";
      const authToken = rbody.access_token;
      accessToken = authToken;
      cy.log(accessToken);
      resolve(accessToken);
      return accessToken;
     })
  })

})
  

Тест Cypress :

 describe('Navigate to test website and check the Home button', function(){
    before('Clear the cookies and run the test', ()=>{
        cy.clearCookies();
    }) 

    it('Verify whether the Home button is displaying in the test portal', function(){
      const newToken = cy.getLoginToken();
      cy.log(newToken);
      cy.visit(newToken);
    }) 
})
  

Комментарии:

1. Кто-нибудь может помочь мне найти способ обработки единого входа Microsoft и перенаправления на другой URL, пожалуйста

2. Не могли бы вы создать репозиторий GitHub с воспроизводимым примером и шагами, необходимыми для подключения сайта к учетной записи MS?

3. @NoriSte, спасибо за этот ответ, мне не разрешено делиться URL-адресом перенаправления и данными учетной записи MS в GitHub или аналогичном, в любом случае проверю это с командой здесь. Сложность, связанная с ‘MS SSO`, действительно сложна, при входе в систему требуется токен, а также еще 3 других параметра, таких как clientId , userIdentifier , области видимости. только если вышеуказанное выполнено, вышеуказанное будет перенаправлено на целевой URL

4. Я попытался захватить token и прикрепить к URL-адресу перенаправления, он не работает

5. Хотелось бы знать, есть ли какие-либо другие простые варианты с любой сторонней доверенной библиотекой, которая будет аутентифицировать и перенаправлять на желаемый URL.