我在我的 cypress/support/commands.js
中创建了以下自定义命令文件。
Cypress.Commands.add("login", (username, password) => {
cy.request({
method: 'POST',
form: true,
url: '/test/login/',
body: {'username': username, 'password': password}
})
})
在将登录功能移至此自定义命令之前,我已通过测试并登录工作。我在我的规范中使用 cy.login(testuser, testpwd)
调用它,但我收到以下错误消息:TypeError: cy.login is not a function
. docs say/cypress/support/commands.js 在评估任何测试文件之前加载,所以我认为只需在其中放置自定义命令即可使命令可用。我正在通过本地(GUI)测试运行程序运行测试。
最佳答案
index.js
中的所有代码和引用的模块在您的测试文件之前加载。所以你需要引用(要求)commands.js
在您的 index.js
文件。
但是,您可以导入 commands.js
模块直接在您的测试文件中,但是您需要在每个测试文件中包含它。
推荐的方法是将其包含在 index.js
中文件,您不必担心在测试文件中明确引用。
关于javascript - 调用时无法识别 Cypress 自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47695535/