首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cypress上模拟登录:登录:禁用cookie错误

如何在Cypress上模拟登录:登录:禁用cookie错误
EN

Stack Overflow用户
提问于 2022-08-02 18:43:53
回答 1查看 263关注 0票数 0

我试图写一个脚本来登录这个网站https://www.decathlon.ca/en/,但是在登录之后,我禁用了这个错误的cookie(查看图片)

这是我的密码:

代码语言:javascript
复制
import HomePage from "../../page-objects/pages/HomePage"
Cypress.on('uncaught:exception', (err, runnable) => {
return false;
});
describe('POM Implementation', () => {
it('should login', () => {  
  cy.visit('https://www.decathlon.ca/en/')
  cy.viewport(1024, 768)
  HomePage.clickUserIcon();
  cy.get('.js-block-log-out > .btn').click();
  HomePage.clickConnexionNextButton();
  cy.getCookies()
  HomePage.typeUsername('gggn@gmail.com');
  cy.get('#lookup-btn').click({force: true})
  HomePage.typePassword('123456);
  cy.get('#signin-button').click({force: true})
  cy.wait(5000);
EN

回答 1

Stack Overflow用户

发布于 2022-08-02 20:36:13

我认为对您来说最好的解决方案是使用Cypress会话来管理您的登录并进行一些重构。

首先,将代码放入/cypress/support/index.js文件中:

代码语言:javascript
复制
Cypress.on('uncaught:exception', (err, runnable) => {
   return false;
});

您不需要在规范测试文件中使用上面的代码

其次,将您的测试URL放在您的cypress.json或cypress.config.js文件中,并禁用chromeWebSecurity:

代码语言:javascript
复制
{
    "baseUrl": "https://www.decathlon.ca/en/",
    "chromeWebSecurity": false,
}

最后,使用Cypress会话进行登录,没有问题:

代码语言:javascript
复制
cy.session(_variable, () => {
  cy.visit('https://www.decathlon.ca/en/')
  cy.viewport(1024, 768)
  HomePage.clickUserIcon();
  cy.get('.js-block-log-out > .btn').click();
  HomePage.clickConnexionNextButton();
  HomePage.typeUsername('gggn@gmail.com');
  cy.get('#lookup-btn').click({force: true})
  HomePage.typePassword('123456);
  cy.get('[data-test=password]').type('s3cr3t')
  cy.get('#signin-button').click({force: true})
  cy.wait(5000);
})

您可以在这里阅读更多关于Cypress会话的信息,https://docs.cypress.io/api/commands/session#Syntax

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73212324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档