我正在尝试使用赛普拉斯(Cypress)编写测试,我提取了一些常见的步骤以免自己在测试中重复我自己:
目录树
├── LoginForm
│ ├── helpers
│ │ └── fillLoginForm.js
│ └── redirection.spec.js
fillLoginForm内容
export default () => {
return new Promise((resolve, reject) => {
let submitForm = () => {
cy.get('[data-test=btn]').click()
}
cy.get('[data-test=id_field]').type(id, {force:true}).then(() => {
cy.wait(500)
resolve({submitForm})
})
})
}
redirection.spec内容
describe('Test', () => {
it('Test', () => {
cy.visit('page')
fillLoginForm().then(({ submitForm }) => {
submitForm()
},reject)
})
})
测试运行输出
我觉得很奇怪,因为该测试正在Chrome 69上运行。但是,当我在Electron 59中运行它时,它无法正常工作。
为什么从导入的函数中无法触发,但是当我将代码复制粘贴到测试范围内时才起作用?