Ho un campo con un'etichetta adeguata che posso riempire con capibara senza problemi:Come posso verificare che il campo di un modulo sia precompilato correttamente usando capybara?
fill_in 'Your name', with: 'John'
Vorrei controllare il valore che ha prima del riempimento in e non può capire.
Se aggiungo dopo la fill_in
la seguente riga:
find_field('Your name').should have_content('John')
Questo test ha esito negativo, anche se il ripieno appena prima ha lavorato come ho verificato salvando la pagina.
Cosa mi manca?
Ah, mi mancava il bit '.value'. Grazie! –
Avevo lo stesso problema, ma con un div piuttosto che un campo modulo. Per chiunque abbia lo stesso problema, usa find_by_id(). Text piuttosto che find_field(). Value. Mi ci sono voluti * anni * per individuare quel valore che funzionava solo sui campi del modulo ... –
Il problema con quest'ultimo modo è che non utilizza il ciclo di polling di Capybara e quindi fallirà istantaneamente se il campo è impostato da un codice JS più lungo. Il primo modo è preferibile a meno che non si stia provando su una forma generata staticamente. – fqxp