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 지원이 아주 잘 되고요 ㅎ