"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 사용자 정의 명령으로 Cypress 테스트 강화

사용자 정의 명령으로 Cypress 테스트 강화

2024-08-01에 게시됨
검색:139

Supercharging Your Cypress Tests with Custom Commands

소개

Cypress는 웹 애플리케이션과 상호 작용할 수 있는 강력한 내장 명령 세트를 제공하는 엔드투엔드 테스트를 위한 강력한 도구입니다. 그러나 모든 프로젝트에는 기본 명령 세트로 완전히 처리되지 않을 수 있는 고유한 요구 사항이 있습니다. 여기서 사용자 정의 명령이 필요합니다. 사용자 정의 명령을 사용하면 Cypress의 기능을 확장하여 테스트를 더 읽기 쉽고 유지 관리하기 쉽게 만들 수 있습니다. 이 게시물에서는 Cypress에서 사용자 정의 명령을 생성하고 사용하여 테스트 자동화 프레임워크를 향상시키는 방법을 살펴보겠습니다.

사용자 정의 명령을 사용하는 이유는 무엇입니까?

사용자 정의 명령은 다음과 같은 여러 가지 이점을 제공합니다.

  1. 재사용성: 여러 테스트에서 반복되는 일반적인 작업을 캡슐화합니다.
  2. 유지관리성: 복잡한 작업의 논리를 중앙 집중화하므로 한 곳에서만 변경하면 됩니다.
  3. 가독성: 구현 세부 사항을 추상화하여 테스트의 가독성을 향상합니다.

Cypress 설정

사용자 정의 명령을 만들기 전에 Cypress를 아직 설정하지 않았다면 설정해 보겠습니다.

npm install cypress --save-dev

설치 후 Cypress를 엽니다.

npx cypress open

사용자 정의 명령 만들기

Cypress 사용자 정의 명령은 cypress/support/commands.js 파일에 정의되어 있습니다. 사용자 정의 명령을 만들고 사용하는 방법을 알아보기 위해 몇 가지 예를 살펴보겠습니다.

예제 1: 로그인 명령
자주 상호 작용해야 하는 로그인 양식이 있다고 가정해 보겠습니다. 로그인 프로세스를 처리하는 사용자 정의 명령을 만들 수 있습니다:

// cypress/support/commands.js
Cypress.Commands.add('login', (email, password) => {
  cy.visit('/login');
  cy.get('input[name=email]').type(email);
  cy.get('input[name=password]').type(password);
  cy.get('button[type=submit]').click();
});

이제 테스트에서 로그인 명령을 사용할 수 있습니다.

// cypress/integration/login.spec.js
describe('Login Tests', () => {
  it('Should login with valid credentials', () => {
    cy.login('[email protected]', 'password123');
    cy.url().should('include', '/dashboard');
  });
});

예 2: 어설션이 포함된 사용자 정의 명령
명령에 사용자 정의 어설션을 추가할 수도 있습니다. 요소가 표시되고 특정 텍스트가 포함되어 있는지 확인하는 명령을 만들어 보겠습니다.

// cypress/support/commands.js
Cypress.Commands.add('shouldBeVisibleWithText', (selector, text) => {
  cy.get(selector).should('be.visible').and('contain.text', text);
});

테스트에서의 사용법:

// cypress/integration/visibility.spec.js
describe('Visibility Tests', () => {
  it('Should display welcome message', () => {
    cy.visit('/home');
    cy.shouldBeVisibleWithText('.welcome-message', 'Welcome to the Dashboard');
  });
});

사용자 정의 명령에 대한 모범 사례

  1. 명령어 이름을 명확하게 지정하세요: 테스트를 더 쉽게 이해할 수 있도록 사용자 정의 명령에 설명이 포함된 이름을 사용하세요.
  2. 명령 매개변수화: 매개변수를 허용하여 명령을 유연하고 재사용 가능하게 만듭니다.
  3. 체인 명령: 체인을 활성화하려면 명령이 Cypress 체인 가능 항목(cy.wrap())을 반환하는지 확인하세요.
  4. 문서 명령: 각 사용자 정의 명령의 목적과 사용법을 설명하는 주석을 추가합니다.

고급 팁

  1. TypeScript 지원: TypeScript를 사용하는 경우 사용자 정의 명령에 대한 유형 정의를 추가하여 자동 완성 및 유형 검사를 향상할 수 있습니다.
  2. 오류 처리: 사용자 정의 명령 내에서 오류 처리를 구현하여 문제가 발생했을 때 유익한 피드백을 제공합니다.
  3. 재사용 가능한 함수: 복잡한 로직의 경우 사용자 정의 명령 내에서 사용할 수 있는 도우미 함수를 만들어 Command.js 파일을 깔끔하고 집중적으로 유지하세요.

결론

Cypress의 사용자 정의 명령은 프레임워크의 기능을 확장하는 강력한 방법을 제공하여 테스트를 더 재사용 가능하고 유지 관리 가능하며 읽기 쉽게 만듭니다. 일반적인 작업을 캡슐화하고 사용자 지정 어설션을 추가하면 테스트 자동화 프로세스를 간소화하고 가장 중요한 작업, 즉 애플리케이션이 완벽하게 작동하는지 확인하는 데 집중할 수 있습니다.

지금부터 Cypress 프로젝트에서 사용자 지정 명령 구현을 시작하고 테스트 작업 흐름에서 이 명령이 가져올 수 있는 차이점을 확인하세요. 즐거운 테스트 되세요!

릴리스 선언문 이 기사는 https://dev.to/aswani25/supercharge-your-cypress-tests-with-custom-commands-4jlc?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]에 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3