如何运行不同地区的所有功能

问题描述:

我正在为电子商务网站开发一个自动化套件,该套件具有不同国家/地区的网站页面。我已经为网站的各种功能开发了全部最多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

你为什么不创建具有国家代码的数组,然后,在测试中,当您要访问的网页,你可以从循环做第一个国家'直到最后一个国家和'访问(“#{country-code} -XXXqa.com”) – fabersky

而不是试图让一个黄瓜运行来处理所有的区域设置我会运行黄瓜一次为您的每个区域设置。

您可以使用标签来限制您在执行此操作时使用的场景。

@locale 情景:现有的用户可以登录

什么,你可能会需要做的是一些聪明配置HOST_NAME所以,当你做visit login_path它的计算结果的正确路线。这可能可以通过使用环境变量和一些聪明的配置来完成。你想要做的是改变Capybara.default_host每个特定的运行。

一旦这个工作,我会使用CI服务器来实际管理多次运行的黄瓜。

希望这就是足以让你开始:)