我正在我的“登录”赛普拉斯测试中验证cookie,但是cypress会抛出以下错误:
TypeError:cy.chain不是一个函数
显然在'../support/index.js'
下导入以下内容有人可以告诉为什么错误是扔的
import './commands'
柏树试验:
describe("Login test validate cookie", () => {
it.only('Verify the cookies test for login', function() {
cy
.login(Cypress.env('email'), Cypress.env('password'))
cy
.getCookie('csrftoken')
.then((csrftoken) => {
console.log(csrftoken)
})
})
以下是我的'登录'方法/功能../support/commands.js
Cypress.Commands.add('login', (email, password) => {
return cy.chain().request({
method: 'POST',
form: true,
url: '${cypress.env("test_server")}',
body: '{"email", "password"}',
})
});
以下详细信息在“cypress.env.json”文件中提供
{
"email": "[email protected]",
"password": "test1234"
}
错误是正确的; cy.chain()
确实不是一个功能。但是,您的命令中存在许多问题:
.chain()
是不必要的。url
字段需要使用反引号(``)才能使${...}
工作。body
字段将包含“电子邮件”和“密码”,而不是您的实际电子邮件和密码。可能还有其他问题,但这些是我能看到的。
如果没有这些问题,这就是你的命令:
Cypress.Commands.add('login', (email, password) => {
cy.request({
method: 'POST',
form: true,
url: `${cypress.env("test_server")}`,
body: `{"${email}", "${password}"}`,
});
});