我的 html 中有以下片段显示 FB-Connect 链接:
<fb:login-button id="mylogin" onlogin="try {
window.location.href = "http://localhost:3000/";
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('window.location.href = \"http://localhost:3000/\";'); throw e }"></fb:login-button>
手动单击它时效果很好。但是在 Cucumber(@javascript 标签)中使用 Capybara+Selenium 时,他们似乎根本找不到要点击的元素。我尝试了几种尝试匹配它的组合,例如:
When I follow "mylogin" # or
When I press "mylogin"
我得到的答案如下:
no link with title, id or text 'mylogin' found (Capybara::ElementNotFound)
我还尝试匹配内部文本“登录”或“登录按钮”,但无济于事。尝试遵循Cucumber 和 Capybara 的建议,也单击非链接或按钮元素,但没有成功。
我正在使用 Facebooker2 gem 来生成链接:
#in my index.html.haml
= fb_connect_async_js
= fb_login_and_redirect('http://localhost:3000/', id: 'mylogin')
宝石版本:
capybara (0.3.9) #(actually pulling it from github directly)
xpath (~> 0.1.2)
selenium-webdriver (>= 0.0.27)
cucumber (0.9.2)
有什么提示吗?谢谢。