【发布时间】:2021-08-12 03:11:00
【问题描述】:
我正在使用cypress 来测试我的注册和登录表单。我想在我的register.js 测试中设置cookie,然后在我的login.js 测试中使用它们。
我将 cookie 保存在 cypress/support/index.js 中:
Cypress.Cookies.defaults({
preserve: ['test_email', 'test_password'],
});
我的 register.js 测试如下所示:
describe('Create new account', () => {
it('Visit Register', () => {
cy.visit(Cypress.env('URL_REGISTER'));
cy.setCookie('test_email', 'fake@email.com');
cy.setCookie('test_password', 'abc123');
});
it('Fill out register form', async () => {
const email = await cy.getCookie('test_email');
const password = await cy.getCookie('test_password');
cy.get('[data-cy="register-email"]').type(email.value);
cy.get('[data-cy="register-password"]').type(password.value);
});
});
当我运行这个测试时,我得到这个错误:
无法读取未定义的属性“值”
我知道cy.getCookie() 返回一个对象并且是异步的,这就是我尝试使用await 的原因,但由于某种原因,这似乎不起作用。如何在多个 cypress 测试中设置和获取 cookie?
【问题讨论】:
标签: javascript cookies cypress