我有一组功能相似的网站,我想编写黄瓜规范以驱动开发和 selennium 浏览器测试。该站点使用不同的语言并具有不同的 URL,但主要具有相同的功能。
一个示例场景可能是
Scenario Outline: Photo Gallery Next Action
Given I visit a "<photo-gallery-page>"
When I click "<next-button>" in the gallery
Then the photo should advance
Examples:
| photo-gallery-page | next-button |
| www.site1.com/photo-gallery | Next |
| www.site2.com/la-galerie-de-photos | Suivant |
当我有少量场景和示例时,这很好。但是,我预计会出现数百种情况,并且会定期推出新网站。我想避免在启动新站点时必须编辑每个场景来添加示例。
我认为我需要将所有示例变量存储在每个站点配置中,以便我可以针对所有站点运行相同的场景。然后我可以相当容易地添加新配置,避免编辑所有场景示例并使它们不可读。
site[:en].photo-gallery-page = 'www.site1.com/photo-gallery'
site[:fr].photo-gallery-page = 'www.site2.com/la-galerie-de-photos'
site[:en].next-button = 'Next'
site[:fr].next-button = 'Suivant'
一种选择是将此配置存储在某处,然后使用脚本生成特定于站点的小黄瓜文件。然后我可以运行这些生成的小黄瓜,其中包含所需的示例
我想知道是否有更简单的方法。我的另一个想法是我是否可以使用表格转换来替换示例块。我读过,但据我所知,如果它是一个步骤中的内联表,我只能转换一个表(并用自定义代码块替换它)。我不能以相同的方式转换示例块。
我理解正确吗?关于如何最好地实现这一目标的任何其他建议?