Как мы можем передать список JSON объекта в виде JSON строки в файле BDD объектов в Java - PullRequest
0 голосов
/ 07 февраля 2020

Ниже приведен мой файл функций.

Сценарий 1 : получение всех AppsCount

Когда мы запрашиваем все приложения, мы получаем 4 приложения и список приложений отправляется json форма:

"[
  { '_id' : 'app1', 'Name' : 'App 1', 'Type' : 1, 'Rules' : [ { '_id' : 'Rule1', 'FilterCriteria' : 8 }, { '_id' : 'Rule2', 'FilterCriteria' : 4 } ], 'Email' : 'test@dell.com', 'IsSlackEnabled' : false, 'IsEmailEnabled' : true, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : false, 'IsNonProdEnabled' : false, 'CreatedBy' : 'test@dell.com' },
  { '_id' : 'app2', 'Name' : 'App 2', 'Type' : 2, 'Rules' : [ { '_id' : 'Rule3', 'FilterCriteria' : 8 } ], 'Email' : 'test1@dell.com', 'IsSlackEnabled' : true, 'SlackChannel' : 'testChannel', 'IsEmailEnabled' : false, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : true, 'IsNonProdEnabled' : false, 'CreatedBy' : 'test1@dell.com' },
  { '_id' : 'app3', 'Name' : 'App 3', 'Type' : 3, 'Rules' : [ { '_id' : 'Rule4', 'FilterCriteria' : 7 } ], 'Email' : 'test3@dell.com', 'IsSlackEnabled' : true, 'IsEmailEnabled' : false, 'SlackChannel' : 'testChannel2', 'IsSMSEnabled' : true, 'IsPhoneEnabled' : false, 'IsNonProdEnabled' : false, 'CreatedBy' : 'test3@dell.com' },
  { '_id' : 'app4', 'Name' : 'App 4', 'Type' : 1, 'Rules' : [], 'Email' : 'test4@dell.com', 'IsSlackEnabled' : false, 'IsEmailEnabled' : false, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : true, 'IsNonProdEnabled' : false, 'CreatedBy' : 'test4@dell.com' }
]"

Но это создает проблему, так как нам нужны двойные кавычки при написании json строки

Так что я попробовал следующий файл возможностей.

Сценарий 2 : получение всех AppsCount

Когда мы запрашиваем все приложения, мы получаем 4 приложения, и список приложений отправляется json форма:

"[
  { "_id" : "app1", "Name" : "App 1", "Type" : 1, "Rules" : [{ "_id" : "Rule1", "FilterCriteria" : 8 }, { "_id" : "Rule2", "FilterCriteria" : 4 } ], "Email" : "test@dell.com", "IsSlackEnabled" : false, "IsEmailEnabled" : true, "IsSMSEnabled" : false, "IsPhoneEnabled" : false, "IsNonProdEnabled" : false, "CreatedBy" : "test@dell.com" },
  { "_id" : "app2", "Name" : "App 2", "Type" : 2, "Rules" : [ { "_id" : "Rule3", "FilterCriteria" : 8 } ], "Email" : "test1@dell.com", "IsSlackEnabled" : true, "SlackChannel" : "testChannel", "IsEmailEnabled" : false, "IsSMSEnabled" : false, "IsPhoneEnabled" : true, "IsNonProdEnabled" : false, "CreatedBy" : "test1@dell.com" },
  { "_id" : "app3", "Name" : "App 3", "Type" : 3, "Rules" : [ { "_id" : "Rule4", "FilterCriteria" : 7 } ], "Email" : "test3@dell.com", "IsSlackEnabled" : true, "IsEmailEnabled" : false, "SlackChannel" : "testChannel2", "IsSMSEnabled" : true, "IsPhoneEnabled" : false, "IsNonProdEnabled" : false, "CreatedBy" : "test3@dell.com" },
  { "_id" : "app4", "Name" : "App 4", "Type" : 1, "Rules" : [], "Email" : "test4@dell.com", "IsSlackEnabled" : false, "IsEmailEnabled" : false, "IsSMSEnabled" : false, "IsPhoneEnabled" : true, "IsNonProdEnabled" : false, "CreatedBy" : "test4@dell.com" }
] "

Но при создании определения шага оно выходит со значением каждого поля в качестве собственного аргумента.

Мне известно о решении

| field1 | field2 | 
| value1 | value2 |

, но мои данные слишком велик для этого и задавался вопросом, есть ли способ передать JSON строку напрямую.

1 Ответ

0 голосов
/ 07 февраля 2020

Создать текст файла. json ..и поместить json ввод в файл .. поместить этот файл в путь к классу ..

В файле возможностей поместить имя файла в этом случае текст . json ..

в файле класса stepdef прочитайте имя файла .... найдите этот файл в пути к классу ..

загрузите этот файл с помощью clasloader и используйте objectmapper для сопоставления этого json.

...