前端自动化思考随笔

184 阅读2分钟

前端自动化的诉求

  • UI自动化需要处理好度的问题,不能太过于纠结细节部分,以免快速迭代带来的高成本维护。在最重要的部分用测试代码进行质量控制,还是会利大于弊的
  • 不能和工作流整体集成的不能称之为自动化,只是脚本化
  • 可自动化的基础是需求要稳定,常改动的需求不适用与维护自动化。需求的应用周期越长,自动化的收益越大

常用的前端自动化测试工具

  • Cypress:cypress是在mocha式API基础上构建的一套开箱可用的测试框架,仅支持javascript,可以快速对代码进行测试以及调试。但因为支持语言的局限性,目前主要使用者仍然为前端开发人员
  • Selenium:selenium是一个浏览器的自动化测试库,他提供了一套强大的API,可以用于大多数的浏览器。并支持Java,Python,Javascript等多种编程语言,并且有着强大的社区支持。但Selenium 2.0 逐渐呈现出环境安装复杂、API 调用不友好、性能不高等缺点
  • Puppeteer:puppeteer是一个chrome官方出品的headless chrome node库。他提供了一系列强大的API,可以模拟用户的操作,进行自动化测试,并且具有自动生成代码的插件。相较于 Selenium WebDriver 环境安装更简单、性能更好、效率更高、在浏览器执行 Javascript 的 API 更简单。但是该工具只针对与chrome浏览器,如果不考虑网页的兼容性,puppeteer是个不错的选择
  • Nightwatch:nightwatch是一个framework,而不是library。虽然依旧需要安装部分库或插件,但是基础的依赖已经集成到框架中了,不需要花费太多额外的经历。具有代码简洁、依赖少的特点