有什么办法可以使用Ruby,水豚和黄瓜来测试多个网站并检查其http状态代码

问题描述

我编写了在多个网站(大约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方法可以从任何地方获取您的网站,因为它是代码。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...