Home / AUTOMATED TESTING / Lấy giá một giá trị trong JSON dựa vào một điều kiện nào đó

Lấy giá một giá trị trong JSON dựa vào một điều kiện nào đó

Bạn muốn lấy một giá trị Id của một object trong Json nhưng trong object có rất nhiều Id và bạn chỉ muốn lấy giá trị khi thỏa mã một điều kiện nào đó. Vậy làm sao để xử lý vấn đề này, bài viết này sẽ giúp bạn dễ dàng hơn trong việc xử lý Path Extractor trong JMeter.

Mình có một chuối Json như thế này và yêu cầu là muốn lấy ra giá trị did=12 dựa vào type.id=2 hoặc type.title=Video
Ở đây mình sẽ extract value và áp dụng thêm điều kiện vào để lấy ra kết quả như sau

$..data[?(@.type.id==2].did
Trong đó

[ ] – là một mảng.
?( ) – điều kiện để lọc giá trị, ở đây mình lọc theo type.id==2 hoặc là type.title==’Video’ cũng được
@ – sử dụng cho object hiện tại

{
“data”:[
{
“did”:10,
“title”:”test”,
“description”:”Test”,
“type”:{
“id”:1,
“title”:”Photo”
}
},
{
“did”:12,
“title”:”test2″,
“description”:”Test2″,
“type”:{
“id”:2,
“title”:”Video”
}
}
] }

Cùng thử với 2 kiểu JSON Extractor

JSON Extractor

Cách tiếp theo

extract data json dua vao dieu kien jmeter

Check thử kết quả nhé

extract value from json

Ra chuẩn phải không nào, và đã lấy được giá trị mong muốn. Ngoài truyền thẳng giá trị vào bạn cũng có thể truyền vào 1 biến như kiểu là thế này type.title==’${type_title}’ hoặc là type.id > 2, type.id <2. Tùy thuộc vào điều kiện mà bạn muốn.

Kết thúc bài ở đây, có vấn đề gì khó khăn trong việc viết script Jmeter các bạn comment bên dưới nhé.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *