Есть идеи, почему набор «токенов» в localStorage удаляется во время теста на кипарис? У меня есть функция loadToken (), записанная в файле команд. js, во время выполнения теста я мог видеть, что токен был установлен, но как только вызывается cy.visit('/dashboard')
, токен удаляется / исчезает и по-прежнему отображает страница входа и не позволяет войти. Точно так же работали с некоторыми другими проектами. примечание: когда мы действительно нажимаем baseUrl [https://some-url.net] , это фактически добавляет следующее расширение к URL '/ auth / login'
Cypress.Commands.add('loadTokens', () => {
return cy.fixture('tokenData.json').then(data => {
const keys = Object.keys(data);
keys.forEach(key => {
window.localStorage.setItem(key, data[key]);
});
});
});
Я звоню loadTokens()
и loginRequest()
внутри перед каждым;
context('Login and Logout test',()=>{
before(()=>{
cy.visit('/');
})
beforeEach(() => {
cy.loadTokens();
cy.loginRequest();
})
it.only('Check whether the login is possible',()=>{
cy.viewport(1600, 1000);
cy.get('#offCanvasLeft > ul > li > a > span').eq(1).invoke('text').then((text)=>{
expect(text).to.equal("Dashboard");
})
})
})
Cypress.Commands.add('loginRequest', () => {
const accessToken = localStorage.getItem('tokens');
var cookieValue = document.cookie.split(';');
cy.request({
method: 'GET',
url: baseUrl+`/dashboard`,
headers: {
'content-type': 'text/html',
'tokens': `${accessToken}`,
'cookie': `${cookieValue}`
}
})
})
// cypress. json file:
{
"baseUrl": "https://some-url.net",
"numTestsKeptInMemory": 3,
"chromeWebSecurity": false
}
// Перед тем, как проверить кипарис, наберите команду cy.visit()
Я могу видеть набор токенов.