簡體   English   中英

無法將 json 響應提取到 Jmeter Beanshell 后處理器 \JSR223 后處理器中的 json 數組中

[英]Unable to fetch json response into a json array in Jmeter Beanshell Post processor \JSR223 Post processor

  1. 我有下面的 json 響應數組,我正在進入 Jmeter 正則表達式提取器變量C_Totalresponse

  2. 在這我有購物車項目cartItems object。

  3. cartItems JSON object 中,我們有不同的 SKU 和對應的數量。

  4. 我正在使用 hashmap 從 CSV 文件中讀取值並更新每個 SKU 的數量詳細信息,但我的腳本無法將響應獲取到 Jmeter 中的數組中。

  5. 我在最后分享 Jmeter 代碼和我在解析 JSON 數組時遇到的錯誤

我看到很多帖子建議 groovy 我不知道如何使用它來獲得像這樣的巨大響應

[{"statusCode":200,"type":"rpc","tid":7,"ref":true,"action":"ccrz.cc_ctrl_CartRD","method":"fetchMiniCart","result":{"data":{"s":1,"v":{"sfid":"a5x8E000000ICRBQA4","ownerId":"0058E000005wuxmQAA","sfdcName":"00000563","encryptedId":"b86853d1-2929-44bb-84de-826bb350ff59","activeCart":true,"cartStatus":"Open","cartType":"Cart","lastModifiedDate":1615952024000,"name":"New Cart","effectiveAccountID":"0010Y00001cdP0yQAE","b2BCCTMCCount":1,"b2BCCRYOCount":0,"b2BCCCIGARCount":0,"b2BCCOTHERCount":0,"b2BCCIsEmergency":false,"b2BCCIsOffSchedule":false,"b2BCCIsFlagged":false,"b2BCCProductCount":1,"b2BCCTotalSticks":200,"b2BCCTotalGrams":0,"b2BCCExciseRemainingGrams":199670,"b2BCCExciseRemainingSticks":97800,"b2BCCNumberOfOrdersToday":0,"b2BCCOrderingDate":1615939200000,"b2},"cartItems":{"s":55,"v":[{"s":56,"v":{"sfid":"a5w8E000000LFa5QAG","sfdcName":"00068652","cart":"a5x8E000000ICRBQA4","quantity":0,"price":330.53,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":266,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.30,"b2BCCAvgSales13Weeks":0.50,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFa5QAG","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,},{"s":60,"v":{"sfid":"a5w8E000000LFa3QAG","sfdcName":"00068650","cart":"a5x8E000000ICRBQA4","quantity":0,"price":13.00,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":264,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFa3QAG","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":61,"v":{"sfid":"a6w8E00000096F3QAI","sfdcName":"WINNIES ROLLING PAPERS 50","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797287227","b2BCCProductCategory":"Other","b2BCCSTMCode":"000000000050055946","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":50},"shortDesc":"WINNIES ROLLING PAPERS 50","id":"a6w8E00000096F3QAI","sku":"50055946","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":1.000000,"UnitOfMeasure":"BX","showSubscriptionSelection":false,"name":"WINNIES ROLLING PAPERS 50","price":13.00}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096F3QAI","ccrz__SKU__c":"50055946"}}},{"s":62,"v":{"sfid":"a5w8E000000LFa2QAG","sfdcName":"00068649","cart":"a5x8E000000ICRBQA4","quantity":0,"price":35.73,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":262,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFa2QAG","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":63,"v":{"sfid":"a6w8E00000096EtQAI","sfdcName":"CAPTAIN BLACK DARK CREMA (20) ","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"71737493045","b2BCCProductCategory":"CIGAR","b2BCCSTMCode":"000000000075002330","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":44},"shortDesc":"CAPTAIN BLACK DARK CREMA (20) ","id":"a6w8E00000096EtQAI","sku":"50050031","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":20.000000,"UnitOfMeasure":"PK","showSubscriptionSelection":false,"name":"CAPTAIN BLACK DARK CREMA (20) ","price":35.73}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096EtQAI","ccrz__SKU__c":"50050031"}}},{"s":64,"v":{"sfid":"a5w8E000000LFa1QAG","sfdcName":"00068648","cart":"a5x8E000000ICRBQA4","quantity":0,"price":35.73,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":261,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFa1QAG","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":65,"v":{"sfid":"a6w8E00000096EyQAI","sfdcName":"CAPTAIN BLACK CHERISE (20)","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"71737493076","b2BCCProductCategory":"CIGAR","b2BCCSTMCode":"000000000075002330","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":47},"shortDesc":"CAPTAIN BLACK CHERISE (20)","id":"a6w8E00000096EyQAI","sku":"50050070","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":20.000000,"UnitOfMeasure":"PK","showSubscriptionSelection":false,"name":"CAPTAIN BLACK CHERISE (20)","price":35.73}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096EyQAI","ccrz__SKU__c":"50050070"}}},{"s":66,"v":{"sfid":"a5w8E000000LFa0QAG","sfdcName":"00068647","cart":"a5x8E000000ICRBQA4","quantity":0,"price":35.73,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":260,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFa0QAG","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":67,"v":{"sfid":"a6w8E00000096ACQAY","sfdcName":"CAPTAIN BLACK CLASSIC (20)","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"71737493014","b2BCCProductCategory":"CIGAR","b2BCCSTMCode":"000000000075002330","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":32},"shortDesc":"CAPTAIN BLACK CLASSIC (20)","id":"a6w8E00000096ACQAY","sku":"50050062","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":20.000000,"UnitOfMeasure":"PK","showSubscriptionSelection":false,"name":"CAPTAIN BLACK CLASSIC (20)","price":35.73}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096ACQAY","ccrz__SKU__c":"50050062"}}},{"s":68,"v":{"sfid":"a5w8E000000LFZpQAO","sfdcName":"00068636","cart":"a5x8E000000ICRBQA4","quantity":0,"price":48.49,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":208,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":8.80,"b2BCCAvgSales8Weeks":11.90,"b2BCCAvgSales13Weeks":12.70,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZpQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":69,"v":{"sfid":"a6w8E000000969ZQAQ","sfdcName":"PORT ROYAL 25G RUM & WINE RYO","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797281683","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075025978","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":29},"shortDesc":"PORT ROYAL 25G RUM & WINE RYO","id":"a6w8E000000969ZQAQ","sku":"10065793","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":25.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"PORT ROYAL 25G RUM & WINE RYO","price":48.49}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000969ZQAQ","ccrz__SKU__c":"10065793"}}},{"s":70,"v":{"sfid":"a5w8E000000LFZoQAO","sfdcName":"00068635","cart":"a5x8E000000ICRBQA4","quantity":0,"price":45.22,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":206,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.20,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZoQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":71,"v":{"sfid":"a6w8E000000963wQAA","sfdcName":"PORT ROYAL 25G RAW","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797286466","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075090737","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":17},"shortDesc":"PORT ROYAL 25G RAW","id":"a6w8E000000963wQAA","sku":"10065785","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":25.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"PORT ROYAL 25G RAW","price":45.22}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000963wQAA","ccrz__SKU__c":"10065785"}}},{"s":72,"v":{"sfid":"a5w8E000000LFZnQAO","sfdcName":"00068634","cart":"a5x8E000000ICRBQA4","quantity":0,"price":28.79,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":204,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZnQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":73,"v":{"sfid":"a6w8E000000966vQAA","sfdcName":"PORT ROYAL 15G ORIG RUM & WINE","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797283847","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075076853","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":26},"shortDesc":"PORT ROYAL 15G ORIG RUM & WINE","id":"a6w8E000000966vQAA","sku":"10065881","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":15.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"PORT ROYAL 15G ORIG RUM & WINE","price":28.79}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000966vQAA","ccrz__SKU__c":"10065881"}}},{"s":74,"v":{"sfid":"a5w8E000000LFZmQAO","sfdcName":"00068633","cart":"a5x8E000000ICRBQA4","quantity":0,"price":28.79,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":202,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZmQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":75,"v":{"sfid":"a6w8E000000966cQAA","sfdcName":"PORT ROYAL 15G HIGHLAND WHISKY","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797283861","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075079687","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":23},"shortDesc":"PORT ROYAL 15G HIGHLAND WHISKY","id":"a6w8E000000966cQAA","sku":"10041618","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":3.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"PORT ROYAL 15G HIGHLAND WHISKY","price":28.79}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000966cQAA","ccrz__SKU__c":"10041618"}}},{"s":76,"v":{"sfid":"a5w8E000000LFZlQAO","sfdcName":"00068632","cart":"a5x8E000000ICRBQA4","quantity":0,"price":41.92,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":199,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":1.30,"b2BCCAvgSales13Weeks":2.30,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZlQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":77,"v":{"sfid":"a6w8E00000096BgQAI","sfdcName":"HOLIDAY 25G BRIGHT BLUE","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797281669","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075025968","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":38},"shortDesc":"HOLIDAY 25G BRIGHT BLUE","id":"a6w8E00000096BgQAI","sku":"10088017","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":25.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"HOLIDAY 25G BRIGHT BLUE","price":41.92}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096BgQAI","ccrz__SKU__c":"10088017"}}},{"s":78,"v":{"sfid":"a5w8E000000LFZkQAO","sfdcName":"00068631","cart":"a5x8E000000ICRBQA4","quantity":0,"price":26.51,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":195,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.00,"b2BCCAvgSales13Weeks":0.00,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZkQAO","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":79,"v":{"sfid":"a6w8E00000096BhQAI","sfdcName":"CAPSTAN 15G MAKERS BLEND","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797285476","b2BCCProductCategory":"RYO","b2BCCSTMCode":"000000000075087239","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":41},"shortDesc":"CAPSTAN 15G MAKERS BLEND","id":"a6w8E00000096BhQAI","sku":"10088018","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":15.000000,"UnitOfMeasure":"PA","showSubscriptionSelection":false,"name":"CAPSTAN 15G MAKERS BLEND","price":26.51}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096BhQAI","ccrz__SKU__c":"10088018"}}},{"s":80,"v":{"sfid":"a5w8E000000LFZFQA4","sfdcName":"00068600","cart":"a5x8E000000ICRBQA4","quantity":0,"price":188.56,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":12,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":2.50,"b2BCCAvgSales8Weeks":4.10,"b2BCCAvgSales13Weeks":4.20,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZFQA4","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":81,"v":{"sfid":"a6w8E000000965pQAA","sfdcName":"B&H 30/120 SMOOTH BLUE","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797285537","b2BCCProductCategory":"TMC","b2BCCSTMCode":"000000000075089380","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":20},"shortDesc":"B&H 30/120 SMOOTH BLUE","id":"a6w8E000000965pQAA","sku":"10086360","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":120.000000,"UnitOfMeasure":"CT","showSubscriptionSelection":false,"name":"B&H 30/120 SMOOTH BLUE","price":188.56}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000965pQAA","ccrz__SKU__c":"10086360"}}},{"s":82,"v":{"sfid":"a5w8E000000LFZEQA4","sfdcName":"00068599","cart":"a5x8E000000ICRBQA4","quantity":0,"price":188.56,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":11,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":3.00,"b2BCCAvgSales8Weeks":4.00,"b2BCCAvgSales13Weeks":4.60,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZEQA4","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":83,"v":{"sfid":"a6w8E00000096BVQAY","sfdcName":"B&H 30/120 CLASSIC RED","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797285520","b2BCCProductCategory":"TMC","b2BCCSTMCode":"000000000075089380","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":35},"shortDesc":"B&H 30/120 CLASSIC RED","id":"a6w8E00000096BVQAY","sku":"10086472","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":120.000000,"UnitOfMeasure":"CT","showSubscriptionSelection":false,"name":"B&H 30/120 CLASSIC RED","price":188.56}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E00000096BVQAY","ccrz__SKU__c":"10086472"}}},{"s":84,"v":{"sfid":"a5w8E000000LFZDQA4","sfdcName":"00068598","cart":"a5x8E000000ICRBQA4","quantity":0,"price":330.53,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":9,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.50,"b2BCCAvgSales8Weeks":0.90,"b2BCCAvgSales13Weeks":0.90,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZDQA4","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":85,"v":{"sfid":"a6w8E0000009632QAA","sfdcName":"B&H 25/200 FINE GREY FF","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797002615","b2BCCProductCategory":"TMC","b2BCCSTMCode":"000000000075001150","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":14},"shortDesc":"B&H 25/200 FINE GREY FF","id":"a6w8E0000009632QAA","sku":"10014887","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":200.000000,"UnitOfMeasure":"CT","showSubscriptionSelection":false,"name":"B&H 25/200 FINE GREY FF","price":330.53}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E0000009632QAA","ccrz__SKU__c":"10014887"}}},{"s":86,"v":{"sfid":"a5w8E000000LFZBQA4","sfdcName":"00068596","cart":"a5x8E000000ICRBQA4","quantity":1,"price":330.53,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":330.53,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":6,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":0.00,"b2BCCAvgSales8Weeks":0.30,"b2BCCAvgSales13Weeks":0.50,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZBQA4","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":87,"v":{"sfid":"a6w8E000000962OQAQ","sfdcName":"B&H 25/200 SMOOTH DRK BLUE FF","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797002516","b2BCCProductCategory":"TMC","b2BCCSTMCode":"000000000075001150","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":5},"shortDesc":"B&H 25/200 SMOOTH DRK BLUE FF","id":"a6w8E000000962OQAQ","sku":"10014748","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":200.000000,"UnitOfMeasure":"CT","showSubscriptionSelection":false,"name":"B&H 25/200 SMOOTH DRK BLUE FF","price":330.53}},"qtyIncrement":1,"SubAmount":330.53,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000962OQAQ","ccrz__SKU__c":"10014748"}}},{"s":88,"v":{"sfid":"a5w8E000000LFZAQA4","sfdcName":"00068595","cart":"a5x8E000000ICRBQA4","quantity":0,"price":330.53,"productType":"Product","storeID":"B2BAUSECOMMERCE","pricingType":"auto","itemTotal":0.00,"cartItemType":"Major","itemStatus":"Available","b2BCCSubAmountDiscount":0.00,"b2BCCIsFeatured":false,"b2BCCIsStrategic":false,"b2BCCSequence":5,"b2BCCPromotionTotal":0.00,"b2BCCPromotionZSC1":0.00,"b2BCCPromotionZSM1":0.00,"b2BCCPromotionZSP1":0.00,"b2BCCPromoCappingOverflowPrice":0.00,"b2BCCPromoCappingOverflowQty":0,"b2BCCAvgSales4Weeks":1.00,"b2BCCAvgSales8Weeks":1.60,"b2BCCAvgSales13Weeks":2.10,"sfdcCurrencyISOCode":"AUD","itemID":"a5w8E000000LFZAQA4","cartId":"a5x8E000000ICRBQA4","showSubProdTerm":false,"mockProduct":{"s":89,"v":{"sfid":"a6w8E000000962YQAQ","sfdcName":"B&H 25/200 CLASSIC RED FF","ownerId":"0058E000007MQgfQAG","storefront":"B2BAUSECOMMERCE","startDate":1577836800000,"endDate":7258032000000,"averageRating":0.00,"taxable":false,"inventoryType":"STANDARD","b2BCCBarcode":"9310797002011","b2BCCProductCategory":"TMC","b2BCCSTMCode":"000000000075001150","sfdcCurrencyISOCode":"GBP","EProductMediasS":{"r":8},"shortDesc":"B&H 25/200 CLASSIC RED FF","id":"a6w8E000000962YQAQ","sku":"10014816","ProductType":"Product","ProductStatus":"Released","qtyPerUnit":200.000000,"UnitOfMeasure":"CT","showSubscriptionSelection":false,"name":"B&H 25/200 CLASSIC RED FF","price":330.53}},"qtyIncrement":1,"SubAmount":0.00,"adjustment":0,"baseDiscount":0,"absoluteDiscount":0,"product":{"Id":"a6w8E000000962YQAQ","ccrz__SKU__c":"10014816"}}}]},"cartItemCount":1}},"inputContext":{"currentCartId":"b86853d1-2929-44bb-84de-826bb350ff59","currentPageName":"ccrz__ProductList","currentPageURL":"https://batuat-batglobalb2b.cs87.force.com/B2BAUSECOMMERCE/ccrz__ProductList?effectiveAccount=0010Y00001cdP0yQAE&refURL=https%3A%2F%2Fbatuat-batglobalb2b.cs87.force.com%2FB2BAustraliaCommunity%2Fs%2F","effAccountId":"0010Y00001cdP0yQAE","portalUserId":"","priceGroupId":"","queryParams":{"s":90,"v":{}},"storefront":"B2BAUSECOMMERCE","userIsoCode":"AUD","userLocale":"en_US"},"messages":{"s":91,"v":[]},"success":true}}]

