testRigor中JavaScript代码块调用可重用规则的方法及执行阻塞问题咨询
testRigor中JavaScript代码块调用可重用规则的方法及执行阻塞问题咨询
我目前在testRigor里尝试实现一个需求——在JavaScript代码块中调用可重用规则,但遇到了棘手的问题:代码执行后服务器直接陷入阻塞状态,就算我取消测试运行,程序也没法正常结束执行。
我最初尝试的代码如下(放在execute JavaScript text starting from next line and ending with [END]和[END]之间执行):
var tenantName = "Ford CSP"; testRigor.execute('map tenant name "' + tenantName + '" to vinDecoder domain');
我的核心需求就是在JavaScript代码块中调用可重用规则,下面是我未编辑的完整可重用规则代码(同样放在execute JavaScript text starting from next line and ending with [END]和[END]之间):
var vinSeed = testRigor.getStoredValue('vinSeed'); var tenantName = testRigor.getStoredValue('tenantName'); await testRigor.execute('map tenant name "' + tenantName + '" to vinDecoder domain'); var vinDecoderDomain = testRigor.getStoredValue('vinDecoderDomain'); var i = 0; var newModifiedVin = ''; var vinDecoderResponse = ''; var modelReturnedByVinDecoder = ''; var customerOriginValueFromRequestSession = ''; var mileageValueFromRequestSession = ''; while(i < 10){ testRigor.execute('modify VIN "' + vinSeed + '" and return modified VIN as variable "newModifiedVin"'); newModifiedVin = testRigor.getStoredValue('newModifiedVin'); testRigor.execute('validate vin "' + newModifiedVin + '" for vin type "'+ vinDecoderDomain +'" on vin decoder'); vinDecoderResponse = testRigor.getStoredValue("vinDecoderResponse"); testRigor.execute('parse Json string "' + vinDecoderResponse + '" with the JsonPath "$.data.model" and save the result as "modelReturnedByVinDecoder"'); modelReturnedByVinDecoder = testRigor.getStoredValue('modelReturnedByVinDecoder'); if(modelReturnedByVinDecoder !== 'null'){ testRigor.execute('request session endpoint call by request type "vin" with request data "'+ newModifiedVin +'" for tenant "'+ tenantName +'"'); testRigor.execute('parse Json string "' + requestSessionResponse + '" with the JsonPath "$.data.customerOrigin" and save the result as "customerOriginValueFromRequestSession"'); testRigor.execute('parse Json string "' + requestSessionResponse + '" with the JsonPath "$.data.vehicleInformation.mileage" and save the result as "mileageValueFromRequestSession"'); customerOriginValueFromRequestSession = testRigor.getStoredValue("customerOriginValueFromRequestSession"); mileageValueFromRequestSession = testRigor.getStoredValue("mileageValueFromRequestSession"); if(customerOriginValueFromRequestSession === "Unknown" && mileageValueFromRequestSession === "0"){ testRigor.putStoredValue('vin', newModifiedVin); break; } } vinSeed = newModifiedVin; i++; }
备注:内容来源于stack exchange,提问作者Diosymar Gonzalez
相关产品推荐
相关产品推荐

