При сравнении файла JSON с ответом JSON появляется всплывающее окно с исключением - PullRequest
0 голосов
/ 29 мая 2018

Я сравниваю ответ JSON и файл JSON в SOAPUI (версия - 4.6.4, бесплатная). Groovy-скрипт:

import groovy.json.JsonSlurper
import java.io.File

def ResponseMessage = testRunner.testCase.testSteps["Fi - Request 1"].testRequest.response.contentAsString

def jsonResp = new JsonSlurper().parseText(ResponseMessage)

def jsonFile = new File("C:/Users/new_2.json")
def InputJSON = new JsonSlurper().parseFile(jsonFile, 'UTF-8')

assert jsonResp.equals(InputJSON)

Но каждый раз, когда он запускается, всплывающее окно исключения выдается как:

groovy.lang.MissingMethodException: Нет сигнатуры метода: groovy.json.JsonSlurper.parseFile () применим для типов аргументов: (java.io.File, java.lang.String) значения: [C: \ Users \ new_2.json, UTF-8] Возможные решения: ошибка parseText (java.lang.String) в строке: 12

Это также не работает для parseText.Рассматривайте это как сценарий для начинающих.

Теперь я сталкиваюсь с совершенно новой ошибкой -

groovy.json.JsonException: не удалось выполнить лексирование в строке: 1, столбце: 1 во время чтения '', возможное допустимое значение JSON или пунктуация не могут быть распознаны. Ошибка в строке: 9

Строка 1 содержимого файла JSON: {

"Metadata": {
    "DocType": "Report",
    "SubType": "",
    "Content": {
        "Title": "Economic Comment",
        "Headline": "",
        "Summary": "",
        "Blurb": ""

    },
    "Priority": "1",
    "DocumentIDs": {
        "DocumentID": {
            "label": "",
            "type": "",
            "level": "",
            "value": ""
        }
    },

Примечание: это содержимое неполное,Я не могу вставить полный JSON сюда из соображений безопасности

1 Ответ

0 голосов
/ 30 мая 2018

В сообщении об ошибке четко указываются альтернативы.

Измените нижеприведенную инструкцию:

def InputJSON = new JsonSlurper().parseFile(jsonFile, 'UTF-8')

Кому:

def InputJSON = new JsonSlurper().parse(jsonFile, 'UTF-8')

См. API JsonSlurper из документации

...