Урок за JMeter: Тестване на REST уеб услуги

В този урок за Jmeter разглеждаме как можем да тестваме REST API или уеб услуга с помощта на инструмента Jmeter.

Можем да използваме Jmeter, за да изпратим заявка за Json до RESTful уеб услуга и също така да анализираме отговора на Json.

Тестов план за REST уеб услуга

  • Група нишки
  • HTTP заявка

Както при всички тестове на Jmeter, първо трябва да създадем Thread Group заедно с HTTP Request Sampler.


тестване-почивка-jmeter-1

Ако сега стартирате теста, може да получите грешка с код за отговор 415 и съобщение за отговор „Неподдържан тип носител“.


Това е така, защото REST API може да очаква параметри „Content-Type” и „Access” в заявката на заглавката.

тестване-почивка-jmeter-7

  • HTTP Header Manager

След това трябва да добавим HTTP Header Manager за изпращане на параметри в заглавката на заявката. Трябва да изпратим променливи „Content-Type“ и „Access“ като заглавки на заявките.

тестване-почивка-jmeter-3


тестване-почивка-jmeter-4

Най-вероятно трябва да регистрирате приложението си чрез API ключ. Това трябва да бъде изпратено като POST метод на REST API в тяло на искането .

  • POST данни в тялото на заявката

тестване-почивка-jmeter-8

И отговорът във формат Json


тестване-почивка-jmeter-9

Следва извличане или анализиране на Json Response.

  • Извличане на отговор на Json

Jmeter има удобен приставка, наречена JsonPath което може да се използва за анализ на отговорите на Json.

След като инсталирате горния плъгин, можем да използваме Json Path Extractor като последващ процесор


testing-json-path-extractor

След като добавим Json Path Extractor към нашия план за тестване, можем да използваме точковото обозначение за препратка към елементите Json.

В този пример искаме да извлечем стойността на “client_id”:

json-path-extractor


Стойността на “client_id” ще бъде записана в променливата с име “client_id_value”. Можете да дадете всяко смислено име, което желаете.

След като стойността бъде запазена в името на променливата, можем да извикаме стойността, като използваме името на тази променлива във формата $ {client_id_value}

jmeter-почивка-тестване