docs.cypress.io/guides/references/best-practices
Best Practices | Cypress Documentation
Real World Practices The Cypress team maintains the Real World App (RWA), a full stack example application that demonstrates best practices and scalable
docs.cypress.io
보통, 자동화를 시작하게 되면 selector부터 찾다가 선택할 수 없는 값이 없다면 대게 Xpath를 사용하게 되는 거 같다.
* Xpath 사용법 (바로가기)
하지만 개인적으로 Xpath는 의미(semantic)를 파악하기 쉽지 않으며, tag가 달라질 수 있는 환경이라면 변경해줘야하는 이슈가 생기므로 좋아하진 않는다.
그렇다면 selector (id, classsname)을 추가해줘야 할텐데,
1. 프로그램에서 동적인 classname을 사용하는 아래와 경우에는 또 쉽지가 않아진다.
2. 이미 사용되는 classname 에 자동화로 인하여, 영향을 주는 것은 좋은 거 같지 않다.
저런 이슈들이 data-* 형태의 attribute를 cypress에서 사용하기를 권장한다.
* data attribute (바로가기)
맨 처음에는 www.npmjs.com/package/classnames 를 통해서 classnames을 2개로 주면 되지 않을까 싶었지만?
data-cy를 통해 명확히 QA 쪽에 필요한 사항을 추가해서 사용하는 게 매우 깔끔해 보인다.
자동화에 필요한 data-cy 등의 값을 QA에서 판단을 해서 요청을 한다.
또는
개발에 참여를 하는 방법으로 각 develop branch를 사용 중이라면, data-cy를 추가 후 다음 주기적 배포에 포함 수 있도록 준비한다.
'Automation > Cypress' 카테고리의 다른 글
cypress - github actions (0) | 2023.03.09 |
---|---|
Cypress POM (0) | 2021.12.29 |
cypress-file-upload (0) | 2021.03.05 |
commands (0) | 2020.12.02 |
sibling, parent (0) | 2020.11.26 |