CS
Size: a a a
CS
OC
create_test_cases = {
'name1':{
'link':"",
"description":"",
'in':{
"channel": 'acquiring',
"isNew": True,
"name": 's',
"policy": 'Default'
},
'expected':{
'code': expected_status_code,
'type': expected_response_type,
'structure': expected_structure,
'types': expected_types,
'values':{
"channel":"acquiring",
"comment":"",
"createdAt":None,
"createdBy":"apogee",
"id":None,
"name":"s",
"policy":"Default",
"updatedAt":None,
"updatedBy":"apogee",
"version":1
}
}
}
}
И есть тестовая логика:@pytest.mark.parametrize("data", create_test_cases.keys())
class TestCreateSubchannel():
@allure.title("{data}")
def test_create_subchannel(self, data):
expected = create_test_cases[data]['expected']
with allure.step('Send create request to the API'):
status_code, data = self.api.subchannels.create(
create_test_cases[data]['in'])
if 'code' in expected:
self.checker.status_code(status_code, expected['code'])
if 'type' in expected:
self.checker.is_instance(data, expected['type'])
if 'structure' in expected:
self.checker.structure(data, expected['structure'])
if 'types' in expected:
self.checker.types(data, expected['types'])
if 'values' in expected:
self.checker.values(data, expected['values'])
Цель: убрать вот эту копипасту-хвост в конце и сделать нормальные проверки.@allure.title("{data}")
def test_create_subchannel(self, data):
expected = create_test_cases[data]['expected']
with allure.step('Send create request to the API'):
status_code, data = self.api.subchannels.create(
create_test_cases[data]['in'])
check(status_code, data, expected)
где check - содержит в себе все необходимые проверки. При этом в тест-кейсах иногда передаётся не data, а data[0] (ибо список)OC
EB
OC
EB
EB
OC
KM
ТЭ
ТЭ
ТЭ
ТЭ
KM
def chrome(self):
driver = self.driver
options = driver.ChromeOptions()
options.add_argument("--window-size=1920,1080")
options.add_argument("--mute-audio")
capabilities = {
"browserName": "chrome",
"version": "83.0",
"enableVNC": True,
"enableVideo": False
}
chrome = self.driver.Remote(command_executor='http://localhost:4444/wd/hub',
options=options,
desired_capabilities=capabilities)
return chrome
b
b
IS
create_test_cases = {
'name1':{
'link':"",
"description":"",
'in':{
"channel": 'acquiring',
"isNew": True,
"name": 's',
"policy": 'Default'
},
'expected':{
'code': expected_status_code,
'type': expected_response_type,
'structure': expected_structure,
'types': expected_types,
'values':{
"channel":"acquiring",
"comment":"",
"createdAt":None,
"createdBy":"apogee",
"id":None,
"name":"s",
"policy":"Default",
"updatedAt":None,
"updatedBy":"apogee",
"version":1
}
}
}
}
И есть тестовая логика:@pytest.mark.parametrize("data", create_test_cases.keys())
class TestCreateSubchannel():
@allure.title("{data}")
def test_create_subchannel(self, data):
expected = create_test_cases[data]['expected']
with allure.step('Send create request to the API'):
status_code, data = self.api.subchannels.create(
create_test_cases[data]['in'])
if 'code' in expected:
self.checker.status_code(status_code, expected['code'])
if 'type' in expected:
self.checker.is_instance(data, expected['type'])
if 'structure' in expected:
self.checker.structure(data, expected['structure'])
if 'types' in expected:
self.checker.types(data, expected['types'])
if 'values' in expected:
self.checker.values(data, expected['values'])
Цель: убрать вот эту копипасту-хвост в конце и сделать нормальные проверки.@allure.title("{data}")
def test_create_subchannel(self, data):
expected = create_test_cases[data]['expected']
with allure.step('Send create request to the API'):
status_code, data = self.api.subchannels.create(
create_test_cases[data]['in'])
check(status_code, data, expected)
где check - содержит в себе все необходимые проверки. При этом в тест-кейсах иногда передаётся не data, а data[0] (ибо список)def check(obj):
if isinstance(obj, dict):
blabla
if isinstance(obj, list):
blabla
ТЭ
def chrome(self):
driver = self.driver
options = driver.ChromeOptions()
options.add_argument("--window-size=1920,1080")
options.add_argument("--mute-audio")
capabilities = {
"browserName": "chrome",
"version": "83.0",
"enableVNC": True,
"enableVideo": False
}
chrome = self.driver.Remote(command_executor='http://localhost:4444/wd/hub',
options=options,
desired_capabilities=capabilities)
return chrome
ТЭ