加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Selenium不适用于Cucumber / Capybara(开箱即用) – MacOSX

发布时间:2020-12-17 03:27:00 所属栏目:百科 来源:网络整理
导读:我在试图让一个黄瓜的例子在硒下运行时遇到了麻烦.我在跑 Rails3 黄瓜0.10.0 Capybara 0.4.1.2 在https://github.com/jnicklas/capybara上阅读doco,似乎所有我需要在selenium下运行的示例是执行以下操作: 第1步:使用@javascript为场景添加前缀 @javascript
我在试图让一个黄瓜的例子在硒下运行时遇到了麻烦.我在跑

> Rails3
>黄瓜0.10.0
> Capybara 0.4.1.2

在https://github.com/jnicklas/capybara上阅读doco,似乎所有我需要在selenium下运行的示例是执行以下操作:

第1步:使用@javascript为场景添加前缀

@javascript
Scenario: User does x
...

步骤2:配置env.rb告诉capybara使用哪个驱动程序:

Capybara.javascript_driver = :selenium

当我跑:

bundle exec cucumber feature/myfeature.feature

我得到以下内容:

Using the default profile...
F------------F

Failing Scenarios:
cucumber features/myfeature.feature:7 # Scenario: User does x

1 scenario (1 failed)
12 steps (12 skipped)
0m0.012s

没有firefox窗口.没有.它运行,挂起和死亡.

因此,为了检查水豚和selenium webdriver是否正常工作,我编写了以下代码:

require 'capybara'
require 'capybara/dsl'

Capybara.default_driver = :selenium

class Test
   include Capybara
   def dotest
     visit('http://www.stackoverflow.com')
   end
end

Test.new.dotest

并运行它:

bundle exec ruby /tmp/test.rb

这样可行. Firefox打开窗口并导航到www.stackoverflow.com.

那么我怎样才能获得诊断信息以了解黄瓜对水豚的作用?

我正在运行OSX10.,Ruby 1.8.7和Firefox 3.6.13.

解决方法

好的…我发现了我的问题.在黄瓜碗中的某个地方依赖于DatabaseCleaner,当您使用selenium驱动程序时,它会被触发一次.失败声明:

F______________F

告诉我,故障发生在设置和拆解中. Cucumber没有报告异常,即使使用-b也没有做任何事情.

我是怎么发现这个问题的:

>将ruby-debug添加为gem依赖项
>将“ruby-debug”添加到env.rb
>我在env.rb中添加了以下语句:

06001

>使用bundle exec运行该功能.调试器启动了.
>键入cat StandardError,它将在抛出“StandardError”时告诉调试器断点. StandardError是Cucumber中所有错误的基类.我们想要做的是找出错误被抛出的位置以及原因.
>输入cont告诉调试器恢复

将database-cleaner作为gem依赖项添加后,一切都消失了. Firefox开始启动,事情就像宣传的那样开始工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读