Web UI自动化框架对比

2022-05-10 13:47:32 浏览数 (1)

自动化化框架

简介

功能

支持编程语言

自动生成代码插件

环境要求

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

0 人点赞