赛普拉斯JS定制命令在VUE CLI中不起作用

时间:2019-06-17 09:21:48

标签: vue.js vuejs2 vuex cypress

我正在尝试设置一个自定义命令,以在项目中添加一些会话存储项,但这似乎没有触发。

命令如下

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";

当测试激发会话存储空间为空

1 个答案:

答案 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
  });
});