如何在柏树+黄瓜中绕过登录



我试图绕过用户界面登录使用柏树与黄瓜。我在Cypress.Commands.add(login)方法中加入了cy.session。但是当我试图执行脚本时,在场景文件的每个步骤中清除会话。例:

Feature: Login
Scenario: Validate Login
Given Launch the URL And Login With Valid Credentials
When Login With Correct Username and Password
Then Verify Manage Home Page
在上述场景中,会话在每个步骤中都是清空的,如Given, When, Then。我需要在特征文件中的每个场景后清除。请帮我解决这个问题
Cypress.Commands.add('login', (username, password) => {
cy.session([username, password], () => {
cy.visit('/')
cy.get(selectors.user_input,{ timeout: 60000 }).type(username)
cy.get(selectors.login_button, { timeout: 60000 }).should('be.visible')
cy.get(selectors.login_button).click()
cy.wait(2000)
cy.get(selectors.password_input, { timeout: 60000 }).should('be.visible')
cy.get(selectors.submitButton, { timeout: 60000 }).should('be.visible')
cy.get(selectors.password_input).type(password)
cy.get(selectors.submitButton).click()
cy.get(selectors.homePage, { timeout: 60000 }).should('be.visible')
})
})

或者,请帮助我如何在功能文件中的每个场景中避免登录。

您是否尝试将登录功能放入beforeEach?

这就是我如何使用cy.session:

describe('...', () => {
beforeEach(() => {
cy.login()         
})
it('test a', () => {
...
})
...
})

{{edit}}第二种可能是保留cookie以保持登录:

describe('...', () => {
beforeEach(function () {
cy.preserveAllCookiesOnce()
})
it('test a', () => {
...
})
...
})

相关内容

  • 没有找到相关文章

最新更新