Mar*_*her 5 ruby minitest capybara ruby-on-rails-3
我使用以下规格与MiniTest::Spec和Capybara:
find_field('Email').must_have_css('[autofocus]')
Run Code Online (Sandbox Code Playgroud)
检查名为"电子邮件"的字段是否具有该autofocus属性.该文件说:
has_css?(path,options = {})
检查给定的CSS选择器是否在页面或当前节点上.
据我所知,字段'电子邮件'是一个节点,所以调用must_have_css肯定是有效的!我做错了什么?
得到了Jonas Nicklas的回答:
不,它应该不起作用.has_css?将检查 元素的任何后代是否与给定的CSS匹配.它不会检查元素本身.由于自动对焦属性可能在电子邮件字段本身,has_css?在这种情况下,将始终返回false.
你可以试试:
Run Code Online (Sandbox Code Playgroud)find_field('Email')[:autofocus].should be_present这也可以用XPath来完成,但我无法回想起我的语法.
我的解决方案
find_field('Email')[:autofocus].must_equal('autofocus')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4226 次 |
| 最近记录: |