Как параметризовать имя пользователя и пароли в функциях Cucumber при использовании нескольких примеров - PullRequest
0 голосов
/ 24 января 2020

Я использую Cucumber + Selenium + junit для автоматизации тестовых случаев.

Пример сценария приведен ниже. Я передаю несколько примеров для разных сред в сценарий. В моем тестовом приложении пароли продолжают меняться каждые 60 дней, и обновление этих паролей в каждом файле функций очень громоздко. Не могли бы вы помочь мне, как я могу параметризовать эти имена пользователей и пароли и передать их из отдельного файла конфигурации, чтобы при каждом изменении паролей я мог обновлять их в одном месте.

Scenario Outline: Verify the login functionality in xyz application

Given I open the browser

And I launch the xyz application <url>

When I enter the <username> and <password>

And click on sign in button

Then User should login successfully

Examples

@SIT

|url |username |password|

|sit.com|situser|sitpassword|



@UAT

|url |username |password|

|uat.com|uatuser|uatpassword|



@Training

|url |username |password|

|training.com|traininguser|trainingpassword|

1 Ответ

1 голос
/ 24 января 2020

Просто напишите сценарий ios без учетных данных в них. Затем получите пароли в ваших определениях шагов

Вы можете написать сценарий ios как

Given I am registered on UAT
When I login into UAT
Then I should be logged in

, а затем что-то вроде

module EnvTesterSH
  def get_current_creds(env: )
    ...
    [id, password]
  end
end
World EnvTesterSH

Given 'I am registered on UAT' do
  @id, @password = get_current_creds(env: :uat)
end

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

...