capybara内部:css语法含义

时间:2013-05-13 18:27:03

标签: rspec capybara rspec-rails capybara-webkit

我目前正在修改一些规范,并找到了一条似乎没有人知道代码的语法。

在Capybara Suite中有多次出现:

within(:css, '#foo') do

删除:css我发现此功能与within('#foo') do相同

有区别吗?可以将哪些其他符号作为第一个参数传递到?

2 个答案:

答案 0 :(得分:0)

在关注@Andrey Botalov的链接之后,我发现这解释了哪种选择器被输入到内部块中。

就我而言,Capybara.default_selector设置为:css,因此:css是默认设置。列出的唯一其他选项是:xpath

答案 1 :(得分:0)

我认为这只是重复的代码......除非他们在某些文本中查找。但更好的方法是说element.should.include? ('Text')然后将元素设置为tosome page.find(.css)。 但是如果你在询问块内的内容,它只会将测试范围缩小。例如: 在('.facebooklogin')内    element.click 端