Падручнік JMeter: Тэставанне вэб-сэрвісаў REST

У гэтым падручніку Jmeter мы разгледзім, як мы можам праверыць REST API альбо вэб-сэрвіс з дапамогай інструмента Jmeter.

Мы можам выкарыстоўваць Jmeter для адпраўкі запыту Json у веб-службу RESTful, а таксама для аналізу адказу Json.

План тэставання веб-службы REST

  • Група нітак
  • Запыт HTTP

Як і ў любых тэстах Jmeter, нам спачатку трэба стварыць групу раздзелаў разам з пробнікам запытаў HTTP.


тэставанне-адпачынак-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.

  • Здабыць адказ 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-адпачынак-тэставанне