我的登录测试场景正在运行。我已将我的用户名和密码删除到fixture文件,然后我想调用该文件以填充用户名和密码字段。有人能指出我应该如何做到这一点的正确方向?下面是我的测试场景,调用fixture来填充字段
describe('My Login Test', function (){
it('Visit Risk App Landing Page', function (){
cy.visit('site url')
cy.get('button').click()
cy.get('a.auth0-lock-alternative-link').contains('Not your account?').click()
cy.get('input.auth0-lock-input').first()
.type(cy.fixture('loginUser').email)
cy.get('input.auth0-lock-input').last()
.type(cy.fixture('loginUser').password)
cy.get('button').click()
cy.url().should('eq','site url')
})
})

答案 0 :(得分:2)
我在一个gitter聊天室里得到了答案:
describe('My Login Test', function (){
it('Visit Risk App Landing Page', function (){
cy.visit('https://bvt-riskassessment.lmkcloud.net')
cy.get('button').click()
cy.get('a.auth0-lock-alternative-link').contains('Not your account?').click()
cy.fixture('loginUser').as('myUserFixture');
cy.get('@myUserFixture').then(user => {
cy.get('input.auth0-lock-input').first().type(user.email);
cy.get('input.auth0-lock-input').last().type(user.password);
cy.get('button').click()
cy.url().should('eq','https://bvt-riskassessment.lmkcloud.net/workflow')
我现在可以使用此登录,而无需在每个测试场景中使用用户名或密码。
答案 1 :(得分:1)
我建议使用灯具别名。
首先,为灯具创建一个局部变量:
cy.fixture('loginUser').as('myUser');
然后,当您想要访问它的属性时,它只是this.myUser.email
或其他东西。这会将您的测试更改为:
.type(this.myUser.email)
希望这有助于解决您的问题?但是,正如demouser123所提到的,我们需要实际的错误来帮助你。