2012-10-26 71 views
1

我想用黃瓜來檢查網頁上的過濾器功能。如果我查看特定的電影評級,那麼它應該只顯示那些在表格中具有這些評級的電影。這是我的情景:然後我不應該看到(黃瓜)

When I check the following ratings: 'PG', 'R' 
And I press Refresh 
Then I should not see /PG/ 

這裏是我的步驟定義:

Then /^(?:|I)should not see \/([^\/]*)\/$/ do |regexp| 
    regexp = Regexp.new(regexp) 
    if page.respond_to? :should 
    page.should have_no_xpath('//*', :text => regexp) 
    else 
    assert page.has_no_xpath?('//*', :text => regexp) 
    end 
end 

但我得到一個「不明確的匹配」的錯誤。

這裏是在一些情況下,在HTML中是很重要的:

<table id='movies'> 
    <thead> 
     <tr> 
     <th>Movie Title</th> 
     <th>Rating</th> 
     <th>Release Date</th> 
     <th>More Info</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
     <td>Aladdin</td> 
     <td>G</td> 
     <td>1992-11-25 00:00:00 UTC</td> 
     <td><a href="/movies/1">More about Aladdin</a></td> 
     </tr> 

謝謝!

+6

有史以來最好的稱號。 – asawyer

回答

0

問題不在於您在此定義的步驟,而是您已在別處定義了與其中一個步驟衝突的步驟。如果這裏有意義,或者創建一個不衝突的步驟,您應該重複使用該步驟。

0

正如michaeltwofish所言。你可能有一個步驟定義,做同樣的事情。嘗試刪除其中一個步驟。

如果您有重複的方法/定義。用「And」表示一個定義,用「Then」表示與另一個定義相同的方法。

和/ When/Then/Given基本上是一樣的東西。他們服務器只是爲了讓用戶故事流程更具可讀性

希望這些額外的信息對您有所幫助。