我們使用jMeter進行迴歸測試。我們有2個http請求,並使用比較斷言來確保結果匹配。當響應是xml或原始文本時,這可以正常工作。但是,當響應是JSON對象時,這不起作用。因爲JSON對象將字段存儲在散列中,所以順序不被保留,這意味着比較斷言的差異是不同的,並給我們帶來了錯誤的否定。有沒有人有任何建議如何比較兩個迴應,看看他們是否平等?比較斷言來比較兩個JSON響應
0
A
回答
1
首先按official documentation on Compare Assertion的:
比較斷言絕不負載測試過程中,因爲它消耗 大量的資源(內存和CPU)一起使用。僅將它用於功能 測試或在測試計劃調試和驗證期間。
所以請重新考慮使用Compare Assertion。我能想到的最佳人選是通過JMeter Plugins
見Using the XPath Extractor in JMeter指南(向下滾動到Parsing JSON
)的XPath來JSONPath查詢映射JSONPath Assertion可用。
或者,您可以使用Size Assertion,Response Assertion,Duration Assertion的組合,它們提供相同的功能但消耗的資源要少得多。
+0
謝謝,我結束了導入JSONObject和[JSONCompare](http://skyscreamer.org/JSONassert/javadoc/org/skyscreamer/jsonassert/JSONCompare.html)這是JSONAsserttion的後臺邏輯,所以我們使用它來代替比較斷言。 我也意識到它說在加載測試時不使用比較斷言,但我們在做迴歸測試時需要它,我們真的不在乎時間(它仍然工作得很快)。 – user2615862
相關問題
- 1. 比較兩個JSON
- 2. 比較JSON響應的
- 3. XSD 1.1斷言來比較日期
- 4. 比較Jmeter中的斷言
- 5. С++:「無效比較」斷言
- 6. 比較兩個JSON對象
- 7. 比較兩個JSON對象
- 8. 使用斷言來比較兩個Excel文件
- 9. 比較Json響應Json文本文件
- 10. 在腳本Assertation比較JSON響應
- 11. 在序言比較兩個事實
- 12. 序言,比較兩個謂詞
- 13. 比較兩個NSArrays
- 14. 比較兩個CGRects
- 15. 比較兩個DataFrames,
- 16. 比較兩個NSManagedObjects
- 17. 比較兩個QAbstractItemModels
- 18. 比較兩個NSStrings
- 19. 比較兩個CGPDFDictionary
- 20. 比較兩個datagridview
- 21. 比較兩個表
- 22. 比較兩個NSMutableArray
- 23. 比較兩個UIImages
- 24. 比較兩個FluentWebElement
- 25. 比較兩個ArrayList
- 26. 比較兩個HTML
- 27. 比較兩個UIImage
- 28. 比較兩個bsts
- 29. 比較兩個3Dmesh
- 30. 比較兩個NSMutableDictionaries
可能的重複[如何比較兩個不同的JSON響應結構在Java?](http://stackoverflow.com/questions/21495272/how-to-compare-two-different-json-response-structure-in- java) – olyv
我結束了導入JSONObject和[JSONCompare](http://skyscreamer.org/JSONassert/javadoc/org/skyscreamer/jsonassert/JSONCompare.html)這是JSONAssertion的後臺邏輯,所以我們使用它來代替比較斷言。很棒。 – user2615862
@olyv這是一個非常不同的問題。我們不知道json的格式。它可能非常不同,所以路徑提取器不幸的是幾乎沒用。我們能夠在BeanShell後處理器和一些自定義編碼中做所有事情。 – user2615862