Bonjour,
J’utilise cucumber pour mes tests mais je ne trouve pas le moyen de
vérifier si une valeur est sélectionnée (select).
J’ai trouvé ce qui est recommandé là :
http://macksmind.net/2009/05/31/verifying-select-field-value-with-cucumber-and-webrat/
Mais ça ne marche pas pour moi, il me dit Could not find field labeled
“topic[scope]” (Webrat::NotFoundError)
et ce quelque soit la façon dont je nomme mon champs (topic_scope)
Quelqu’un l’a-til déjà fait?
Il doit y avoir quelque chose qui m’échappe:
J’ai un select don le name est “topic[scope]”
- Quand j’utilise la step webrat prédéfini
And “topic[scope]” should be equal to “xxxx”, il ne trouve bien le
field (le test échoue car la valeur n’est pas bonne mais ce n’est pas
le problème)
- Quand j’utilise la méthode définie dans le lien précédente j’ai
l’erreur “topic[scope]” (Webrat::NotFoundError)
Alors que les deux méthode utilisent labeled_field(field). Quelqu’un a
une idée?
Nicolas
J’ajoute que les 2 méthodes sont dans le fichier webrat_steps.rb
C’est quand même étrange dans mon fichier .feature j’ai ces deux
lignes qui se suivent
Then I select “Propriétaires” from “topic[scope]”
Then “Propriétaires” should be selected for “topic[scope]”
La première passe la deuxième se plante avec mon fameux
“topic[scope]” (Webrat::NotFoundError)
(eval):2:in `/^"([^"])" should be selected for “([^”])"$/’
Tranquiliste a écrit :
C’est quand même étrange dans mon fichier .feature j’ai ces deux
lignes qui se suivent
Then I select “Propriétaires” from “topic[scope]”
Then “Propriétaires” should be selected for “topic[scope]”
La première passe la deuxième se plante avec mon fameux
“topic[scope]” (Webrat::NotFoundError)
(eval):2:in `/^"([^"])" should be selected for “([^”])"$/’
Tu peux nous donner le code exacte de tes 2 steps ? celle qui marche et
celle qui marche pas.
Sans code on arrive jamais trop à savoir le problème.
–
Cyril M.
http://blog.shingara.fr/
Tranquiliste a écrit :
par
field_labeled(field).value.should =~ /#{value}/
Ca ne marche pas non plus. Cela viendrait il du fait que je l’ai
“rajouté”?
et le HTML que tu tentes de récupérer, il est comment ?
“topic[scope]” (Webrat::NotFoundError)
–
Cyril M.
http://blog.shingara.fr/
Dans le standard webrat_steps et marche
When /^I select “([^”])" from “([^”])"$/ do |value, field|
select(value, :from => field)
end
Then /^the “([^”])" field should contain “([^”])"$/ do |field,
value|
field_labeled(field).value.should =~ /#{value}/
end
Ajoutée par moi et ne marche pas
Then /^"([^"])" should be selected for “([^”])"$/ do |value,
field|
field_labeled(field).element.search(".//option[@selected =
‘selected’]").inner_html.should =~ /#{value}/
end
Le pire c’est que si je change
field_labeled(field).element.search(".//option[@selected =
‘selected’]").inner_html.should =~ /#{value}/
par
field_labeled(field).value.should =~ /#{value}/
Ca ne marche pas non plus. Cela viendrait il du fait que je l’ai
“rajouté”?
Tranquiliste a écrit :
Mais sinon j’ai réussi à le faire marcher en changeant field_labeled
par field_named
Je pense que le field_labeled se base sur l’id et field_named sur le
name
tu peux donc peut-être essayé field_labeled(‘topic_scope’) et voir si ca
marche aussi.
Ajoutée par moi et ne marche pas
field_labeled(field).value.should =~ /#{value}/
Tu peux nous donner le code exacte de tes 2 steps ? celle qui marche et
–
Cyril M.
http://blog.shingara.fr/
Il ressemble à ça:
Diffusion
<span class="forminput"><select id="topic_scope" name="topic
[scope]">Immeuble
Propriétaires
Conseil Syndical
Mais sinon j’ai réussi à le faire marcher en changeant field_labeled
par field_named
Il doit y avoir qq chose qui m’échappe.
Nicolas
topic_cope ne marchait pas non plus.