Я пытаюсь проверить две пары ключ-значение ответа JSON API для одних и тех же значений ключа и выдает ошибку, если в ответе JSON есть несоответствие.
Например: 1. www.oldurl.com дает=>
{ "firstName":"alex", "age":31, "dob":"10-12-1988" }
2. www.newurl.com gives =>
{ "firstName":"**alx**", "**ag**":31, "dob":"10-12-1988" }
Здесь oldurl и newurl дают одинаковый ответ JSON, но в newurl мы видим ошибку в ключе и значениях.
Теперь мне нужно отловить эту ошибку и показать пользователю, что в newurl.com существует несоответствие с именем и возрастом ключа.
Код Python:
import unittest
import requests, json,settings
from requests.auth import HTTPBasicAuth
from jsonschema import validate
class TestOne(unittest.TestCase):
def setUp(self):
def test_oldurl(self):
resp=requests.get('www.oldurl.com',auth=HTTPBasicAuth(settings.USER_NAME,settings.PASSWORD))
data = resp.text
print (data) #Prints json
def test_newurl(self):
resp=requests.get('www.newurl.com',auth=HTTPBasicAuth(settings.USER_NAME,settings.PASSWORD))
data = resp.text
print (data) #Prints json
теперь я получил два JSON-ответа. Как я могу проверить эти два ответа?Существуют ли библиотеки Python, которые могут проверять и отображать любые ошибки в ключах и значениях.
примечание: оба ответа JSON должны быть одинаковыми. Я делаю это как часть проверки, чтобы избежать ошибок в будущем ответе.
Я также использовал схему только для одной проверки ключа ответов JSON.used:
def setUp(self):
with open('Blueprint_schema.json', 'r') as f:
self.schema = f.read()
self.file = f
validate(json.loads(data), json.loads(self.schema))
self.assertNotEqual(data,'[]')
, но это помогает только для одного ключа ответа JSON.Итак, мне нужно сравнить два ответа JSON API при выполнении или сохранении его в двух файлах, его открытии и проверке.Я думал, что эти файлы проверяются, но это будет больше кодирования, поэтому подумал об уменьшении длины кода путем проверки самой среды выполнения.
Пожалуйста, предложите свои идеи.