下面是我上面提到的步驟的 Jmeter 中的代碼

import org.apache.jmeter.threads.JMeterContext.TestLogicalAction;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import groovy.json.JsonSlurper;
import org.json.JSONArray;
import org.json.JSONObject;
import com.eclipsesource.json.*;

String Path = "\\\\fjsvdishares\\85039042\\Documents\\2021\\J-Meter\\data.csv";


try 
    {
                      
           
         String test = org.apache.commons.io.FileUtils.readFileToString(new File(Path));
           
                Map map = new HashMap();

        map.put(vars.get("SKU"),vars.get("quantity"));
             
    
            JSONParser jsonParser = new JSONParser();                 
            JSONArray cartItemsList = null;
            JSONObject cartItemsObj = null;

                    

             String jsonString = vars.get("C_Totalresponse");

         
         JSONObject cartItemsObj = (JSONObject) jsonParser.parse(jsonString);
         SONArray cartItemsList = (JSONArray) cartItemsObj.get("cartItems");
          
          
            Iterator it = map.entrySet().iterator();
            while (it.hasNext() ) {

                Map.Entry pair = (Map.Entry)it.next();
                
                if(cartItemsList.size() > 0 ) {  

                    for(int i = 0; i < cartItemsList.size(); i++){

                        JSONObject object = (JSONObject) cartItemsList.get(i);

                        JSONObject productJsonObj = (JSONObject)object.get("product") ; 
                        
                        

                        if( productJsonObj.get("ccrz__SKU__c").toString() .equals(pair.getKey().toString()) ) {   

                            object.put("quantity" , pair.getValue()); 
                        }

                        
                          
                    }
                }
                    
            }
           
                   
       }

        catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        } catch (ParseException e) {
           e.printStackTrace();
        }

