Cucumber/Webrat fonctionnement du "should see ... wihtin"

8 views
Skip to first unread message

Tranquiliste

unread,
Nov 4, 2009, 4:29:51 AM11/4/09
to Railsfrance
Bonjour,

Toujours dans mes tests et mon apprentissage de ruby.
Sur ma page j'ai une série de libellés chacun étant entouré de balise
h5. Je souhaite tester leur présence en faisant:
I should see "libellé1" within "h5"
I should see "libellé2" within "h5"

Le premier passe correctement mais le deuxième n'est pas trouvé (je
précise que les 2 sont biens affichés et je les vois avec cucumber
quand je force une erreur).
Tout se passe comme si les tests s'arrêtaient dès la première balise
h5 rencontrée.

Comment puis je faire ce test?

Question subsidiaire ces balises h5 sont à l'intérieur d'un div qui
se trouve à un niveau n+c des balises
<div id=divx>
<div >
....
<h5>libellé2</h5>
<h5>libellé2</h5>
<div>
</div>
Est ce que je peux tester les h5 qui sont dans la div divx

Merci
Nicolas

Cyril Mougel

unread,
Nov 4, 2009, 6:21:31 AM11/4/09
to rails...@googlegroups.com
Tranquiliste a écrit :

Question subsidiaire, quel framework ?

--
Cyril Mougel
http://blog.shingara.fr/

Tranquiliste

unread,
Nov 4, 2009, 10:21:55 AM11/4/09
to Railsfrance
Désolé
Ruby on Rails et Rspec

Nicolas

Cyril Mougel

unread,
Nov 4, 2009, 11:28:16 AM11/4/09
to rails...@googlegroups.com
Tranquiliste a écrit :

> Désolé
> Ruby on Rails et Rspec
>
> Nicolas
>
> On 4 nov, 12:21, Cyril Mougel <cyril.mou...@gmail.com> wrote:
>
>> Tranquiliste a écrit :
>>
>>
>>
>>
>>> Bonjour,
>>>
>>> Toujours dans mes tests et mon apprentissage de ruby.
>>> Sur ma page j'ai une série de libellés chacun étant entouré de balise
>>> h5. Je souhaite tester leur présence en faisant:
>>> I should see "libellé1" within "h5"
>>> I should see "libellé2" within "h5"
>>>
C'est pas de base dans Rspec. Ça correspond à quel code ?

Tranquiliste

unread,
Nov 4, 2009, 11:35:35 AM11/4/09
to Railsfrance
c'est du webrat

Tranquiliste

unread,
Nov 4, 2009, 4:23:31 PM11/4/09
to Railsfrance
RTFM

J'ai le bouquin "rspec book" (http://www.pragprog.com/titles/achbd/the-
rspec-book), j'ai lu la partie correspondant et j'ai trouvé ma
solution en écrivant un step particulier qui ressemble à ça

Then /^I should see "([^\"]*)" within selector "([^\"]*)"$/ do |text,
selector|
response.should have_selector(selector , :content => text )
end

Nicolas

Cédric Brancourt

unread,
Nov 7, 2009, 5:43:48 AM11/7/09
to rails...@googlegroups.com
Oui, enfait les matchers fournis lors de l'installation de cucumber/webrat sont bien pratiques pour tester si une chaine de caractère est sur la page. Mais quand il s'agit de s'assurer du scope et des éléments d'une page, il vaut mieux ecrire son propre matcher. et utiliser xpath ou pas ...

Par contre la ou j'ai beaucoup peiné ces derniers temps , c'est dans la manière de tester une application internationalisée.

Je n'ai pas trouvé de solution idéale pour l'instant. Au début j'ai écrit mes tests avec les clefs que je passait dans un petit I18n.t / I18n.l dans le matcher, ca fonctionnait plutot bien et je pouvais tester toutes mes locales , mais ca devenais très vite compliqué sur les champs date donc j'ai abandonné (un peu trop vite , j'admet ) pour ne me concentrer que sur la version en.
(Disons que c'est une solution de facilité , il faut admettre que les outils sont principalement fait pour ce contexte).

Donc je profite ce thread pour vous demander quelles sont vos astuces pour les applications internationalisées.
Reply all
Reply to author
Forward
0 new messages