У меня есть следующий фрагмент в моей HTML отображая ссылку FB-Connect:Капибара + Селен не найти 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>
Это отлично работает при ручном нажатии его. Но при использовании Capybara + Selenium в Cucumber (тег @javascript) они, похоже, не находят элемент, который нужно щелкнуть. Я попробовал несколько комбинаций, пытаясь соответствовать этому, как:
When I follow "mylogin" # or
When I press "mylogin"
И я получаю ответы, как:
no link with title, id or text 'mylogin' found (Capybara::ElementNotFound)
Я также попытался соответствием внутреннего текста «Логин-кнопка» «Войти» или, с нет. Пытался следовать совету в Cucumber and Capybara, clicking a non-link or button element тоже, но это не сработало.
Я использую камень Facebooker2 генерировать ссылку:
#in my index.html.haml
= fb_connect_async_js
= fb_login_and_redirect('http://localhost:3000/', id: 'mylogin')
Gem версии:
capybara (0.3.9) #(actually pulling it from github directly)
xpath (~> 0.1.2)
selenium-webdriver (>= 0.0.27)
cucumber (0.9.2)
Любой намек? Благодарю.
Я также попытался увеличить время ожидания нескольких способов, как «сон 10» и «Capybara.default_wait_time = 10 ". Не помогло. – alp247