錯誤詳情如下:

2021-03-17 07:42:03,146 錯誤 oajeJSR223PostProcessor:JSR223 腳本中的問題,JSR223 PostProcessor javax.script.ScriptException:源文件:內聯評估: import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.threads. . . '': Typed variable declaration: at Line: 48: in file: inline evaluation of: import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.threads. . . '': Typed variable declaration: at Line: 48: in file: inline evaluation of: import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.threads. . . '': Typed variable declaration: at Line: 48: in file: inline evaluation of: import org.apache.jmeter.samplers.SampleResult; 導入 org.apache.jmeter.threads。 . . '': ( JSONObject ) jsonParser.parse ( jsonString )

Target exception: java.lang.ClassCastException: Cannot cast org.json.simple.JSONArray to org.json.JSONObject in inline evaluation of: ``import org.apache.jmeter.samplers.SampleResult; 導入 org.apache.jmeter.threads。 . . '' 在第 48 行

我認為這條線有問題(至少)

JSONObject cartItemsObj = (JSONObject) jsonParser.parse(jsonString)

我相信您需要將其更改為:

JSONArray cartItemsObj = (JSONArray ) jsonParser.parse(jsonString)

我無法進一步評論您的代碼,因為您的 JSON 無效,而且您要實現的目標不是很清楚。

