This commit is contained in:
jing song 2021-12-22 16:53:11 +08:00
parent 59c3e12362
commit 24f23b7804
27 changed files with 385 additions and 155 deletions

View File

@ -82,8 +82,9 @@ class apiSend(object):
allure.attach(name="请求地址", body=url)
allure.attach(name="请求头", body=str(header))
allure.attach(name="请求参数", body=str(data_random))
response = requests.post(url=url, json=json.loads(data_random), headers=header, timeout=timeout)
if data_random:
data_random = json.loads(data_random)
response = requests.post(url=url, json=data_random, headers=header, timeout=timeout)
else:
with allure.step("POST请求接口"):
allure.attach(name="请求地址", body=url)
@ -167,7 +168,9 @@ class apiSend(object):
allure.attach(name="请求地址", body=url)
allure.attach(name="请求头", body=str(header))
allure.attach(name="请求参数", body=str(data_random))
response = requests.put(url=url, json=json.loads(data_random), headers=header, timeout=timeout, files=files)
if data_random:
data_random = json.loads(data_random)
response = requests.put(url=url, json=data_random, headers=header, timeout=timeout, files=files)
else:
with allure.step("PUT请求接口"):
allure.attach(name="请求地址", body=url)

View File

@ -13,61 +13,6 @@ from scripts.readYamlFile import ini_yaml
Log()
def assert_json(data, key=None, value=None, asserttype="KEY"):
"""
json返回值断言
:param data: 返回数据
:param key:
:param value:
:param asserttype: "KEY" OR "VALUE" OR "KEY-VALUE"
:return:
"""
if asserttype == "KEY":
try:
assert data.get(key) is not None
with allure.step("判断JSON返回值KEY是否存在"):
allure.attach(name="期望存在KEY", body=str(key))
allure.attach(name='实际data', body=str(data))
logging.info(
"断言通过, 存在key'{}', value为'{}'.".format(key, data.get(key)))
except Exception:
logging.error("断言未通过, 不存在key:'{}'.".format(key))
raise
elif asserttype == "VALUE":
try:
rs_values = list(data.values())
with allure.step("判断JSON返回值VALUE是否存在"):
allure.attach(name="期望VALUE", body=str(value))
allure.attach(name='实际VALUE', body=str(rs_values))
assert value in rs_values
logging.info("断言通过, 存在value为'{}', key为'{}'.".format(value, list(data.keys())[
list(data.values()).index(value)]))
except AssertionError:
logging.error(
"断言未通过, 不存在类型为'{}'的value:''{}''.".format(type(value), value))
raise
elif asserttype == "KEY-VALUE":
try:
with allure.step("判断JSON返回值是否存在KEY-VALUE"):
allure.attach(name="期望KEY-VALUE", body=str({key: value}))
allure.attach(name='实际KEY-VALUE', body=str(data))
if key in data:
assert value == data[key]
else:
logging.error("断言未通过, 不存在key:'{}'.".format(key))
raise AssertionError
logging.info("断言通过, 存在键值对key为'{}',value为'{}'.".format(list(data.keys())[
list(data.values()).index(value)], value))
except AssertionError:
logging.error(
"断言未通过, 不存在key为'{}',类型为'{}'的value:''{}''.".format(key, type(value), value))
raise
else:
logging.error("断言类型错误, 请选择断言类型.")
def assert_text(hope_res, real_res, third_data=None, third_datas=None):
"""
文本判断

View File

@ -186,6 +186,12 @@ def get_time(time_type, layout, unit="0,0,0,0,0"):
def replace_random(value, res=None, param=None):
"""
调用定义方法替换字符串
int_num = "$RandomPosInt(1,333)$"
str_num = '$RandomString($RandomPosInt(2,23)$)$$RandomPosInt(1,333)$'
float_num = '$RandomFloat($RandomPosInt(2,13)$,$RandomPosInt(2,13)$,$RandomPosInt(2,13)$)$'
time_num = '$GetTime(time_type=else,layout=%Y-%m-%d %H:%M:%S,unit=0,0,0,0,0)$'
choice_num = '$Choice($RandomPosInt(2,13)$)$'
json_value = '$json($.data[-$RandomPosInt(1,5)$:])$'
urls = "$url(home_id)$"
ca = "$caches(haha)$"
print(replace_random(urls,param={"home_id":"$caches(haha)$"}))
@ -290,66 +296,52 @@ if __name__ == '__main__':
time_num = '$GetTime(time_type=else,layout=%Y-%m-%d %H:%M:%S,unit=0,0,0,0,0)$'
choice_num = '$Choice($RandomPosInt(2,13)$)$'
'$json($.data[-$RandomPosInt(1,5)$:])$'
# jsons = """
# select count(*) '$json($.data[-$RandomPosInt(1,5)$:])$'
# $RandomString($RandomPosInt(2,23)$)$
# ) as ad
# """
# js = """
# select count(*) '$GetTime(time_type=past,layout=%Y-%m-%d,unit=0,0,0,1,0)$' from (
# select
# dr.qr_code,
# alarm.device_id,
# alarm.grade,
# alarm.create_time,
# alarm.handler_status,
# alarm.work_order
#
# from alarm
# inner join (
# select device.id,
# device.qr_code,
# device.region_id,
# region.enterprise_id,
# device.status,
# device.category_id
# from device
# inner join region
# on device.region_id = region.id
# and region.enterprise_id = 88
# ) as dr
# on dr.qr_code = alarm.device_id and alarm.create_time >= '$GetTime(time_type=past,layout=%Y-%m-%d 00:00:00,unit=0,0,0,1,0)$' and alarm.create_time < '$GetTime(time_type=past,layout=%Y-%m-%d 00:00:00,unit=0,0,0,0,0)$'
# ) as ad
# """
jsons = """
select count(*) '$json($.data[-$RandomPosInt(1,5)$:])$'
$RandomString($RandomPosInt(2,23)$)$
) as ad
"""
js = """
select count(*) '$json($.data[-$RandomPosInt(1,5)$:])$' from (
select
dr.qr_code,
alarm.device_id,
alarm.grade,
alarm.create_time,
alarm.handler_status,
alarm.work_order
from alarm
inner join (
select device.id,
device.qr_code,
device.region_id,
region.enterprise_id,
device.status,
device.category_id
from device
inner join region
on device.region_id = region.id
and region.enterprise_id = 88
) as dr
on dr.qr_code = alarm.device_id and alarm.create_time >= '$GetTime(time_type=past,layout=%Y-%m-%d 00:00:00,unit=0,0,0,1,0)$' and alarm.create_time < '$GetTime(time_type=past,layout=%Y-%m-%d 00:00:00,unit=0,0,0,0,0)$'
) as ad
"""
# a = json.dumps(ini_yaml("homePageData.yml")["companyAlarm"])
# print(type(ini_yaml("家庭详情.yml")[0]["data"]))
# print(replace_random(int_num))
# print(replace_random(str_num))
# print(replace_random(float_num))
# print(replace_random(time_num))
# res1 = {'code': 0, 'msg': 'ok',
# 'data': [{'time': '2021-08-18', 'number': None}, {'time': '2021-08-19', 'number': None},
# {'time': '2021-08-20', 'number': 1}, {'time': '2021-08-21', 'number': None},
# {'time': '2021-08-22', 'number': None}, {'time': '2021-08-23', 'number': 9},
# {'time': '2021-08-24', 'number': 7}, {'time': '2021-08-25', 'number': 11},
# {'time': '2021-08-26', 'number': 2}, {'time': '2021-08-27', 'number': 1},
# {'time': '2021-08-28', 'number': None}, {'time': '2021-08-29', 'number': None},
# {'time': '2021-08-30', 'number': None}, {'time': '2021-08-31', 'number': 1},
# {'time': '2021-09-01', 'number': 2}, {'time': '2021-09-02', 'number': 4},
# {'time': '2021-09-03', 'number': 3}, {'time': '2021-09-04', 'number': 3},
# {'time': '2021-09-05', 'number': 1}, {'time': '2021-09-06', 'number': 7},
# {'time': '2021-09-07', 'number': 13}, {'time': '2021-09-08', 'number': 23},
# {'time': '2021-09-09', 'number': 21}, {'time': '2021-09-10', 'number': 11},
# {'time': '2021-09-11', 'number': 7}, {'time': '2021-09-12', 'number': 4},
# {'time': '2021-09-13', 'number': 22}, {'time': '2021-09-14', 'number': 19},
# {'time': '2021-09-15', 'number': 38}, {'time': '2021-09-16', 'number': 39}]}
# print(replace_random(js, res=res1))
res1 = {'code': 0, 'msg': 'ok',
'data': [{'time': '2021-08-18', 'number': None}, {'time': '2021-08-19', 'number': None},
{'time': '2021-08-20', 'number': 1}, {'time': '2021-08-21', 'number': None},
{'time': '2021-08-22', 'number': None}, {'time': '2021-08-23', 'number': 9}]}
print(replace_random(js, res=res1))
t = "$GetTime(time_type=past,layout=13timestampDAY,unit=0,0,0,1,4)$"
# print(replace_random(choice_num))
urls = "$url(home_id)$"
ca = "$caches(haha)$"
print(replace_random(urls,param={"home_id":"$caches(haha)$"}))
print(replace_random(ca))
# print(replace_random(urls,param={"home_id":"$caches(haha)$"}))
# print(replace_random(ca))
# pattern = re.compile(r'\$json\(' + '$.data.alarm[1].number'.replace('$',"\$").replace('[','\[') + r'\)\$')
# # key = str(sql_json(i))
# key = "123"

