我正在尝试设置一个自定义命令,以在项目中添加一些会话存储项,但这似乎没有触发。
命令如下
Cypress.Commands.add("login", () => {
window.sessionStorage.setItem("token", "tokengoeshere");
window.sessionStorage.setItem("username", "phoenix");
cy.visit("http://localhost:8080");
});
我已将文件添加到cypress.json
"supportFile": "tests/e2e/support/index.js",
和index.js看起来像
// Import commands.js using ES2015 syntax:
import "./commands";
当测试激发会话存储空间为空
答案 0 :(得分:1)
您在哪里调用该自定义命令?
您通常会在cypress/support/commands.js
文件中创建自定义命令,这会使这些命令在cy.
下可用
因此将其粘贴到您的cypress/support/commands.js
Cypress.Commands.add("login", () => {
window.sessionStorage.setItem("token", "tokengoeshere");
window.sessionStorage.setItem("username", "phoenix");
cy.visit("http://localhost:8080");
});
,然后从任何测试文件中使用cy.login()
进行调用。这些通常位于cypress/integration
文件夹中。例如,对于您的文件cypress/integration/myTestsWithCustomCommand.js
:
describe("My tests using custom commands", () => {
it("1st test using custom command", () => {
cy.login();
// rest of your code test
});
});