關於使用 Groovy - 這是您真正應該考慮的事情,因為:

  1. 與 Beanshell 相比,Groovy 具有更好的性能
  2. Groovy 內置 JSON 支持
  3. Groovy 更兼容 Java 並支持所有現代 Java 運行時功能

我嘗試了許多關於 Beanshell 處理器代碼的帖子,以從 haspmap 讀取數據並使用 hashmap 更新 json 請求數組值中的數據。 很多人建議使用 groovy\JSR223 處理器。 以下是 beanshell 中的以下代碼,這將有助於我們未回答其請求\問題的許多用戶。


import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.threads.JMeterContextService;
import org.apache.jmeter.threads.JMeterContext.TestLogicalAction;
import java.io.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;  
import java.util.Map;
import java.util.Scanner;
import java.util.Arrays;
import java.util.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.json.JSONArray;
import org.json.JSONObject;


String Path = "\\\\fjsvdishares\\Documents\\2021\\J-Meter\\data.csv";


try 
    {
                      
         BufferedReader br = new BufferedReader(new FileReader(Path));
               Map map = null;
               Map map = new HashMap(); //Creating hashmap
             String line =  null;
            while((line=br.readLine())!=null){  //writing data into hashmap from csv file
        
               StringTokenizer st = new StringTokenizer(line, ","); 
               
                       while ( st.hasMoreElements() ){
                        
                          String key = st.nextToken();
                            String value = st.nextToken();
                            map.put(key,value);
                       
                         }
  
                    } 
          
        
         
           String jsonString = vars.get("C_cartItems"); //reading json request into string          
         
           
               //code to fetch skus in request and update the quanity for the select sku 
          
        JSONArray jsonArray=new JSONArray(jsonString); 
        
            Iterator it = map.entrySet().iterator();
            int count =0;
            while (it.hasNext() ) {
                //Getting the first pair values from map object
                Map.Entry pair = (Map.Entry)it.next();

                if(jsonArray.length() > 0 ) {
                    //Iterating through the cartitem list
                    for(int i = 0; i < jsonArray.length(); i++){
                        //Getting the first cartlist item
                        JSONObject object = (JSONObject) jsonArray.getJSONObject(i);
                    JSONObject insideVObject = (JSONObject)object.getJSONObject("v") ;
                        JSONObject productJsonObj = (JSONObject)insideVObject.getJSONObject("product") ;

                                                    
                        
                       //Checking the Sku value from cartitem and map
                        if( productJsonObj.get("ccrz__SKU__c").equals(pair.getKey()) ) {      
                            //updating the quantity value with new value
                            object.put("quantity" , pair.getValue()); 
                            count++;
                        }
                          
                    }
                }
                    
                
            }   

           // log.info(count + " ...items updated");
           // log.info(" resultJson   ...." +jsonArray);
          
                   
       }

        catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        } catch (ParseException e) {
           e.printStackTrace();
        }
            
       
 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM