როგორ განვიხილოთ JSON რეაგირება JMeter's JSON Extractor– ის გამოყენებით

JMeter 3.0– დან, JSON– ის პასუხებიდან მონაცემების მოპოვება JSON ცვლადის გამწოვის გამოყენებით ბევრად უფრო ადვილია. JSON არის უკიდურესად მარტივი მონაცემთა ფორმატი, რომელმაც XML რამდენიმე წლის წინ მიიღო.

REST API– ებისა და სერვერების მზარდი რაოდენობა იყენებს JSON– ს, როგორც მონაცემთა გაცვლის ძირითად ფორმატს. აქ, ჩვენ გამოვიყენებთ JMeter- ს JSON პასუხის რეაგირებისთვის.

თუ არ გაქვთ დაინსტალირებული JMeter, წაიკითხეთ სტატია, რომელიც განმარტავს როგორ დააყენოთ JMeter Mac OS– ზე .

დავუშვათ, რომ ჩვენ გვაქვს JSON პასუხი შემდეგნაირად:

{
'store': {
'book': [

{


'category': 'reference',


'author': 'Nigel Rees',


'title': 'Sayings of the Century',


'price': 8.95

},

{


'category': 'fiction',


'author': 'Evelyn Waugh',


'title': 'Sword of Honour',


'price': 12.99

}
],
'bicycle': {

'color': 'red',

'price': 19.95
}
},
'expensive': 10 }

ზემოხსენებული JSON- ის JMeter- ით გასაანალიზებლად, ჩვენი ტესტის გეგმას უნდა დავამატოთ JSON Extractor.

დააჭირეთ ღილაკს Test Plan -> დამატება -> Post processors -> JSON Extractor



ახლა უნდა ვნახოთ შემდეგი ხედი:

JSON Path გამოხატვის ველში, ჩვენ შეგვიძლია ჩავსვათ ჩვენი JSON გზა JSON პასუხის გასაცნობად

აქ მოცემულია Json Path გამონათქვამების მაგალითები, რომელთა საშუალებითაც შესაძლებელია Json დოკუმენტის მონაცემების ამოღება, რომლებიც ზემოთ მოჩანს:

+---------------------------------------+--------------------------------------------------------------+ | JSONPath





| Result










| +---------------------------------------+--------------------------------------------------------------+ | $.store.book[*].author


| The authors of all books






| | $..author




| All authors









| | $.store.*




| All things, both books and bicycles




| | $.store..price



| The price of everything






| | $..book[0,1]




| The first two books







| | $..book[:2]




| All books from index 0 (inclusive) until index 2 (exclusive) | | $..book[2:]




| Book number two from tail






| | $..book[?(@.isbn)]



| All books with an ISBN number





| | $.store.book[?(@.price < 10)]
| All books in store cheaper than 10




| | $..book[?(@.price <= $[‘expensive’])] | All books in store that are not “expensive”


| | $..book[?(@.author =~ /.*REES/i)]
| All books matching regex (ignore case)



| | $..*





| Give me every thing







| | $..book.length()



| The number of books







| +---------------------------------------+--------------------------------------------------------------+

საინტერესო სტატიები