Je dois tester un système de connexion en deux étapes qui vous demande d'abord votre adresse e-mail et votre mot de passe, puis présente à l'utilisateur deux listes de sélection contenant [a-zA-Z0-9]. Les étiquettes à côté de la liste déroulante sont de la forme «Sélectionner le caractère X de votre phrase de sécurité», où X est un index de caractères aléatoires d'une phrase de sécurité connue. Je préfèrerais ne pas remplacer le code pour un test d'acceptation, donc est-il possible d'écrire un matcher dans le concombre qui, étant donné que nous connaissons la phrase entière, sélectionne le caractère requis dans chacune des deux listes?Comment puis-je tester un formulaire qui nécessite l'entrée de deux caractères aléatoires dans une phrase de sécurité?
Voici le scénario que j'ai à ce jour et les étapes:
Scenario: valid login email, password and secret phrase takes me to the dashboard
Given I am not logged in
When I log in as "[email protected]"
Then I should be on the dashboard page
And I should see "Your Dashboard"
When /^I log in as "([^\"]*)"$/ do |login|
visit path_to('Login page')
fill_in "Email", :with => login
fill_in "Password", :with => "Password123"
click_button "Log in"
response.should contain("Please verify some characters from your security phrase")
select "a", :from => "Select character X of your security phrase"
select "b", :from => "Select character Y of your security phrase"
click_button "Submit"
end
Par exemple, si l'expression de sécurité est « Secret123 », X = 3 et Y = 8, mentionnée plus haut devront produire l'équivalent de:
select "c", :from => "Select character 3 of your security phrase"
select "2", :from => "Select character 8 of your security phrase"
les nombres X et Y dans la page réelle est portée à l'intérieur # svc_1 et la durée # svc_2 respectivement.
Merci,