View File

@ -22,10 +22,11 @@ def ini_yaml(filename, path=datapath):
if __name__ == '__main__':
print(datapath)
# get_yaml_data(r"F:\api2.0\config\runConfig.yml")
runConfig_dict = ini_yaml(r'tmUrlData.yml',path= r"D:\apitest\test_suite\datas\troubleManage")
# case_level = runConfig_dict[0]["address"].format(**{"home_id": "123"})
print(runConfig_dict)
# runConfig_dict = ini_yaml(r'tmUrlData.yml',path= r"D:\apitest\test_suite\datas\troubleManage")
# # case_level = runConfig_dict[0]["address"].format(**{"home_id": "123"})
# print(runConfig_dict)
# print(case_level)

View File

@ -1,5 +1,6 @@
# coding:utf-8
import os
import time
from config.confManage import dir_manage
from scripts.log import Log
@ -18,10 +19,12 @@ def getFilePathList(path, filetype):
return pathList
def write_case(_file,pagename):
path = dir_manage(dir_manage('${pro_dir}$') + dir_manage('${test_suite}$') + dir_manage('${page_dir}$'))
with open(path + r"{}".format(pagename), 'w+', encoding='utf-8') as f:
f.write("""# coding:utf-8\nfrom test_suite.page import *\n\nurlData = ini_yaml("{}")\n\n""".format(_file))
def write_pages(_file,pagename):
t1 = time.time()
path = dir_manage('${pro_dir}$') + dir_manage('${test_suite}$') + dir_manage('${page_dir}$') + dir_manage('${test_name}$')
print(path)
with open(path +"/" +r"{}".format(pagename), 'w+', encoding='utf-8') as f:
f.write("""# coding:utf-8\nfrom test_suite.page.{} import *\n\nurlData = ini_yaml("{}")\n\n""".format(dir_manage('${test_name}$'),_file))
yml_data = ini_yaml(_file)
for item in yml_data.items():
@ -48,11 +51,23 @@ def {testtitle}(casedata):""".format(testtitle=item[0]))
"""
return res, restime\n\n"""
)
t2 = time.time() - t1
print(t2)
# def write_case(f):
#
if __name__ == '__main__':
# ym_path = r'thirdUrl.yml'
# pagenames = "third_pages_1.py"
ym_path = r'urlData.yml'
pagenames = "saasApp_pages_1.py"
write_case(ym_path,pagenames)
# write_case(ym_path,pagenames)
# ym_path = r'urlData.yml'
# pagenames = "saasWeb_pages_1.py"
write_pages(ym_path,pagenames)

View File

@ -30,7 +30,7 @@ def run():
# 执行命令行
args = ['-s', '-q', test_case_path, '--alluredir', temp_path]
# args = ['-s', '-q', test_case_path,]
pytest.main(args)
# pytest.main(args)
cmd = 'allure generate %s -o %s -c' % (temp_path, html_path)
os.system(cmd)

View File

@ -1,24 +1 @@
# coding:utf-8
import logging
import allure
import pytest
from common.checkResult import asserting,assert_json
from scripts.log import Log
from scripts.readYamlFile import ini_yaml
from common.basePage import apisend
from test_suite.page import saasApp_pages
Log()
__all__ = [
'pytest',
'asserting',
'Log',
'ini_yaml',
'logging',
'allure',
'apisend',
'saasApp_pages',
'assert_json'
]

View File

@ -0,0 +1,30 @@
# coding:utf-8
"""
@author: 井松
@contact: 529548204@qq.com
@file: __init__.py.py
@time: 2021/12/3 13:51
"""
import logging
import allure
import pytest
from common.checkResult import asserting
from scripts.log import Log
from scripts.readYamlFile import ini_yaml
from common.basePage import apisend
from test_suite.page.saasApp import saasApp_pages
Log()
__all__ = [
'pytest',
'asserting',
'Log',
'ini_yaml',
'logging',
'allure',
'apisend',
'saasApp_pages',
]

View File

@ -1,5 +1,5 @@
# coding:utf-8
from test_suite.page import *
from test_suite.page.saasApp import *
urlData = ini_yaml("urlData.yml")

View File

@ -1,5 +1,5 @@
# coding:utf-8
from test_suite.page import *
from test_suite.page.saasApp import *
urlData = ini_yaml("thirdUrl.yml")

View File

@ -0,0 +1,31 @@
# coding:utf-8
"""
@author: 井松
@contact: 529548204@qq.com
@file: __init__.py.py
@time: 2021/12/3 13:52
"""
import logging
import allure
import pytest
from common.checkResult import asserting
from scripts.log import Log
from scripts.readYamlFile import ini_yaml
from common.basePage import apisend
from test_suite.page.saasWeb import saasWeb_pages
Log()
__all__ = [
'pytest',
'asserting',
'Log',
'ini_yaml',
'logging',
'allure',
'apisend',
'saasWeb_pages',
]

View File

@ -0,0 +1,45 @@
# coding:utf-8
from test_suite.page.saasWeb import *
urlData = ini_yaml("urlData.yml")
def login(casedata):
data = urlData["login"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareList(casedata):
data = urlData["firmwareList"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareAdd(casedata):
data = urlData["firmwareAdd"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDel(casedata):
data = urlData["firmwareDel"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDetail(casedata):
data = urlData["firmwareDetail"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime

View File

@ -0,0 +1,45 @@
# coding:utf-8
from test_suite.page.saasWeb import *
urlData = ini_yaml("urlData.yml")
def login(casedata):
data = urlData["login"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareList(casedata):
data = urlData["firmwareList"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareAdd(casedata):
data = urlData["firmwareAdd"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDel(casedata):
data = urlData["firmwareDel"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDetail(casedata):
data = urlData["firmwareDetail"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime

View File

@ -0,0 +1,45 @@
# coding:utf-8
from test_suite.page.saasWeb import *
urlData = ini_yaml("urlData.yml")
def login(casedata):
data = urlData["login"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareList(casedata):
data = urlData["firmwareList"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareAdd(casedata):
data = urlData["firmwareAdd"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDel(casedata):
data = urlData["firmwareDel"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime
def firmwareDetail(casedata):
data = urlData["firmwareDetail"]
logging.info("{}".format(casedata["info"]))
res, restime = apisend(host=data["host"], address=data["address"], method=data["method"], headers=casedata["headers"],
data=casedata["data"],rel=data["relevance"])
return res, restime

View File

@ -1,5 +1,5 @@
# coding:utf-8
from test_suite.page.saasApp_pages import *
from test_suite.page.saasApp.saasApp_pages import *
paramData = ini_yaml("loginData.yml")["login"][0]
thirdParamData = ini_yaml("loginData.yml")["login"][0]
@ -11,7 +11,7 @@ def setup_login():
data = urlData["login"]
logging.info("{}".format(paramData["info"]))
res, restime = apisend(address=data["address"], method=data["method"], headers=paramData["headers"],
data=paramData["data"])
data=paramData["data"],rel=data["relevance"])
logging.info("前置请求结束")
return res
@ -25,5 +25,5 @@ def third_login():
data = thirdURL["weblogin"]
logging.info("{}".format(paramData["info"]))
res, restime = apisend(address=data["address"], method=data["method"], headers=paramData["headers"],
data=paramData["data"])
data=paramData["data"],rel=data["relevance"])
return res

View File

@ -6,9 +6,8 @@
@time: 2021/9/14 16:40
"""
from test_suite.page.saasApp_pages import *
from test_suite.page.third_pages import *
paramData = ini_yaml("alarmData.yml")
thirdData = ini_yaml("thirdData.yml")
class Test_alarm(object):
# def setup(self):

