Capybara/Rails/Ember не может заполнить поля логина и пароля

  • Возможность открыть страницу при запуске со следующими шагами Cucumber:

    Given(/^i go to the login page$/) do
    visit "http://localhost:3000"
    end
    
    When(/^i enter a valid email and password$/) do
    fill_in('email', :with => '[email protected]')
    
  • Однако я продолжаю получать следующую ошибку:

     When i enter a valid email and password # 
    features/step_definitions/loggingin_valid.rb:5
    Unable to find field "email" (Capybara::ElementNotFound)
    ./features/step_definitions/loggingin_valid.rb:6:in `/^i enter a valid email and
    password$/'
    features/loggingin_valid.feature:5:in `When i enter a valid email and password'**
    

Эмбер js:

6        form.form-inline submit="login"
7         h2 Log In
8          Ember.TextField valueBinding="email"
9          Ember.TextField type="password" valueBinding="password" 
11         input type="submit" value="Log In"  
13          linkTo "register" |Register Now

Веб-страница:

<form class="form-inline" data-ember-action="1">
<h2>Log In</h2>
<input id="ember440" class="ember-view ember-text-field" type="text">
<input id="ember441" class="ember-view ember-text-field" type="password">
<input type="submit" value="Log In">
<a id="ember444" class="ember-view" href="#/register">Register Now</a>
</form>

Просто не могу понять, как я ввожу текст в поля электронной почты и пароля. Они динамические, поэтому я не могу использовать идентификатор. Думал, что, возможно, есть способ использовать «тип», но это тоже не удалось. любые рекомендации будут оценены.


person Scotty G    schedule 21.09.2013    source источник


Ответы (1)


Вы можете добавить идентификаторы к своим элементам. Ember будет генерировать их автоматически, только если вы этого не сделаете.

Ember.TextField valueBinding="email" id="email"
Ember.TextField type="password" valueBinding="password" id="password"
person Jeremy Green    schedule 21.09.2013
comment
Спасибо, Джереми. Думал, что, возможно, есть способ найти поля «тип» и просто заполнить текст. Кажется, довольно логично сделать это, как вы предложили. Попробую. - person Scotty G; 22.09.2013