capybara简介
capybara是一个ruby的gem,它是一个用来测试web应用的工具包,使用它可以模拟用户对web应用的操作。它可以通过CSS或xpath选择器选中页面上的元素,然后对这些元素应用一些操作,从而实现模拟用户行为。
底层driver的实现
基于底层driver的基础上,提供一套统一的 界面交互api,如visit, right_click,hover等。它内置 Rack::Test 和 Selenium 支持,也支持其他驱动。WebKit 通过外部 gem 的形式支持。
底层的driver有很多,可以是完全打开浏览器方式的driver(如:RackTest,selenium-webdriver),也可以是基于headless webkit 的 driver(如:capybara-webkit, poltergeist).
capybara 优点
● 无需配置 对于 Rails 和 Rack 应用而言,开箱即用。
● 符合直觉的 API 模拟真实用户行为。
● 可替换后端 可以替换测试后端,例如从快速的 headless 模式切换到实际的浏览器,无需更改测试。
● 强力同步 你不用手动等待异步过程结束。
因为capyybara提供了以下好处:
● 这是一个更高层次的API,这意味着当你使用不同driver时,例如(headless或者browser)可以使用同样的API处理动态页面或静态HTML.
● 它是专门为U自动化测试web应用而设计的程序,
● 因此它拥有十分有用的断言的方法判断页面是否正确。
● 当我们测试真实的浏览器时,他会自动帮助我们处理许多棘手的异步问题
● 它被设计用于测试机架的应用,因此它会开机并为您管理后台服务器
● 它为设计为rack应用的测试框架,所以它将引导和管理后台服务。
最新内容请见作者的GitHub页:http://qaseven.github.io/