44P by xguru 2022-11-14 | ★ favorite | 댓글 4개
  • 웹 자동화/테스트는 Selenium이 사실상 표준이었음
    • 시작하기 쉽고, 거의 모든 프로그래밍 언어를 지원
    • 충분하지만, 딱 거기까지임
    • 최신 자바스크립트 프레임워크 사이트에선 잘 동작안함(Angular,React,..)
      → 동작 안 한다는게 아님. 잘 되지 않는다는 것
    • 문서화가 잘 되어 있다고 하지만, 실제로 조금만 메인 경로에서 벗어난 일을 하려고 하면 예제를 찾기 어려움
  • Chai, Mocha, Cypress 같은걸 써보려고 했지만, 완전히 설정히 다르고 파이썬 개발자에게는 쉽지 않음
  • 수십가지의 Selenium 대체제가 만들어졌지만, 대부분 몇년만에 사라짐

Enter Playwright

  • 훌륭하고, 게다가 마이크로소프트가 만들고 있다는게 중요. 오래 지원될 것
  • Playwright의 킬러 피쳐는 "테스트 자동 생성"
    • 브라우저를 열고 단계별로 실행하면 그걸 녹화해서 파이썬 스크립트로 만들어줌
    • Selenium에서 XPath같은 걸 찾는 수고를 덜어줌
    • 이렇게 저장된 단계는 거의 수정없이 바로 수행 가능
  • 또 다른 장점은 실행과정을 비디오로 저장해서 볼수 있다는 것
  • 유일한 단점은 아직 새롭다는 것. 버그도 많고 문서가 좋지 않음
  • 하지만 전반적으로 봐서, 모든 새 프로젝트에는 난 Playwright를 선택할 듯

댓글과 토론

puppeteer를 쓰다가 완전히 playwright으로 온보딩에 성공한 입장에서 playwright의 코드젠 기능만으로도 옮길 가치가 크다고 봅니다

Puppeteer만 오래쓰고 node만 쓰는 입장에서는. Playwright로 옮기는거는 선듯 쉽지가 않네요.

기존 프로젝트를 옮기는 것부터 생각할 게 아니라, 먼저 신규 프로젝트를 시작할 때 Playwright를 새로 도입하는 걸 적극 검토하면 어떨까요? 아니면 토이 프로젝트를 시작해보는 것도 좋을 것 같습니다.

Playwright 가 언어간 (JS, Python) API 가 일관성 있고 좀 더 깔끔한거 같아요.
특히 Python의 경우 async 지원이 아주 잘 되고요 ㅎ