问题描述
我编写了在多个网站(大约400个)上运行的单个测试方案,并返回了该网站的实际状态代码。 (该站点启动并运行时,预计为200。)
我正在使用方案大纲和示例来记录测试数据,并且正在使用capybara-webkit检查预期的http状态代码。
但是,由于目前我的功能文件非常庞大,因此还有其他方法可以测试此功能。
解决方法
最好的选择就是使用脚本以及bash和curl手柄之类的东西。
实际上,这将是您测试的1/2行代码,然后只是您的原始循环
Cucumber旨在在同一地方提供您的文档,您的规格和测试。除非您拥有所有这些网站,否则最好不要大一些。
卢克
,使用这样的服务怎么办:https://httpstatus.io/会检查多个网站的http状态,并提供将其与您的应用程序集成的api
,您可以编写一个简单得多的命令,方法是为网站集命名,并在步骤定义中向下推集网站的详细信息(最好是通过辅助方法)。这样,您就可以从功能中删除一组URL,并将它们放置在其他位置。
Scenario: Check foo websites
Given foo websites
When I check the foo websites
Then I should see no errors
然后实现类似when的东西(下面是ruby风格的伪代码)
When 'I check the foo websites' do
sites = load_foo_websites
@errors = {}
sites.each do |site|
@errors << (site_ok(site) is false)
end
end
现在,您已将@errors存储在全局文件中,可以在Then中访问。
load_foo_websites方法可以从任何地方获取您的网站,因为它是代码。