2012-08-14 60 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 

您可能需要的,如果你有其他的“登录”按钮,网页的其他限制范围,但如果没有,这应该适合你。