Мне нужно протестировать двухэтапную систему входа в систему, которая сначала запрашивает адрес электронной почты и пароль, а затем представляет пользователю два списка выбора, содержащие [a-zA-Z0-9]. Ярлыки рядом с выпадающим списком имеют форму «Выбрать символ X из вашей фразы безопасности», где X - это случайный индекс символов из известной фразы безопасности.Как проверить форму, требующую ввода двух случайных символов из фразы безопасности?
Я бы предпочел не заглушить код для приемочного теста, так что можно написать совпадение в огурце, которое, учитывая, что мы знаем всю фразу, выбираем требуемый символ в каждом из двух списков?
Вот сценарий, я до сих пор и шаги участвуют:
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
Например, если фраза безопасности «Secret123», X = 3 и Y = 8, выше придется производить эквивалент:
select "c", :from => "Select character 3 of your security phrase"
select "2", :from => "Select character 8 of your security phrase"
числа х и Y в фактической страницы находятся внутри диапазона # svc_1 и диапазон # svc_2 соответственно.
Спасибо,