From 62d46115b6452c244b822a496b15aeb386aa0cf3 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Tue, 17 May 2022 20:45:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DJSON=20SCHEMA=E6=A0=BC=E5=BC=8F=E6=95=B0?= =?UTF-8?q?=E7=BB=84number=E7=B1=BB=E5=9E=8B=E8=A7=A3=E6=9E=90=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1013236 --user=赵勇 [接口测试]github #13646接口或者场景中请求体JSONSchema中的root采用array类型发起的请求参数有误 https://www.tapd.cn/55049933/s/1159507 --- .../io/metersphere/commons/json/JSONSchemaRunTest.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/metersphere/commons/json/JSONSchemaRunTest.java b/backend/src/main/java/io/metersphere/commons/json/JSONSchemaRunTest.java index cdf44c6461..8c8afe682c 100644 --- a/backend/src/main/java/io/metersphere/commons/json/JSONSchemaRunTest.java +++ b/backend/src/main/java/io/metersphere/commons/json/JSONSchemaRunTest.java @@ -145,8 +145,13 @@ public class JSONSchemaRunTest { int value = itemsObject.get(BasicConstant.MOCK).getAsJsonObject().get(BasicConstant.MOCK).getAsInt(); array.add(value); } else if (StringUtils.equalsIgnoreCase(type, BasicConstant.NUMBER)) { - Number value = itemsObject.get(BasicConstant.MOCK).getAsJsonObject().get(BasicConstant.MOCK).getAsNumber(); - array.add(value); + JsonElement valueObj = itemsObject.get(BasicConstant.MOCK).getAsJsonObject().get(BasicConstant.MOCK); + Number value = valueObj.getAsNumber(); + if (StringUtils.isNotEmpty(valueObj.getAsString()) && valueObj.getAsString().indexOf(".") != -1) { + array.add(value.floatValue()); + } else { + array.add(value.longValue()); + } } } catch (Exception e) { String value = ScriptEngineUtils.buildFunctionCallString(itemsObject.get(BasicConstant.MOCK).getAsJsonObject().get(BasicConstant.MOCK).getAsString());