gpt4 book ai didi

ruby - Cucumber - 多语言网站的功能

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:46 26 4
gpt4 key购买 nike

我是 Cucumber 的新手,我正在尝试找到定义功能的最佳方式。

我需要用多种语言测试一个网站,所以我想测试的功能总是相同的,但由于语言不同,我需要在页面中查找的文本可能会有所不同。这大致就是我想要做的:

Scenario Outline: Browse through category from the home page
Given I am on the <country> home page
When I browse categories
Then I should get the browse category page

Examples:
| country |
| UK |
| IT |
| US |

我没有在功能描述本身​​中指定类别值,因为:

  1. 我希望能够从我的数据库中读取类别,因此每当我添加/删除一个类别时,我都不需要修改测试本身
  2. 想象一下,在同一个特征文件中有 10 个国家/地区和 20 个类别......那会是一团糟
  3. 为了避免 2 我可以为每个国家/地区创建一个功能文件...但是我必须复制并粘贴 N 次相同的功能描述

我考虑过从另一个步骤调用一个步骤作为解决方案。类似于以下伪代码:

When /^I browse categories$/ do
on CURRENT_HOME_PAGE do |page|
page.categories_list.each do |category|
....visit category page....
....call "Then I should get the browse category page" step...
....go back to CURRENT_HOME_PAGE....
end
end
end

我不确定这是最好的解决方案。大多数人也不赞成从步骤调用步骤。我个人也不喜欢它,因为我不喜欢混淆步骤和特征定义的想法。

最佳答案

如何调用 ruby​​ 方法而不是步骤定义并使用 Cucumber 实例变量?

我的意思是这样的:

Given /^I am on the (\w+) home page$/ do |country|
@country = country # use Cucumber instance variable (it will be available in next steps of this scenario)
end

When /^I browse categories$/ do
# read expected categories from DB for @country
# visit Browse Categories page for @country
# check that correct categories are shown
expected_categories.each do |category|
# visit category page
# check that correct category page for @country is shown
end
end

关于ruby - Cucumber - 多语言网站的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15174106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com