我有以下文件夹结构:
tests
cypress.env.json
cypress
fixtures
integration
test
test.spec.ts
plugins
support
我漏掉了这个问题不必要的文件。
所以我的cypress.env.json是这样的:
{
"loginTestStage": {
"admin": {
"username": "value1",
"password": "value2"
},
"user": {
"username": "value3",
"password": "value4"
}
},
"vatid" : {
"x1": "value5",
"x2": "value6",
"x3": "value7",
"x4": "value8"
}
}
现在,我尝试访问test.spec.ts文件中的env变量:
describe('Login', () => {
const usernameInput = '[formcontrolname="username"]';
const passwordInput = '[formcontrolname="password"]';
beforeEach(() => {
cy.visit(url)
})
it('Allow users with valid credentials to login', () => {
const { username, password } = Cypress.env('loginTestStage').admin;
cy.get(usernameInput).type(username);
cy.get(passwordInput).type(password);
...
})
})
当我试图运行测试时,我总是在这里得到以下错误:
Cannot read properties of undefined (reading 'admin')
因此找不到Env变量的值。如何解决这一问题?
提前感谢
发布于 2022-08-23 10:31:09
如果将cypress.env.json
移动到项目根目录,它将工作。
就像cypress.config.js
(v10)或cypress.json
(v9)一样,这个env
文件没有配置路径,假定它位于项目根。
https://stackoverflow.com/questions/73456682
复制相似问题