让Cucumber测试包含Javascript的场景

本文详细介绍了如何在Rails项目中配置Cucumber以支持Javascript,包括安装ChromeDriver、修改支持驱动和注解场景等步骤,并提供了运行过程中的一些注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

初学ROR就像Terra Nova中人类回到了史前新世界一样, Ruby和Rails分别给了我很多惊喜.

 

在RecruitingOnRails Beach项目中也遇到了一些问题, 其中一个对我们BDD阻碍比较大的问题是Cucumber在默认情况下无法运行Javascript, 而我们正好需要通过使用javascript实现在一个表单中点击不同按钮需要将请求Post或Get到特定地址.  我们通过如下几步来使Cucumber支持Javascript

 

1. 首先下载ChromeDriver在http://code.google.com/p/chromedriver/downloads/list

 

2. 在解压缩之后尝试直接运行, 你应该看到类似这样的提示:

Started ChromeDriver

port=9515

version=19.0.1068.0

og=/Users/twer/chromedriver.log

 

3. 按Control+C停止服务, 并且将这个文件拷贝到/usr/local/bin/(需要su or 在cp命令前加sudo)

 

系统环境准备到此结束, 接着我们需要修改rails项目中的一些文件

 

4. 打开features/support/env.rb

在任意位置加入:

 

Capybara.register_driver :chrome do |app|

  Capybara::Selenium::Driver.new(app, :browser => :chrome)

end

 

Capybara.javascript_driver = :chrome

 

5. 在你希望运行js的Scenario上注解@javascript

 

其他的一些注意事项:

 

1. 如果存在confirm弹出窗, 请使用

page.driver.browser.switch_to.alert.accept 相当于点击ok

page.driver.browser.switch_to.alert.dismiss 相当于点击no

 

2. 经过我尝试,文件下载测试可能无法找到正确的输出~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值