View File

@ -5,7 +5,7 @@
@file: test_function.py
@time: 2021/10/8 15:02
"""
from test_suite.page.saasApp_pages import *
from test_suite.page.saasApp.saasApp_pages import *
# from test_suite.page.third_pages import *
paramData = ini_yaml("functionData.yml")
# thirdData = ini_yaml("thirdData.yml")

View File

@ -1,5 +1,5 @@
# coding:utf-8
from test_suite.page.saasApp_pages import *
from test_suite.page.saasApp.saasApp_pages import *
paramData = ini_yaml("homePageData.yml")

View File

@ -1,7 +1,7 @@
# coding:utf-8
import pytest
from test_suite.page.saasApp_pages import *
from test_suite.page.saasApp.saasApp_pages import *
paramData = ini_yaml("loginData.yml")

View File

@ -5,8 +5,8 @@
@file: test_power.py
@time: 2021/9/17 16:56
"""
from test_suite.page.saasApp_pages import *
from test_suite.page.third_pages import *
from test_suite.page.saasApp.saasApp_pages import *
from test_suite.page.saasApp.third_pages import *
paramData = ini_yaml("powerData.yml")
thirdData = ini_yaml("thirdData.yml")

View File

@ -5,7 +5,7 @@
@file: test_region.py
@time: 2021/10/8 16:11
"""
from test_suite.page.saasApp_pages import *
from test_suite.page.saasApp.saasApp_pages import *
# from test_suite.page.third_pages import *
paramData = ini_yaml("regionData.yml")
# thirdData = ini_yaml("thirdData.yml")

View File

@ -0,0 +1,22 @@
# coding:utf-8
"""
@author: 井松
@contact: 529548204@qq.com
@file: conftest.py
@time: 2021/12/3 14:25
"""
from test_suite.page.saasWeb.saasWeb_pages import *
paramData = ini_yaml("loginData.yml")["login"][0]
@pytest.fixture(scope="module")
def setup_Login():
logging.info("前置请求登录")
data = urlData["login"]
logging.info("{}".format(paramData["info"]))
res, restime = apisend(host=data["host"],address=data["address"], method=data["method"], headers=paramData["headers"],
data=paramData["data"],rel=data["relevance"])
logging.info("前置请求结束")
return res

View File

@ -0,0 +1,53 @@
# coding:utf-8
"""
@author: 井松
@contact: 529548204@qq.com
@file: test_firmware.py
@time: 2021/12/3 14:30
"""
import pytest
from test_suite.page.saasWeb.saasWeb_pages import *
paramData = ini_yaml("firmwareData.yml")
class Test_firmwareList(object):
# def setup(self):
# self.re = saasPages()
# ids=[i["info"] for i in paramData["login"]]
@allure.story("Test_firmwareList")
@pytest.mark.parametrize('casedata', paramData["firmwareList"], ids=[i["info"] for i in paramData["firmwareList"]])
@pytest.mark.flaky(reruns=1, reruns_delay=1)
@pytest.mark.run(order=2)
def test_firmwareList(self, casedata, setup_webLogin):
casedata["headers"]["Authorization"] = "JWT " + setup_webLogin["data"]["token"]
res, restime = firmwareList(casedata)
asserting(hope_res=casedata["assert"], real_res=res, re_time=restime)
@allure.story("Test_firmwareAdd")
@pytest.mark.parametrize('casedata', paramData["firmwareAdd"], ids=[i["info"] for i in paramData["firmwareAdd"]])
@pytest.mark.flaky(reruns=1, reruns_delay=1)
@pytest.mark.run(order=1)
def test_firmwareAdd(self, casedata, setup_webLogin):
casedata["headers"]["Authorization"] = "JWT " + setup_webLogin["data"]["token"]
res, restime = firmwareAdd(casedata)
asserting(hope_res=casedata["assert"], real_res=res, re_time=restime)
@allure.story("Test_firmwareDel")
@pytest.mark.parametrize('casedata', paramData["firmwareDel"], ids=[i["info"] for i in paramData["firmwareDel"]])
@pytest.mark.flaky(reruns=1, reruns_delay=1)
@pytest.mark.run(order=3)
def test_firmwareDel(self, casedata, setup_Login):
casedata["headers"]["Authorization"] = "JWT " + setup_Login["data"]["token"]
res, restime = firmwareDel(casedata)
asserting(hope_res=casedata["assert"], real_res=res, re_time=restime)
@allure.story("Test_firmwareDetail")
@pytest.mark.parametrize('casedata', paramData["firmwareDetail"], ids=[i["info"] for i in paramData["firmwareDetail"]])
@pytest.mark.flaky(reruns=1, reruns_delay=1)
@pytest.mark.run(order=2)
def test_firmwareDetail(self, casedata, setup_webLogin):
# casedata["headers"]["Authorization"] = "JWT " + setup_webLogin["data"]["token"]
res, restime = firmwareDetail(casedata)
asserting(hope_res=casedata["assert"], real_res=res, re_time=restime)

View File

@ -0,0 +1,27 @@
# coding:utf-8
"""
@author: 井松
@contact: 529548204@qq.com
@file: test_login.py
@time: 2021/12/3 13:54
"""
import pytest
from test_suite.page.saasWeb.saasWeb_pages import *
paramData = ini_yaml("loginData.yml")
class Test_login(object):
# def setup(self):
# self.re = saasPages()
# ids=[i["info"] for i in paramData["login"]]
@allure.story("Test_login")
@pytest.mark.parametrize('casedata', paramData["login"], ids=[i["info"] for i in paramData["login"]])
@pytest.mark.flaky(reruns=1, reruns_delay=1)
@pytest.mark.run(order=1)
def test_login(self, casedata):
res, restime = login(casedata)
asserting(hope_res=casedata["assert"], real_res=res,re_time=restime)