自动化化框架 | 简介 | 功能 | 支持编程语言 | 自动生成代码插件 | 环境要求 |
---|---|---|---|---|---|
Puppeteer | 提供建立在DevTools协议(devtools-protocol),控制Chrome或Chromium的高阶API node库。Puppeteer默认无界面运行,不过可以通过配置变为有界面运行Chrome或Chromium | • 生成页面 PDF。• 抓取 SPA(单页应用)并生成预渲染内容(即“SSR”(服务器端渲染))。• 自动提交表单,进行 UI 测试,键盘输入等。• 创建一个时时更新的自动化测试环境。使用最新的 JavaScript 和浏览器功能直接在最新版本的Chrome中执行测试。• 捕获网站的 timeline trace,用来帮助分析性能问题。• 测试浏览器扩展。 | JavaScript | Chrome插件puppeteer-recorder | node版本不低于v6.4.0,但是async/await只在Node v7.6.0或更高的版本支持。需要最近版本的Chromium浏览器 |
Selenium | 浏览器自动化测试库,底层基于webdriver实现,浏览器实现了webdriver功能都可以用它来自动调起和测试。 | • 测试与浏览器的兼容性;• 测试系统功能;• 支持自动录制动作,和自动生成 .NET、Perl、Python、Ruby 和 Java 等不同语言的测试脚本。 | Java、Python、ruby、PHP、C#、JavaScript | Firefox 插件Selenium IDE | 需自行下载webdriver并匹配浏览器版本,设置webdriver环境变量 |
Nightwatch | Node.js调用Webdriver API实现的端到端(e2e)测试框架。基于webdriver实现。 | • 内置测试运行程序• 能控制selenium服务器• 支持由供应商提供并运行的selenium主机,比如BrowserStack或SauceLabs上的主机• 用CSS和Xpath选择元素。 | JavaScript | 无 | 本地环境里建立一个独立Selenium服务器,以及webdriver程序 |
Cypress | Cypress 是在 Mocha API 的基础上开发的一套开箱即用的 E2E 测试框架,并不依赖前端框架,也无需其他测试工具库,配置简单,并且提供了强大的 GUI 图形工具,可以自动截图录屏,实现时空旅行并在测试流程中 Debug。 | • 端到端测试• 整合测试• 单元测试 | JavaScript | 无 | macOS >=10.9(64-bit only) Linux Ubuntu >=12.04, Fedora 21 and Debian 8 (64-bit only) Windows >=7 Node.js >=8 |
SikuliX | Sikuli可利用屏幕截图直接引用 GUI 元素进行编程,点击界面函数按钮按照提示截图即可完成编程。 | • 与平台无关• 代码可读性强,用图形表示逻辑关系• 提供.jar包,实现各类测试工具之间的互补• 用例设计与程序实施可分离 | Java、Python、Ruby | sikuli IDE | Java 6 |
Web UI自动化框架对比
2022-05-10 13:47:32
浏览数 (1)