Cypress 및 Percy를 사용하여 Agile UI 변경에서 스스로를 돕는 방법
6646 단어 cypressengineeringmondaytesting
Percy는 실제 Cypress 테스트로 라우팅된 페이지의 모든 콘텐츠에 대한 스냅샷을 찍어 웹에 저장하므로 내 스냅샷의 위치와 저장 공간에 신경 쓸 필요가 없습니다. Percy는 처음으로 테스트를 실행할 때 모든 스냅샷을 저장하고 이후에는 현재 촬영된 스냅샷을 마지막 스냅샷과 비교하고 변경 사항을 가리키므로 작은 세부 사항을 쉽게 볼 수 있습니다.
이 솔루션이 저에게 잘 맞는다는 것을 알았으므로 작은 세부 사항을 놓치지 않고 읽기 쉬운 변경 로그 및 시각적 변경 사항으로 UI 테스트를 쉽게 시작할 수 있도록 단계를 제공하겠습니다.
먼저 Percy에서 무료 계정을 만들어야 합니다.
완료한 후 Percy는 테스트를 실행하기 전에 구성에서 나중에 사용되는 PERCY_TOKEN을 제공합니다.
Cypress가 설치된 선호하는 코드 편집기의 열린 프로젝트에서 percy-cypress을 설치해야 합니다.
npm install --save-dev @percy/cypress
스냅샷 명령에 액세스할 수 있도록 명령에서 패키지를 가져옵니다.
// At the top of cypress/support/commands.js
import '@percy/cypress';
필요한 플러그인에 percyHealthCheck가 필요합니다.
// In cypress/plugins/index.js
let percyHealthCheck = require('@percy/cypress/task')
module.exports = (on, config) => {
on("task", percyHealthCheck);
};
이제 테스트에서 Percy 명령을 사용할 수 있습니다.
// Take a snapshot for visual diffing
cy.percySnapshot();
테스트에서 "it"섹션당 하나의 percySnapshot을 다음과 같이 페이지별로 구분하여 사용합니다.
it('Loads the AboutUs', function() {
// Visit specific page
cy.visit("https://website.com/about");
// Take a snapshot for visual diffing
cy.percySnapshot("AboutUs");
});
it('Loads the HomePage', function() {
// Visit specific page
cy.visit("https://website.com");
// Take a snapshot for visual diffing
cy.percySnapshot("HomePage");
});
it('Loads the ContactUs', function() {
// Visit specific page
cy.visit("https://website.com/contact");
// Take a snapshot for visual diffing
cy.percySnapshot("ContactUs");
});
이제 언급된 PERCY_TOKEN 환경 변수를 설정할 시간입니다.
# Windows
$ set PERCY_TOKEN=<your token here>
# Unix
$ export PERCY_TOKEN=<your token here>
테스트 실행:
percy exec -- cypress run
테스트를 처음 실행하면 스냅샷이 초기화되고 웹 앱에서 볼 수 있습니다.
테스트를 한 번 더 실행하면 Percy 웹 앱에 대한 모든 테스트 실행 목록이 표시되며 다음과 같이 표시됩니다.
스냅샷을 비교한 후 일부 변경 사항이 감지되면 이러한 변경 사항을 시각적으로 확인하고 예상 또는 실수인지 판단하여 버그로 보고할 수 있습니다.
시각적 UI 비교는 다음과 같습니다.
이전 상태의 스냅샷을 가지고 웹 페이지의 실제 상태와 비교하면 UI 요소를 렌더링할 때 발생할 수 있는 모든 작은 세부 정보와 버그를 놓치지 않는 데 정말 도움이 됩니다. 특히 Percy의 시각적 부분에서 명확하게 빨간색으로 굵게 표시된 변경 사항을 참조하십시오. 이제 개발자가 테스트 환경에서 모든 변경 사항을 푸시한 후 웹의 모든 페이지에 대해 매일 테스트를 실행합니다.
다른 무료 오픈 소스 솔루션이 있지만 대부분 버그가 있는 것으로 나타났습니다. 현재로서는 월 5000개의 스크린샷이 있는 Percy의 무료 버전이 저에게 적합합니다.
Reference
이 문제에 관하여(Cypress 및 Percy를 사용하여 Agile UI 변경에서 스스로를 돕는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bornfightcompany/how-i-help-my-self-in-agile-ui-changes-with-cypress-and-percy-44gp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)