我使用以下規格與MiniTest::Spec
和Capybara
:水豚field.has_css?匹配器
find_field('Email').must_have_css('[autofocus]')
檢查,如果所謂的「電子郵件」現場有autofocus
屬性。該doc說以下內容:?
has_css(路徑,選擇= {})
檢查,如果給定的CSS選擇器的頁面或當前節點上。
據我所知,字段'電子郵件'是一個節點,因此調用must_have_css
應該肯定工作!我做錯了什麼?
雖然我理解@jnicklas的論點,認爲'''has_css?'''應該只適用於後代,那麼擁有'''''''''匹配器(類似於[jQuery.is()] http://api.jquery.com/is/))適用於當前元素。 – gmcnaughton
請參閱https://gist.github.com/3976287瞭解添加'''match_selector?''和'''match_css?'''matcher的猴子補丁。原始代碼可以寫成'''find_field('Email')。must_match_css('[autofocus]')'''(未經測試...) – gmcnaughton
不錯!謝謝:) –