page-object环境搭建指南:Watir与Selenium双驱动一次配好
发布时间:2026/8/18 16:32:33 作者:尧图编辑部 阅读量:1,286

page-object环境搭建指南Watir与Selenium双驱动一次配好【免费下载链接】page-objectGem to implement PageObject pattern in watir-webdriver and selenium-webdriver项目地址: https://gitcode.com/gh_mirrors/pa/page-objectpage-object 是一个基于 Ruby 的 UI 测试 Gem用来在 watir-webdriver 和 selenium-webdriver 中实现 Page Object 设计模式帮助你把页面元素与测试逻辑解耦写出更易维护的自动化脚本。本文是一份 page-object 环境搭建指南手把手教你用最短时间把 Watir 与 Selenium 双驱动一次配好开箱即用。搭建前需要准备什么在开始 page-object 环境搭建之前先确认你的电脑满足以下条件Ruby 2.0 及以上版本建议 2.4本机已安装 Chrome 或 Firefox 浏览器能正常访问 RubyGems 镜像源国内可切换清华或阿里源加速最快安装方法一条命令搞定page-object 已经发布为 Gem安装非常简单gem install page-object依赖会自动带上 watir 和 page_navigation无需手动逐个安装。如果你用的是 Bundler只需在 Gemfile 中加入gem page-object然后执行bundle install。完整的依赖声明可以参考项目中的 page-object.gemspec其中 watir 要求不低于 6.10.3。验证安装是否成功安装完成后用一行命令快速验证 page-object 环境是否就绪ruby -e require page-object; puts PageObject::VERSION如果输出版本号当前为 2.3.1说明安装成功。版本号定义在 version.rb 中。浏览器驱动配置方法page-object 本身不自带浏览器驱动需要额外安装 webdrivers 来统一管理 ChromeDriver 等gem install webdrivers在测试脚本开头 require 后驱动会自动下载并与浏览器版本匹配。官方测试环境的引入方式可参考 env.rbrequire watir require webdrivers require selenium-webdriver require page-objectWatir 与 Selenium 双驱动的切换技巧page-object 最大的亮点就是同一套页面对象代码可以无缝切换 Watir 或 Selenium 驱动只取决于你把哪个浏览器实例传入构造函数。使用 Watir 驱动browser Watir::Browser.new :firefox login_page LoginPage.new(browser)使用 Selenium 驱动browser Selenium::WebDriver.for :firefox login_page LoginPage.new(browser)驱动初始化逻辑位于 lib/page-object.rb 的 initialize 方法它会把浏览器实例解析为对应的平台对象之后所有元素操作都由平台层统一处理测试代码无需任何改动。第一个可运行的页面对象环境就绪后定义一个登录页对象试试。继承 PageObject 模块用声明式语法描述元素class LoginPage include PageObject text_field(:username, :id username) text_field(:password, :id password) button(:login, :id login) end这样会自动生成username、password和login等方法测试中直接调用即可login_page.username cheezy login_page.password secret login_page.login元素定位器的完整清单见 accessors.rb支持文本框、按钮、下拉框、表格、iframe 等 30 多种元素类型。常见问题排查报错uninitialized constant Watir检查是否在脚本开头 require 了 watir。浏览器启动失败先单独运行 webdrivers 更新驱动确认浏览器版本与驱动匹配。Gem 拉取缓慢将 RubyGems 源切换为国内镜像再重新执行安装命令。小结到这里你的 page-object 环境搭建就全部完成了Watir 与 Selenium 双驱动一次配好后续写 UI 自动化只需专注于页面对象的设计。如果想跑通官方示例可以在项目目录下用bundle install安装全部开发依赖再通过rake spec运行测试套件祝你的自动化测试之路一帆风顺【免费下载链接】page-objectGem to implement PageObject pattern in watir-webdriver and selenium-webdriver项目地址: https://gitcode.com/gh_mirrors/pa/page-object创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考