基于 Node.js 的测试自动化框架,通过 WebDriver、BiDi 和 Appium 驱动浏览器与移动应用进行端到端测试。
stevepryde/thirtyfour
用于 Rust 的 Selenium WebDriver 客户端库,用于编写网站自动化 UI 测试。
- Star
- 1,443
- Fork
- 102
- 未关闭 Issue
- 1
- 最近提交
- 17天前
这是什么?
thirtyfour 是一个 Rust 语言的 Selenium / WebDriver 客户端,用于网站的端到端 UI 自动化测试。它既可以通过 chromedriver 等驱动直接启动浏览器会话,也可以连接 Selenium Standalone 或 Grid。
库覆盖了常用的 WebDriver 能力:支持通过 test ID、id、class、CSS、标签和 XPath 等方式查找元素,可发送按键组合、执行 JavaScript、使用动作链,并能管理 Cookie、切换 frame / 窗口 / 弹窗、访问 Shadow DOM,以及保存 PNG 截图。查询接口支持显式等待和条件判断,组件封装则便于以 Page Object 的方式组织测试代码。内置的测试运行器会在出错或 panic 时尝试异步清理浏览器资源。
可选的 feature 还提供类型化的 Chrome DevTools Protocol 命令、基于 WebSocket 的 CDP 事件订阅,以及跨浏览器的 WebDriver BiDi 支持。项目采用 MIT 或 Apache 2.0 双许可,要求 Rust 1.88 及以上版本。
核心功能
- 01支持全部 W3C WebDriver 和 WebElement 方法。
- 02可通过 test ID、id、class、CSS、标签和 XPath 查找元素。
- 03提供带显式等待的查询接口和用于 Page Object 的组件封装。
- 04提供类型化的 Chrome DevTools Protocol 命令,并可选择订阅 CDP 事件。
- 05通过可选 feature 支持跨浏览器的 WebDriver BiDi。
- 06可将整个浏览器或单个元素截图保存为 PNG。
适用场景
- 使用 Rust 编写 Web 应用的端到端 UI 测试。
- 将已有的 Selenium 自动化脚本迁移到 Rust 项目中。
- 需要类型化访问 Chrome DevTools 功能的浏览器自动化任务。
快速上手
- 1
将 thirtyfour 添加为 Rust 项目的依赖(cargo add thirtyfour)
- 2
启动 chromedriver 等 WebDriver 服务,然后运行异步示例
cargo run --example tokio_async
使用前须知
- 运行测试需要先启动 chromedriver 等 WebDriver 服务或浏览器驱动。
- 元数据中的许可证显示为 NOASSERTION,但 README 说明为 MIT 或 Apache 2.0 双重许可。
收录于专题
标签
常见问题
- thirtyfour 是什么?
- 用于 Rust 的 Selenium WebDriver 客户端库,用于编写网站自动化 UI 测试。 thirtyfour 是一个 Rust 语言的 Selenium / WebDriver 客户端,用于网站的端到端 UI 自动化测试。它既可以通过 chromedriver 等驱动直接启动浏览器会话,也可以连接 Selenium Standalone 或 Grid。
- thirtyfour 可以免费使用吗?用的什么许可证?
- thirtyfour 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- thirtyfour 还在维护吗?
- 活跃维护中。thirtyfour 最近一次提交是在 2026年10月21日。
- thirtyfour 适合用来做什么?
- 使用 Rust 编写 Web 应用的端到端 UI 测试。 将已有的 Selenium 自动化脚本迁移到 Rust 项目中。 需要类型化访问 Chrome DevTools 功能的浏览器自动化任务。
- thirtyfour 怎么安装和运行?
- 将 thirtyfour 添加为 Rust 项目的依赖(cargo add thirtyfour) 启动 chromedriver 等 WebDriver 服务,然后运行异步示例: cargo run --example tokio_async
- 在哪里获取 thirtyfour?
- 源代码和安装说明在 GitHub 上:https://github.com/stevepryde/thirtyfour
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Python 库,用于在代码中下载、缓存和解析 Selenium 浏览器驱动文件,如 ChromeDriver、GeckoDriver。
基于 Chrome DevTools Protocol 的 Go 浏览器自动化与爬虫库,支持自动等待元素。
Playwright 是一个用于 Web 测试与自动化的框架,通过统一 API 驱动 Chromium、Firefox 和 WebKit。
基于 JavaScript 的端到端测试框架,用贴近用户视角的可读步骤编写网页与移动端测试。
一组 npm 包,将 axe 无障碍检测引擎接入 CLI、浏览器自动化、React 和 WebDriver 测试中。