Пытаюсь написать параметризированный тест, где отправляется 5 запросов и для каждого запроса должна проходить проверка на соответствие ожидаемым параметрам (ожидаемые параметры разные для каждого запроса
НАписала код, но если в переменную expected_response_text указать значение UA, не работает. проверки не падают, только если прописать вручную ор. В общем,ай нид хелп :(
import pytest
import requests
class TestTask3:
UA = [
(
"Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"Mobile",
"No",
"Android"
),
(
"Mozilla/5.0 (iPad; CPU OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/91.0.4472.77 Mobile/15E148 Safari/604.1",
"Mobile",
"Chrome",
"iOS"
),
(
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
"Googlebot",
"Unknown",
"Unknown"
),
(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.100.0",
"Web",
"Chrome",
"No"
),
(
"Mozilla/5.0 (iPad; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",
"Mobile",
"No",
"iPhone"
)
]
answer = [{'platform':'Mobile', 'browser':'No', 'device':'Android'}]
bad_value = "Unknown"
@pytest.mark.parametrize('agent, platform, browser, device', UA)
def test_get_user_agent(self, agent, platform, browser, device):
url = "https://playground.learnqa.ru/ajax/api/user_agent_check"
UA = {"user-agent": agent}
response = requests.get(url, headers=UA)
parsed_response = response.json()
expected_response_text=[]
for i in UA:
expected_response_text.append(i)
expected_response_text = {'user_agent': 'Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30','platform': 'Mobile', 'browser': 'No', 'device': 'Android'}
actual_response_text = parsed_response
assert actual_response_text == expected_response_text, "{agent} contains {answer} parameter with {bad_value} value"