Puppeteer自动化测试框架(一)----简介

官方文档:https://github.com/GoogleChrome/puppeteer

puppeteer自动化测试框架简介:

puppeteer是由google开源得一款通过控制devtools来实现对chromium浏览器得控制,可进行有界面或者无界面(headless)的ui自动化与高级爬虫

应用场景

  • 由于puppeteer可以监听浏览器中很多的事件,比如:request,response,console等,所以puppeteer可以用于对于需要监控页面得各个事件得需求,例如页面是否有失败请求,控制台输出信息
  • 通常我们使用selenium,bs4或者scrapy进行爬虫,虽然selenium操作浏览器非常简单与便捷,但是在加载页面时候通常有一些js事件是不会触发的,而bs4或者scrapy又对于浏览器操作不是很灵活,这时候puppeteer就解决了这两个问题,既能方便灵活得操作浏览器又可以在浏览器将页面得事件完全触发得情况下进行爬虫,完全模拟真实操作
  • selenium时代我们可以通过执行js脚本来获取浏览器时间线,但是运行在服务器上通常都是用phantomjs来驱动浏览器,但是由于js加载问题,会导致使用phantomjs获取的时间线都比正常得要少很多,但是puppeteer同样可以获取浏览器访问各个页面的时间线,并且数据比较准确,并且不需要执行js语句,所以可以基于puppeteer进行页面性能分析
  • puppeteer可以进行有界面或者无界面(headless)的ui自动化
  • selenium时代在服务器或者pc上还无法完成或者很难完成移动端h5得自动化测试(新版本得selenium与chrome点击F12基本不会成功),但是puppeteer可以很平滑切换到h5页面,完成更丰富得测试

前景

  • 由google chrome团队进行开发和维护,效率和质量更高
  • phantomjs已经宣布不在进行更新,所以headless就成为puppeteer与chromium得优势
  • puppeteer很好得支持模拟键盘输入、截图、表单提交等特殊场景操作,使得puppeteer能够更好得完成ui自动化测试
  • puppeteer是nodejs得一个库,目前官方还没有提供其他语言的api,所以只能使用nodejs来编写测试脚本

你可能感兴趣的:(Puppeteer自动化测试框架(一)----简介)