# 웹 자동화는 Selenium 대신 Playwright를 쓰자

> Clean Markdown view of GeekNews topic #7809. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=7809](https://news.hada.io/topic?id=7809)
- GeekNews Markdown: [https://news.hada.io/topic/7809.md](https://news.hada.io/topic/7809.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2022-11-14T10:53:01+09:00
- Updated: 2022-11-14T10:53:01+09:00
- Original source: [new.pythonforengineers.com](https://new.pythonforengineers.com/blog/web-automation-dont-use-selenium-use-playwright/)
- Points: 44
- Comments: 4

## Topic Body

- 웹 자동화/테스트는 Selenium이 사실상 표준이었음   
  - 시작하기 쉽고, 거의 모든 프로그래밍 언어를 지원   
  - 충분하지만, 딱 거기까지임  
  - 최신 자바스크립트 프레임워크 사이트에선 잘 동작안함(Angular,React,..)  
→ 동작 안 한다는게 아님. 잘 되지 않는다는 것   
  - 문서화가 잘 되어 있다고 하지만, 실제로 조금만 메인 경로에서 벗어난 일을 하려고 하면 예제를 찾기 어려움   
- Chai, Mocha, Cypress 같은걸 써보려고 했지만, 완전히 설정히 다르고 파이썬 개발자에게는 쉽지 않음   
- 수십가지의 Selenium 대체제가 만들어졌지만, 대부분 몇년만에 사라짐   
### Enter Playwright   
- 훌륭하고, 게다가 마이크로소프트가 만들고 있다는게 중요. 오래 지원될 것   
- Playwright의 킬러 피쳐는 "테스트 자동 생성"  
  - 브라우저를 열고 단계별로 실행하면 그걸 녹화해서 파이썬 스크립트로 만들어줌   
  - Selenium에서 XPath같은 걸 찾는 수고를 덜어줌   
  - 이렇게 저장된 단계는 거의 수정없이 바로 수행 가능   
- 또 다른 장점은 실행과정을 비디오로 저장해서 볼수 있다는 것  
- 유일한 단점은 아직 새롭다는 것. 버그도 많고 문서가 좋지 않음   
- 하지만 전반적으로 봐서, 모든 새 프로젝트에는 난 Playwright를 선택할 듯

## Comments



### Comment 13391

- Author: yangeok
- Created: 2022-11-21T18:59:39+09:00
- Points: 1

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

### Comment 13285

- Author: joone
- Created: 2022-11-15T05:26:43+09:00
- Points: 1

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

### Comment 13293

- Author: kunggom
- Created: 2022-11-15T13:39:44+09:00
- Points: 1
- Parent comment: 13285
- Depth: 1

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

### Comment 13275

- Author: kbumsik
- Created: 2022-11-14T11:05:45+09:00
- Points: 1

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