使用多个示例时如何在cucumber特性中参数化用户名和密码

rm5edbpk  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(307)

我使用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|
ia2d9nvy

ia2d9nvy1#

只需编写没有凭据的场景。然后在步骤定义中获取密码
你可以写这样的场景

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

现在的问题是如何编写代码来获取新的凭据,我想这完全取决于谁或什么更改了凭据。但现在你至少有一种编程语言可以帮助你。

相关问题