Альтернатива JMeter для простого функционального тестирования с CI и AWS ELB HealthCheck

Мне нужно выполнить простые функциональные тесты (представьте, что дымовые тесты завершаются за несколько секунд для каждого приложения) на размещенных веб-сервисах, чтобы убедиться, что после автоматического развертывания ничего серьезного не сломано. Мне не нужна надежная логика извлечения или утверждения, и мне не нужна возможность нагрузочного тестирования. JMeter кажется, что он сделает свою работу, но может быть излишним. Существуют ли другие проекты с открытым исходным кодом или программные продукты, которые лучше подходят?

Существует два типа развертываний, для которых может использоваться этот тест. Во-первых, в процессе разработки и конвейера непрерывной интеграции я использую Vagrant для тестирования автоматизации Chef. После запуска Chef Client я хотел бы, чтобы Vagrant запустил дымовой тест. Если тест не пройден, CI знает, что проверенный код Chef не пройден. В настоящее время я делаю это, заставляя Vagrant запускать средство обеспечения Powershell, которое представляет собой простой скрипт, который выполняет wget для проверки вызова веб-служб, просто проверяя наличие определенных фрагментов ожидаемого ответа.

Второй вариант использования — в AWS, где я хотел бы настроить HealthCheck ELB для вызова веб-службы, которая будет проверять любые приложения, установленные на этом сервере, и в случае успеха возвращать HTTP 200 для всех последующих запросов. Целью этого будет гарантировать, что приложение завершило процесс развертывания и было успешно развернуто до входа в балансировщик нагрузки.

Бонусные баллы: Существуют ли какие-либо существующие службы, которые могут самостоятельно обнаруживать веб-сайты/службы, установленные на сервере, и любые тестовые сценарии, которые могут присутствовать на них, и запускать их автоматически?


person DougK    schedule 12.04.2016    source источник


Ответы (1)


Вы можете попробовать использовать плагин vagrant-serverspec для тестирования с помощью vagrant
и простой команды 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

person vvchik    schedule 12.04.2016