Ich habe ein sehr seltsames Verhalten mit Capybara. Es lehnt hartnäckig ab, die Felder meines Anmeldeformulars auszufüllen.Capybara kann finden, aber nicht fill_in
<fieldset>
<div class="clearfix">
<label for="user_email">E-Mail Adresse</label>
<div class="input">
<input id="user_email" name="user[email]" size="30" type="email" value="">
</div>
</div>
<div class="clearfix">
<label for="user_password">Passwort</label>
<div class="input">
<input id="user_password" name="user[password]" size="30" type="password" value="">
</div>
</div>
<div class="clearfix">
<div class="input">
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
<label for="user_remember_me">angemeldet bleiben</label>
</div>
</div>
</fieldset>
Und hier ist, wo der Spaß beginnt:
within("#login_form"){ find("#user_email")}
=> #<Capybara::Element tag="input" path="/html/body/div[2]/div[@id='content']/div/div[1]/form[@id='login_form']/fieldset/div[1]/div/input[@id='user_email']">
within("#login_form"){ fill_in("#user_email", with: "[email protected]")}
Capybara::ElementNotFound: Unable to find field "#user_email"
Ich verstehe nicht ganz, wie es möglich ist in der Lage sein, zu finden und noch nicht gefunden, ein Element. Ein anderes Paar Augen auf diesem würde geschätzt werden.
Versuchen Sie 'fill_in ('user_email',: mit = '' [email protected] ')', ohne die '#'. – depa