Capybara 可以和 Cucumber、RSpec、Test::Unit、MiniTest::Spec配合使用。FIXME

Capybara 默认使用 RackTest 驱动,此外还支持 Selenium、Capybara-webkit、Poltergeist。

DSL

Capybara 的 DSL 十分易懂。我们来看几个例子吧:

访问:

visit('/projects')

点击链接或按钮:

click_link('id-of-link')
click_button('Save')

表单:

fill_in('First Name', :with => 'John')
fill_in('Password', :with => 'Seekrit')
fill_in('Description', :with => 'Really Long Text...')
choose('A Radio Button')
check('A Checkbox')
uncheck('A Checkbox')
attach_file('Image', '/path/to/image.jpg')
select('Option', :from => 'Select Box')

XPath

page.has_selector?(:xpath, '//table/tr')

查找

find_field('First Name').value
find('#navigation').click_link('Home')

部分驱动支持执行 JavaScript:

page.execute_script("$('body').empty()")
result = page.evaluate_script('4 + 4');
使用capybara加载selenium访问谷歌实例

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = 'http://www.google.com'
module MyCapybaraTest
class Test
include Capybara
def test_google
visit('/')
end
end
end
t = MyCapybaraTest::Test.new
t.test_google

项目主页

http://jnicklas.github.io/capybara/

https://github.com/jnicklas/capybara

Capybara简单入门相关推荐

  1. BizTalk 2006 简单入门示例程序(附源项目文件下载)

    BizTalk 2006 简单入门示例程序(附源项目文件下载) 为初学BizTalk Server 2006的开发人员,提供一个简单入门的示例程序,包括一个Receive Port.Send Port ...

  2. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门

    1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...

  3. ARM NEON 编程简单入门1

    原文:http://blog.csdn.net/silentob/article/details/72954618  ARM NEON 编程简单入门1 NEON简介 NEON是适用于ARM Corte ...

  4. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  5. EChart.js 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  6. 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试

    [我的区块链之路]- Hyperledger fabric的简单入门(四)链码的编写及调试       之前的文章中我们有讲过了fabric的一些核心的配置文件的选项说明,讲过fabric 的网络启动 ...

  7. 基于vue-cli、elementUI的Vue超简单入门小例子

    基于vue-cli.elementUI的Vue超简单入门小例子 这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单 ...

  8. 【java开发系列】—— spring简单入门示例

    回顾 1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控 ...

  9. JAVA Bean和XML之间的相互转换 - XStream简单入门

    JAVA Bean和XML之间的相互转换 - XStream简单入门 背景介绍 XStream的简介 注解简介 应用实例 背景介绍 我们在工作中经常 遇到文件解析为数据或者数据转化为xml文件的情况, ...

最新文章

  1. 源码解析:Git的第一个提交是什么样的?
  2. 模糊聚类划分matlab代码,Matlab协同模糊聚类建模
  3. 华为云MVP付健权:从机械工程师到AI开发者的华丽转身
  4. 前端常见跨域解决方案
  5. FusionCharts 学习总结
  6. CentOS7使用MySQL5.7.16安装
  7. Opengl 渲染YUYV(YUV422)图像
  8. uniapp获取屏幕宽度的方式_Vue.js Uniapp 获取屏幕、元素的高度宽度
  9. Java负数除法和求余运算
  10. python是开源的是什么意思_开源是啥意思
  11. 微信小程序获取用户运动步数后端返回-41003
  12. 弘辽科技:新手前期如何开网店?
  13. win7 打开“计算机”慢,怎么解决win7开机慢|win7系统开机速度慢的三大解决方法...
  14. 实用算法的分析与程序设计——递推法(倒推法)
  15. 多人使用服务器,如何开个人账户?以及 个人账户如何操作服务器?
  16. 如何快速下载Google play里软件APK
  17. PMP知识点总结---事业环境因素和组织过程资产
  18. 解决处理虚拟主机中有文件触发了安全防护报警规则,可能存在webshell网页木马...
  19. vue3:路由守卫(全局守卫、路由独享守卫、组件内守卫)
  20. 日语零基础到N2详细过程

热门文章

  1. 【python】diff-match-patch实现合同文本比对
  2. 基于JavaWeb的仓库管理系统设计与实现(Hibernet、Struts、Mybatis、JSP、Spring、SQLPlus)
  3. 为什么一定要用iPhone苹果手机自带的输入法?
  4. vue中params和query的区别,以及具体用法
  5. zzulioj 1191: 数星星(结构体专题)
  6. 名帖365 鲜于枢 行草《唐人诗十二首》
  7. 苹果4亿美元收购Shazam,大白菜终于被猪拱了!
  8. 凯撒密码加密解密——Java代码(密码学)
  9. 2k21服务器维护时间,《NBA2K ONLINE 2》2月21日停机更新公告
  10. 【小程序】解析小程序原理