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'**
    

Ember 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="/bg#/register">Register Now</a>
</form>

Просто не мога да разбера как въвеждам текст в полетата за имейл и парола. Те са динамични, така че не мога да използвам ID. Мислех, че може би има начин да се използва „типа“, но и с това не успях. всякакви насоки ще бъдат оценени.


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