Как мне скопировать значение объекта между доменами, используя Cypress? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь скопировать значение элемента между двумя разными доменами с помощью Cypress.

Однако Cypress не позволяет мне посещать два разных домена в одном тесте, и я не уверен в том, как копироватьзначение для другого теста.

Мой код выглядит следующим образом:

  it('Gets MFA Token', () => {

//define String
var password = 'Password';

//Encode the String
var encodedString = btoa(password);
console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"

// Decode the String
var decodedString = atob(encodedString);
console.log(decodedString); // Outputs: "Password"

// Visit token retrieval page
cy.visit('https://totp.danhersam.com')

// Fill in token secret
cy.get('#app > div > div:nth-child(2) > div > input').type('TOKENTHINGYVALUE')

// Retrieve mfa token
cy.get('#app > div > div.box > p').then(($token) => {

// Store the token's text
const mfatoken = $token.text()

 })
})

it('Uses MFA Token', () => {

// Visit MFA login page
cy.visit('https://mydomain/mfa_test.html')

// Fill in credentials
cy.get('#uid').type('username')
cy.get('#password').type(password)
cy.get('#form > div:nth-child(7) > div > div > input').click()

// Fill in mfatoken
cy.get('#otppswd').type(mfatoken)
cy.get('#main > div > div > form > div.section > div > input').click()

   })
  })

1 Ответ

0 голосов
/ 26 июня 2019

Я нашел способ.

Я решил это следующим образом:

В первом тесте, где я получаю токен MFA, в моем случае я использую функцию .as, которая поставляется с Cypress (см. Документацию по Aliass)

// Retrieve mfa token
cy.get('#app > div > div.box > p').as('mfatoken')

В следующем тесте, где я хочу снова использовать этот токен, я назову его следующим образом.

// Fill in mfatoken
cy.get('#otppswd').type('@mfatoken')

Обратите внимание на символ @, при этом вызывается переменная, сохраненная с помощью функции .as. Который может быть использован во всех тестах.

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