E2E自动化测试中BeforeEach登录后第二个测试用例失败问题求助
E2E自动化测试中BeforeEach登录后第二个测试用例失败问题求助
嘿,各位大佬,我最近在给一个应用写E2E自动化测试,其中包含登录流程的验证,但遇到了一个奇怪的问题,想请教下大家:
我在beforeEach块里统一执行登录操作,第一个it测试块能正常通过,但到第二个it块的时候,明明beforeEach已经执行完登录了,却好像自动登出了一样,导致第二个测试直接失败。但如果把两个it合并成一个,测试就能顺利通过。
下面是我的测试代码和相关页面对象的代码:
测试主代码
const homePgae = new HomePage(); const loginPage = new LoginPage(); const explorePage = new ExplorePage() context("empty spec", () => { beforeEach("starting to automate", () => { loginPage.navigate(); loginPage.enterUsername(); loginPage.enterPassword(); loginPage.ClickLogin(); }); it("Test 1 Home Pgae and Explore", () => { homePgae.assert_links_after_login(); homePgae.assert_text(); homePgae.assert_buttons_after_login(); }); it("Test 2 Explore Page", () => { explorePage.navigate(); explorePage.addSummaryToExistLP(); explorePage.addSummaryToNewLP(); }); });
LoginPage页面对象代码
navigate() { cy.visit("/login"); } enterUsername() { cy.get(this.loginPage_username).type(email); } enterPassword() { cy.get(this.loginPage_pass).type(password); } ClickLogin() { cy.get(this.loginPage_btn).click(); }
我自己猜测可能是测试之间的状态隔离导致的?或者登录后的会话没有被正确保留?有没有大佬遇到过类似的情况,能给点排查方向或者解决方案吗?
备注:内容来源于stack exchange,提问作者Yovel Hadad
相关产品推荐
相关产品推荐

