我目前正在修复一些规范,并且发现了一段似乎没人知道代表什么的语法。
在 Capybara Suite 中有多次出现:
within(:css, '#foo') do
通过删除:css
我发现这在功能上与within('#foo') do
有区别吗?还有哪些其他符号可以作为第一个参数传递给 inside?
我目前正在修复一些规范,并且发现了一段似乎没人知道代表什么的语法。
在 Capybara Suite 中有多次出现:
within(:css, '#foo') do
通过删除:css
我发现这在功能上与within('#foo') do
有区别吗?还有哪些其他符号可以作为第一个参数传递给 inside?
在关注@Andrey Botalov 的链接之后,我发现这解释了将哪种选择器输入到 inside 块中。
在我的情况下,Capybara.default_selector
设置为:css
,所以:css
是默认值。列出的唯一其他选项是:xpath
我认为这只是重复的代码......除非他们在 acss 中寻找一些文本。但更好的方法是说 element.should.include?('Text') 然后设置元素等于某个 page.find (.css)。但是,如果您要询问 inside 块的作用,它只是将测试范围缩小。例如:在 ('.facebooklogin') 内做 element.click End