标签: capybara

如何使用Cucumber测试确认对话框?

我正在使用带有Cucumber和Capybara的Ruby on Rails.

我将如何测试一个简单的确认命令("你确定吗?")?

另外,我在哪里可以找到有关此问题的进一步文档?

integration-testing automated-tests capybara

86
推荐指数
4
解决办法
3万
查看次数

capybara断言元素的属性

我正在使用RSpec2和Capybara进行验收测试.

我想断言链接在Capybara中是否被禁用.我怎样才能做到这一点?

rspec ruby-on-rails capybara

85
推荐指数
2
解决办法
7万
查看次数

Capybara:如何通过ID填写输入字段

我有这个:

<input class="string optional" 
    id="course_group_courses_attributes_2_name" 
    name="course_group[courses_attributes][2][name]" 
    placeholder="Lengua" 
    size="15" 
    type="text" />
</div> 
Run Code Online (Sandbox Code Playgroud)

如何通过ID填写该字段?

rspec capybara

83
推荐指数
3
解决办法
6万
查看次数

安装gem capybara-webkit时出错

我是ruby的新手,但在尝试安装capybara以在我的系统上运行测试时,我收到以下错误.我在运行OSX

my_app$ gem install capybara-webkit
Building native extensions.  This could take a while...
ERROR:  Error installing capybara-webkit:
ERROR: Failed to build gem native extension.

/Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb

Gem files will remain installed in /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2 for inspection.
Results logged to /Users/joe/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.7.2/./gem_make.out
Run Code Online (Sandbox Code Playgroud)

这是gem_make.out的结果

/Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
Run Code Online (Sandbox Code Playgroud)

ruby gem capybara

83
推荐指数
6
解决办法
4万
查看次数

如何使用Capybara声明元素数量并带有正确的错误消息?

我知道在Capybara,你可以这样做:

page.should have_css("ol li", :count => 2)
Run Code Online (Sandbox Code Playgroud)

但是,假设该页面仅具有一个匹配元素,则该错误不是非常具有描述性:

  1) initial page load shows greetings
 Failure/Error: page.should have_css("ol li", :count => 2)
 expected css "ol li" to return something
Run Code Online (Sandbox Code Playgroud)

而不是这个相当模糊的错误消息,有没有办法以这样的方式编写断言,即错误输出将类似于'匹配'ol li',期望:2,找到:1'.显然我可以自己为这样的行为制作一个自定义逻辑 - 我问有没有办法在开箱即用的情况下做到这一点?

对于它的价值,我使用的是Selenium驱动程序和RSpec.

dsl rspec capybara

82
推荐指数
5
解决办法
4万
查看次数

如何在Capybara中获取父节点?

我正在使用许多jQuery插件,它经常创建没有id或其他标识属性的DOM元素,并且在Capybara中获取它们的唯一方法(例如用于点击) - 是为了让他们的邻居(其祖先的另一个孩子)首先.但我没有找到任何地方,例如Capybara支持这样的事情:

find('#some_button').parent.fill_in "Name:", :with => name
Run Code Online (Sandbox Code Playgroud)

ruby bdd ruby-on-rails cucumber capybara

81
推荐指数
6
解决办法
3万
查看次数

一些JS运行后如何让Capybara检查可见性?

加载页面后,我有运行和隐藏的代码,并根据xhr返回的数据显示各种项目.

我的集成测试看起来像这样:

it "should not show the blah" do
    page.find('#blah').visible?.should be_true
end 
Run Code Online (Sandbox Code Playgroud)

当我在上下文中手动转到该测试运行的页面时,#blah 并不像我预期的那样可见.我怀疑Capybara正在查看页面的初始状态(在这种情况下是不可见的),在JS运行之前评估DOM的状态并且未通过测试.

是的,我设置:js => true了包含的描述块:)

任何想法将不胜感激!我希望我不必在这里故意拖延,感觉不稳定,会减慢速度.

ruby integration-testing rspec capybara

79
推荐指数
6
解决办法
7万
查看次数

使用Capybara,如何切换到带有"_blank"目标的链接的新窗口?

也许这实际上不是我遇到的问题,但似乎当我"click_link"一个带有target ="_ blank"的链接时,会话将焦点保持在当前窗口.

所以我要么能够切换到新窗口,要么忽略_blank属性 - 本质上,我只是希望它实际上转到链接指示的页面,这样我就能确保它是正确的页面.

我使用webkit和selenium驱动程序.


我在下面提交了我的调查结果.非常感谢更彻底的答案.

此外,这只适用于selenium - 相当于webkit驱动程序(或指出我自己可以发现它的位置)将非常感激.

testing selenium webkit ruby-on-rails capybara

74
推荐指数
10
解决办法
4万
查看次数

无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)

在测试场景时,cucumber我在运行rspec测试时遇到以下错误

无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)(Selenium :: WebDriver :: Error :: WebDriverError)

使用ruby (1.9.2) selenium-webdriver (2.27.2)firefox (19.0)

使用rspec-rails (2.12.1),capybara (2.0.2)和其他几个宝石,我也添加了launchy宝石,但他们似乎没有问题.而我正在使用Windows 7.

ruby-on-rails cucumber capybara rspec-rails selenium-webdriver

74
推荐指数
4
解决办法
4万
查看次数

Capybara:如何测试页面的标题?

在使用Steak,Capybara和RSpec的Rails 3应用程序中,如何测试页面标题?

rspec ruby-on-rails capybara

68
推荐指数
3
解决办法
2万
查看次数