2010-10-28 23 views
1

J'apprends le concombre, mais je ne peux pas faire un pas seulement pour les étiquettes d'entrée correspondantes.Correspondance de l'étiquette d'entrée avec le concombre/Webrat

Ce que j'ai dans la vue est

<input type="submit" value="Press!" /> 

Et ce que j'ai essayé dans le concombre sont

Then the "input" field should contain "Press!" 
Then the "type" field should contain "submit" 

Je veux juste confirmer l'existence pour les balises d'entrée avec certaines valeurs. Aucune interaction.

Répondre

1

Ils sont également explicitement pris en charge dans Webrat. Même si vous ne pouvez pas trouver le support intégré dans le concombre, vous pouvez toujours tomber dans vos propres définitions d'étape.

source: http://cheat.errtheblog.com/s/webrat/

== Assertions 

    # check for text in the body of html tags 
    # can be a string or regexp 
    assert_contain("BURNINATOR") 
    assert_contain(/trogdor/i) 
    assert_not_contain("peasants") 

    # check for a css3 selector 
    assert_have_selector 'div.pagination' 
    assert_have_no_selector 'form input#name' 


== Matchers 

    # check for text in the body of html tags 
    # can be a string or regexp 
    # Matchers are verbs used with auxillary verbs should, should_not, etc. 
    response.should contain("BURNINATOR") 
    response.should contain(/trogdor/i) 
    response.should_not contain("peasants") 

    # check for a css3 selector 
    response.should have_selector('div.pagination') 
    response.should_not have_selector('form input#name') 
+0

J'ai trouvé ceci en cherchant 'trogdor'. Fort mauvais, mec! –

2

Essayez ceci:

Then I should see "Press!" within "input[type=\"submit\"]"

+0

Merci. Pour moi, il est très étrange qu'aucun des cadres n'ait les moyens faciles de vérifier l'existence d'éléments de formulaire. –

1

Vous pouvez utiliser quelque chose comme:

response.should have_xpath("//input[@value='Press!']") 

ou

response.should have_selector("input", :type => "submit", :value => "Press!")