Commit b827d88c by xujianxue

【企业云平台】新增控制台测试用例

parent 1bf2a057
......@@ -2,12 +2,61 @@ import pytest,allure,xlrd,requests,os
from config import BmyConfig
from common.utils.getExcelData import get_excelData
from common.tools import request_main
from service.login import BMY
from common.db import RedisString,MYSQL
from config import BaseConfig
@pytest.fixture(scope='function') # 初始化
# 添加子成员时获取验证码
def get_code():
# data = {"signName": "斑马企业云", "templateCode": "SMS_208720201", "timeOut": "100"}
json = {"mobile":"15100010011","signName": "斑马企业云", "templateCode": "SMS_208720201", "timeOut": "100"}
requests.post(f"{BmyConfig().test_host}/website/sms/verify-code/send", json=json)
num = RedisString(3).get(f"SMS:15100010011:SMS_208720201")
num = str(num)[-7:-1]
return num
#添加子成员后解除绑定关系
@pytest.fixture(scope='function') # 初始化
def delete_member():
yield
mysql = MYSQL(*BaseConfig.test_mysql)
mysql.ExecuNonQuery(
"update hzcp.user_base_info set group_code = null, `role` = 0 WHERE mobile IN ('15100010011')")
print("***********")
#购买应用后删除应用购买信息
@pytest.fixture(scope='function')
def delete_applicationbuy():
yield
mysql = MYSQL(*BaseConfig.test_mysql)
mysql.ExecuNonQuery(
"DELETE FROM hzcp.user_application WHERE user_id IN (1390853586517544961) AND application_id IN (1401813857936723970);"
)
mysql.ExecuNonQuery(
"DELETE FROM hzcp.application_open_apply WHERE contact_id IN (1390853586517544961) AND application_id IN (1401813857936723970);"
)
print("******delete_applicationbuy*****")
# @allure.epic("控制台111")
@allure.feature("控制台")
class Test_console:
#引用测试用例表单
workBook = xlrd.open_workbook(f'{BmyConfig.root_path}/test_case_data/bmy/bmy_case.xlsx')
#类初始化登录账户
def setup_class(self):
Headers = {"Content-Type": "application/json"}
self.headers1 = Headers
indata = {"username": "19900010005", "password": "A123456", "Register-Origin": "yun"}
res = BMY().bmy_login(indata)
self.headers1['Authorization'] = res
print("----------", self.headers1)
"""接口1"""
......@@ -23,14 +72,188 @@ class Test_console:
res=request_main(url,headers,method,data)
# print("-------------------",res)
allure.attach("{0}".format(res), "用例结果")
assert res['code']==expectData['code']
"""接口2"""
@allure.story("控制台的应用中心") # 接口
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'MyApplicationCenter')) # [{},{},{}]
def test_myapplicationcenter(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
"""接口3"""
# @pytest.mark.aaaa
@allure.story("应用中心") # 接口
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'CategoryList')) # [{},{},{}]
def test_categorylist(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
other_expected_data = inData['otherExpectData']
if inData['frontCondition'] == '': #如果Excel中前置条件项不为空,则引用指定的headers1
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
else:
res = request_main(url, self.headers1, method, data, has_token=True)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
assert res['data'] == other_expected_data['data'] #assert res['data'][0]['applications'] == None
"""接口4"""
# @pytest.mark.aaaa
@allure.story("应用中心") # 接口
@allure.title("查看应用中心")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'ApplicationCenter')) # [{},{},{}]
def test_applicationcenter(self, inData):
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'HotsellList')) # [{},{},{}]
def test_hotselllist(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
other_expected_data = inData['otherExpectData']
if inData['frontCondition'] == '': # 如果Excel中前置条件项不为空,则引用指定的headers1
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
else:
res = request_main(url, self.headers1, method, data, has_token=True)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
assert res['data'] == other_expected_data['data']
# @pytest.mark.aaaa
@allure.story("应用中心") # 接口
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'HotaffairsList')) # [{},{},{}]
def test_hotaffairslist(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
other_expected_data = inData['otherExpectData']
if inData['frontCondition'] == '': # 如果Excel中前置条件项不为空,则引用指定的headers1
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
else:
res = request_main(url, self.headers1, method, data, has_token=True)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
assert res['data'] == other_expected_data['data']
"""系统消息"""
@allure.story("系统消息")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'Message'))
def test_message(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
"""系统消息已读"""
@allure.story("系统消息")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'MessageMarkread'))
def test_messagemarkread(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res), "用例结果")
assert res['code'] == expectData['code']
"""企业信息"""
@allure.story("企业信息")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'Companyinfo'))
def test_companyinfo(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method,data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
"""成员管理列表"""
# @pytest.mark.aaaa
@allure.story("成员管理")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'Member'))
def test_member(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
@pytest.mark.usefixtures("delete_member")
# @pytest.mark.aaaa
@allure.story("成员管理") #添加成员
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'MemberAdd'))
def test_memberadd(self, inData, get_code):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
# 若参数读出为验证码543340,则修改为正确的
if data['verificationCode'] == "543340":
data['verificationCode'] = get_code
else:
pass
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
# @pytest.mark.aaaa
@allure.story("成员管理")
@allure.title("{inData[testPoint]}") #编辑成员
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'MemberUpdate'))
def test_memberUpdata(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
......@@ -38,6 +261,89 @@ class Test_console:
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
# @pytest.mark.aaaa
@allure.story("成员管理") #禁用成员、解除绑定关系
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'MemberUpdateBaseinfo'))
def test_memberUpdatabaseinfo(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
# @pytest.mark.aaaa
@allure.story("访问日志")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'Webvisit'))
def test_webvisit(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers,method,data)
allure.attach("{0}".format(res,"用例结果"))
assert res['code'] == expectData['code']
# @pytest.mark.aaaa
@allure.story("访问日志")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'webVisitCount'))
def test_webvisitcount(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
# @pytest.mark.aaaa
@allure.story("获取应用详情")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'ApplicationDetail'))
def test_applicationDetail(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
@pytest.mark.aaaa
@allure.story("购买应用 ")
@pytest.mark.usefixtures("delete_applicationbuy")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '控制台', 'ApplicationBuy'))
def test_applicationBuy(self, inData):
url = f"{BmyConfig().test_host}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
testPoint = inData['testPoint']
if testPoint.find("重复"):
res = request_main(url, headers, method, data)
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
else:
res = request_main(url, headers, method, data)
allure.attach("{0}".format(res, "用例结果"))
assert res['code'] == expectData['code']
......@@ -45,9 +351,18 @@ if __name__ == '__main__':
for one in os.listdir('../../report/tmp'): # 列出对应文件夹的数据
if 'json' in one:
os.remove(f'../../report/tmp/{one}')
pytest.main(['test_console.py', '-s', '--alluredir', '../../report/tmp'])
# pytest.main(['test_console.py', '-s', '--alluredir', '../../report/tmp'])
pytest.main(['test_console.py', '-s', '-m', 'aaaa', '--alluredir', '../../report/tmp'])
# # 启动默认浏览器打开报告
os.system('allure serve ../../report/tmp')
# json = {"mobile":"15100010011","signName": "斑马企业云", "templateCode": "SMS_208720201", "timeOut": "100"}
# res = requests.post(f"{BmyConfig().test_host}/website/sms/verify-code/send", json=json)
# print("----------", res.json())
# num = RedisString(3).get(f"SMS:15100010011:SMS_208720201")
# num = str(num)[-7:-1]
# print("-$$$$$$$$$$", num)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment