点击facebook连接按钮,黄瓜在导轨中

时间:2012-08-14 14:22:59

标签: ruby-on-rails facebook testing cucumber

直到现在我们所有的测试都通过了,但是自从一周后我们看到了我们写的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,所以按钮的文字是Connection,但是现在使用其他语言的人正在运行测试并且在那里失败了。以下是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语言的情况下点击按钮,以便我的测试正常通过?

1 个答案:

答案 0 :(得分:2)

我会说按钮的名称 - “登录”是一件好事。 Capybara的click_button方法只能按ID,文本或值找到按钮,因此您必须自己找到它:

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

如果您在页面的其他位置有其他“登录”按钮,则可能需要限制范围,但如果没有,这对您有用。