小编Des*_*tio的帖子

Cypress:登录测试

我正在尝试测试几种类型的用户是否成功登录。他们中的一些人有一些不同的行为。我试图在不复制粘贴相同代码部分的情况下执行此操作,因为逐一维护它们(不同文件或案例中的每个用户类型)疯狂的。

我有自己的测试沙箱,因此文件中的凭据不会使安全性受到攻击(我希望?)

  1. 尝试创建或多或少动态生成的测试是否可以?
  2. 我的代码是否过于复杂,有更简单的方法吗?
  3. 我是否遗漏了什么并且做错了一些/所有事情?
  4. 我是否应该将最后一个 else 划分为一个“如果”,以表示所有具有相同行为的好案例,而其他情况只是为了一些意外的情况?
const credentials = [
{userType: 'UserType1', login: 'UserType1Login', password: 'UserType1Password'},
{userType: 'UserType2', login: 'UserType2Login', password: 'UserType2Password'}
//6 user types and credentials for NonExistingUser and blocked
];

describe('Checks login', () => {

beforeEach('Go to Login Modal', () => {
    cy.visit('/');
    cy.get('[data-cy=loginModalOpen]').click();
  });

// dynamically create a single test for each credential obj in the list
  credentials.forEach(credential => {

  it(`Checks Authorization by ${credential.userType} user`, () => {
      cy.get('[data-cy=login]').type(credential.login);
      cy.get('[data-cy=password]').type(credential.password);
      cy.get('[data-cy=loginSubmit]').click();

      if (credential.userType.includes('blocked')) …
Run Code Online (Sandbox Code Playgroud)

javascript cypress

1
推荐指数
1
解决办法
4039
查看次数

标签 统计

cypress ×1

javascript ×1