Как получить пользовательский ввод для Gherkin / Cucumber & Ruby? - PullRequest
0 голосов
/ 27 июня 2018

Мне нужно иметь возможность запрашивать ввод пользователя (имя пользователя, пароль и код авторизации), чтобы мои тесты могли получить доступ к GUI. Эти данные не могут быть сохранены в виде тестовых данных, поэтому их необходимо будет вводить в процессе теста.

Я попробовал следующее, но не работает так, как я хочу:

Файл функции:

Feature: user input as part of a test

  Scenario: user input at the start
  Given the test requires a name

Определение шага:

Given(/^the test requires a name$/) do
  get_a_name
end

Метод:

def get_a_name
  puts "Gimme a name"
  @input_name = gets.chomp
  puts "Hello #{@input_name}"
end

Результат:

Gimme a name

Hello Feature: user input as part of a test

Любая помощь будет высоко ценится. Спасибо.

1 Ответ

0 голосов
/ 03 июля 2018

У вас есть несколько вариантов при работе с внешними сервисами в автоматизации тестирования. В этом конкретном случае вы можете

  1. Измените ваш источник, чтобы при тестировании аутентификация работала иначе

OR

  1. Запишите ответ от внешней службы и используйте этот ответ вместо обращения к внешней службе (см. https://github.com/vcr/vcr).. После записи ответа вы будете знать код авторизации

OR

  1. Использовать тестовую версию внешнего сервиса, которая возвращает известные ответы

Я подозреваю, что есть ряд других решений, но все три из вышеперечисленных широко используются и работают нормально.

Конечно, нет необходимости в ручном взаимодействии для тестирования вашей системы, если вы не запускаете тесты на производственной системе (что очень плохая идея!).

...