2017-06-15 5 views
-1

Je veux vérifier ce champ, est-ce la valeur est nulle ou non?Comment puis-je vérifier qu'un champ de formulaire prérempli n'est pas nul en utilisant capybara?

<input name='phone_number' type='text'>

i ont essayer

expect(@browser.phone_number.value.to_s).exist expect(@browser.phone_number.value).exist expect(@browser.phone_number.value).be_truthy expect(@browser.phone_number).exist expect(@browser.phone_number).to be_truthy expect(@browser.phone_number).to exist

mais il est l'erreur pas lorsque la valeur du champ est nulle

je veux scénario passé lorsque la valeur est non nulle et erreur lorsque la valeur est nulle

Répondre

0

Vous ne spécifiez pas ce que @browser et phone_number sont, mais je vais supposer qu'ils sont d'un modèle d'objet de page en utilisant quelque chose comme SitePrism. Lorsque vous n'utilisez pas un modèle d'objet de page, il s'agit exactement de l'option :with du sélecteur :field. Il peut prendre une regex ou une chaîne pour faire correspondre la valeur du champ en cours. Par conséquent, nous pouvons vérifier un champ avec le nom de « phone_number » et une valeur qui a au moins un caractère avec

expect(page).to have_field('phone_number', with: /.+/) 

Comment utiliser cette option avec un modèle d'objet page dépend exactement comment vous avez mis la page modèle d'objet, mais il se résume généralement à l'implémentation appelant finalement find avec le type de sélecteur :field et les options ci-dessus. Si vous utilisez SitePrism cela signifierait

class MyPage < SitePrism::Page 
    ... 
    element :phone_number, :field, 'phone_number' # define phone_number to use the 'field' selector type 
end 

@browser = MyPage.new 
expect(@browser).to have_phone_number(with: /.+/)