我正在为电子商务网站开发一个自动化套件,该网站包含不同国家/地区的网站页面。我已经针对网站的各种功能开发了所有100多个测试用例。现在,我的要求是测试所有不同国家(区域设置)的相同功能。
例如,
Locale QA Production
US XXXqa.com XXX.com
UK uk-XXXqa.com XXX.co.uk
FR fr-XXXqa.com XXX.fr
AU au-XXXqa.com XXX.com.au
DE de-XXXqa.com XXX.de
CA ca-XXXqa.com XXX.ca
JP jp-XXXqa.com XXX.co.jp
CN cn-XXXqa.com XXX.cn
对于登录测试,我正在编写此修改以包含所有国家/地区
Scenario Outline: Existing user can sign in
Given I am an existing user
And I go to the <Country> homepage
And I click the 'LOG IN' link
And I am presented with the Log In modal
When I enter my credentials and click the LOG IN button
Then I am logged in
Examples:
| country |
| US |
| AU |
| FR |
Given /^I go to the (\w+) homepage$/ do |country|
@country = country_url
end
它似乎可以用于测试,因为它能够导航到不同的国家和地区。测试功能。但是,如果我遵循这种方法,我将不得不修改超过1000行代码。是否还有其他方法可以浏览每个国家/地区。测试登录功能?
答案 0 :(得分:1)
我没有尝试一次运行黄瓜来处理你所有的语言环境,而是为每个语言环境运行一次黄瓜。
您可以使用标记(例如
)限制运行时所运行的方案@locale 场景:现有用户可以登录
您可能需要做的是配置host_name的聪明之处,以便在执行'translator' => array(
'locale' => 'de_DE',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
),
),
时评估到正确的路由。这可以使用一个环境变量和一些配置聪明的东西来完成。您要做的是为每次特定的运行更改visit login_path
。
一旦这个工作,我会使用CI服务器实际管理多次运行黄瓜。
希望这足以让你开始:)