2011-06-07 65 views
1

我有試圖訪問一個頁面下面的特徵文件,選擇一個鏈接,然後編輯用戶數據。使用click_link黃瓜方案

Scenario: Edit an existing member of the club 
    Given I go to the member list page 
    And I choose the first item 
    And I fill in the "First Name" with "Bloggs 
    When I press "Update" 
    Then I should be on the member list page 
    And I should see "Bloggs" 

和member_step.rb文件包含

Given /^I choose the first item$/ do 
    #save_and_open_page 
    visit members_path 
    click_link "1" 
end 

我的routes.rb文件有

Gfs::Application.routes.draw do 
    resources :members 
end 

的問題是,我不能得到click_link 「1」步驟工作。意圖是,它會

  1. 導航到'/成員的索引頁
  2. 索引頁面顯示的用戶的列表中的每個與多個前綴,即是鏈接。
  3. 選擇鏈接

我所知道的是,索引頁確實顯示列表,我的路線的作品('/成員),但我的黃瓜失敗,我不在曬着榮耀綠色

save_and_open_page診斷顯示只有索引頁面的標題,而不是細節,彷彿控制器不訪問數據

建議者居多。

回答

0

我要表明,IFF的「1」是一個真正的HTML錨鏈接,那麼你可以考慮使用

And I follow "1" 

你可以很容易地在自己的語法包裝這使其更美觀但And I follow...步驟是您在web_steps.rb中開箱即用的步驟。

在使用一個另一個收穫是,你可以使用一個選擇器,使點擊更加具體:

And I follow "1" within ".my-kickbutt-div" 

或者類似的規定。

另一件事要檢查到。如果啓用了@javascript,則可能會在save_and_open_page中看到不正確的數據。我的應用程序是的JavaScript/AJAX沉重,我要開一個瀏覽器的輸出與關閉JavaScript,看看什麼是真正可見的有:P這可能不是你的問題,但以防萬一...

+0

不錯的建議,但似乎OP的問題不是他不能點擊它,而是cuke沒有看到它應該點擊的鏈接。因爲它不在頁面 – corroded 2011-06-07 02:42:02

+0

理解。我的建議(我應該更清楚一點)的意圖是去除未知數量的自定義步驟,以便他更加「開箱即用」。我應該說,前面... – jaydel 2011-06-07 12:26:09

2

有創建成員數據的背景?如果不是,可能是數據不存在。

我還建議增加像

And I should not see "Bloggs" 

一個步驟中,您更新記錄之前。

2

如果我理解正確的黃瓜,你真的不會看到 「1」 的鏈接,因爲:

Given I go to the member list page <-- first step 
And I choose the first item <-- second step 

...這將擴展爲:

Given I go to the member list page <-- first step 
visit members_path 
click_link "1" 

why are you visiting the member's path after you just visited the member list page? you should be checking that you ARE in the member's path. Something like: 


Given I have existing users(generate members here using factory or whatever) 
And I go to the member list page(go to member page) 
When I follow "1" (click the first member) 
Then I should be on the "1"'s member page 
When I fill in...etc you get the point 

希望幫助!

+0

有道理,更清晰,但仍然沒有喜悅,因爲我沒有看到第一個成員的鏈接。難道我不是會員?我曾假設通過訪問成員索引頁面,可以簡單地列出現有成員的名單。 – 2011-06-07 13:20:58

+0

就像我上面說過的,你需要使用工廠或機械師或任何你用於夾具的生成它們 – corroded 2011-06-07 14:24:06

+0

謝謝 - 這是問題 - 我忘記了正確設置數據,假設它已經在數據庫中。初學者的時刻 – 2011-06-08 00:42:11