JMeter使用CI和AWS ELB HealthCheck进行简单功能测试的替代方案

时间:2016-04-12 19:32:51

标签: jmeter vagrant automated-tests amazon-elb

我需要在托管的Web服务上执行简单的功能测试(认为每个应用程序在几秒钟内完成冒烟测试),以确保在自动部署后没有任何重大问题被破坏。我不需要强大的提取或断言逻辑,我也不需要负载测试功能。 JMeter似乎会完成这项工作,但可能有点矫枉过正。是否有更适合的其他开源项目或软件产品?

此测试将用于两种类型的部署。首先,在开发和CI管道中,我使用Vagrant来测试我的Chef自动化。在Chef Client运行之后,我想让Vagrant开始冒烟测试。如果测试失败,CI知道检查的Chef代码失败。我目前正在这样做,让Vagrant运行一个Powershell配置器,它是一个简单的脚本,执行wget来测试调用Web服务,只是为了确保存在预期响应的某些片段。

第二个用例是在AWS,我想配置ELB的HealthCheck来调用一个Web服务来测试该服务器上安装的任何应用程序,一旦成功,就会为所有后续请求返回HTTP 200。这样做的目的是确保应用程序已完成部署过程并在进入负载均衡器之前已成功部署。

奖励积分:是否有任何现有服务能够自行发现服务器上安装的网站/服务以及可能存在的任何测试脚本,并自动运行?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用vagrant-serverspec插件进行流浪测试 和简单的aws elb命令来检查实例状态

aws elb describe-instance-health --load-balancer-name my-load-balancer --instances i-7299c809

输出:

  {
    "InstanceStates": [
        {
            "InstanceId": "i-7299c809",
            "ReasonCode": "ELB",
            "State": "OutOfService",
            "Description": "Instance registration is still in progress."
      }
    ]
  }

您也可以为测试状态添加查询。

--query 'InstanceStates[*].State' --output text

有效值:InService | OutOfService | Unknown