2012-08-14 25 views
0

到目前爲止我們所有的測試通過,但一週以來,我們看到了一些問題,我們寫的Facebook登錄測試,下面是我們使用Facebook的登錄步驟:點擊Facebook上與黃瓜連接按鈕,在軌

When /^I login to facebook$/ do 
    browser = page.driver.browser 
    browser.switch_to.default_content 
    fill_in "email", :with => @facebook_test_user["email"] 
    fill_in "pass", :with => @facebook_test_user["password"] 
    click_button "Connection" 
end 

現在這個測試通過的很好,因爲我們都有Facebook的法語,所以按鈕的文本是連接,但現在也有人使用其他語言的Facebook運行測試,並在那裏失敗。這裏是Facebook的按鈕佈局的外觀:

<div id="login_button_inline"> 
    <label for="u2krk0_2" id="loginbutton" class="uiButton uiButtonConfirm uiButtonLarge"> 
    <input type="submit" id="u2krk0_2" name="login" value="Connection"> 
    </label> 
</div> 

變化情況,以便使用該ID的ID的變化是不是一種選擇,我怎麼可以點擊按鈕沒有考慮Facebook的語言的照顧,讓我的測試傳球很好?

回答

2

我會說按鈕的名稱 - '登錄'將是一件好事,找到它。水豚的click_button方法只能找到ID,文本或值的按鈕,所以你必須自己找到它:

find(:css, "input[name='login']").click 

您可能需要的,如果你有其他的「登錄」按鈕,網頁的其他限制範圍,但如果沒有,這應該適合你。