Commit 52966db2 by hanxiaojuan
parents a252d3ff d880c008
......@@ -96,7 +96,9 @@ if __name__ == '__main__':
mysql_config=("10.197.236.190", 3306, "root", "123456", "")
# mysql = MYSQL(host="10.197.236.190", port=3306, user="root", pwd="123456", db="edl_private")
mysql = MYSQL(*mysql_config)
info = mysql.ExecuQuery("SELECT * FROM db_tbd_base1.project;")
# info = mysql.ExecuQuery("SELECT * FROM db_tbd_base1.project;")
info = mysql.ExecuQuery( "select id from db_tbd_base1.risk_info where risk_name='自动化新增';")
print(info)
# r = RedisString(0).get('bmc:captcha:1ad7d0e9-1e01-454c-8500-d7b5b15c90ff')
......@@ -94,7 +94,7 @@ def dingTalk_markdown_bmy(group):
def dingTalk_markdown_safe_transportation(group):
for i in group:
"""发送消息到钉钉群(企业云)"""
"""发送消息到钉钉群(交委)"""
timestamp = str(round(time.time() * 1000))
sign=get_sign(i["secret"])
webhook=i["webhook"]+f"&timestamp={timestamp}&sign={sign}"
......@@ -103,7 +103,7 @@ def dingTalk_markdown_safe_transportation(group):
"markdown": {
"title":"接口执行报告",
"text": f"#### 接口自动化测试报告 \n> 本消息由Jenkins构建后自动发送\n> \
![screenshot](https://aqjg.gyszhjt.com:60028/img/group1/M00/00/04/Cgs5XWD2NrOACeeHAAhEU1jS9Xc475.png)\n> ###### 点击查看 >> [安全运输呀](http://10.197.236.10:8080/job/bmy/allure/) \n"
![screenshot](https://img.banmago.com/group2/M00/06/BB/rBrpX2El37CASho8ABlIIu9o6i4942.png)\n> ###### 点击查看 >> [交委安全运输监管平台](http://10.197.236.10:8080/job/safe_transportation/allure/) \n"
},
'at': {'isAtAll': False}}
post_data = json.dumps(data)
......@@ -134,11 +134,14 @@ def dingTalk_markdown_safe_transportation(group):
if __name__ == '__main__':
test_group =[{"secret":"SEC40a1be4bbd9214e16ba288208fd608b2b590e82e853fa9b24c1850a506c6185b",
"webhook":"https://oapi.dingtalk.com/robot/send?access_token=e830b05eeee88da31972099e403a74d05ec55719360707dc44e532c0d0b49cb6",
"group":"自动化测试组 - 技术和思路分享"}
# ,
# {"secret": "SEC1d08f46da74337cc0e1cd5bb9ad19622d825483343fdfa43ce396881e4745bdb",
# "webhook": "https://oapi.dingtalk.com/robot/send?access_token=f9e005c1a984b9607960345d38669337b1115d1141a0294e98666443b312115b",
# "group": "自动群"}
"group":"自动化测试组 - 技术和思路分享"} ]
bmy_group = [{"secret": "SEC40a1be4bbd9214e16ba288208fd608b2b590e82e853fa9b24c1850a506c6185b",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=e830b05eeee88da31972099e403a74d05ec55719360707dc44e532c0d0b49cb6",
"group": "自动化测试组 - 技术和思路分享"},
{"secret": "SEC7714672a0be0239dbff12083d6beca3961490f1f5384c616ea259015d7e71cd1",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=10baf66992f12849793666ee882569bf50d313e9c070ab1afbff25cb9ffcd567",
"group": "测试序列"}
]
bmc_group= [{"secret":"SECd10e7eaf4ae5e4a9b15cb059951519c0d8537721fd588e38b861c411ce6442d3",
"webhook":"https://oapi.dingtalk.com/robot/send?access_token=9755709d67e98f6adfa09c884b2b62480b5315ffb65acde5309094206374e3a1",
......@@ -146,6 +149,6 @@ if __name__ == '__main__':
{"secret": "SEC465015385218e70a94f107a16f72dd33d8fc118c3b2a631e0433685302f2fbb3",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=229908a83825ed56abbf728d3382e446a4e8a90e9ad302c37a036bcbccbbf9ee",
"group": "自动化小组"}]
dingTalk_markdown_safe_transportation(test_group)
dingTalk_markdown_safe_transportation(bmy_group)
# dingTalk_markdown(test_group,"https://aqjg.gyszhjt.com:60028/img/group1/M00/00/04/Cgs5XWD2NrOACeeHAAhEU1jS9Xc475.png","交委项目","http://10.197.236.10:8080/job/bmc/allure/")
\ No newline at end of file
......@@ -19,13 +19,18 @@ class BaseConfig():
bmc_group = [{"secret": "SECd10e7eaf4ae5e4a9b15cb059951519c0d8537721fd588e38b861c411ce6442d3",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=9755709d67e98f6adfa09c884b2b62480b5315ffb65acde5309094206374e3a1",
"group": "斑马信用测试"},
{"secret": "SEC465015385218e70a94f107a16f72dd33d8fc118c3b2a631e0433685302f2fbb3",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=229908a83825ed56abbf728d3382e446a4e8a90e9ad302c37a036bcbccbbf9ee",
"group": "自动化小组"}]
{"secret": "SEC7714672a0be0239dbff12083d6beca3961490f1f5384c616ea259015d7e71cd1",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=10baf66992f12849793666ee882569bf50d313e9c070ab1afbff25cb9ffcd567",
"group": "测试序列"}
]
# 交委钉钉群
bmy_group =[{"secret":"SEC40a1be4bbd9214e16ba288208fd608b2b590e82e853fa9b24c1850a506c6185b",
"webhook":"https://oapi.dingtalk.com/robot/send?access_token=e830b05eeee88da31972099e403a74d05ec55719360707dc44e532c0d0b49cb6",
"group":"自动化测试组 - 技术和思路分享"}]
"group":"自动化测试组 - 技术和思路分享"},
{"secret": "SEC7714672a0be0239dbff12083d6beca3961490f1f5384c616ea259015d7e71cd1",
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=10baf66992f12849793666ee882569bf50d313e9c070ab1afbff25cb9ffcd567",
"group": "测试序列"}
]
# 日志相关
log_path = r'' # 日志路径
......
# autor: taoke
# time : 2021/8/23 13:46
from config import *
import requests,pytest
import requests,pytest,allure,xlrd
from common.tools import request_main
from common.utils.getExcelData import get_excelData
from common.db import MYSQL
# class Test_Model():
# def test_qyd(self):
# print("测试")
# """直接拿token"""
# # bmy_token=SafeTransportationConfig.bmy_token
# # bmy_headers = {"Content-Type": "application/json",
# # "Authorization": bmy_token,
# # "appCode": "1422744796822036481"}
# # res=requests.post("http://testyun.banmago.com/api/tbd/web/baseData/intoVehicle/list",
# # json={"appCode":"1422744796822036481","pageNum":1,"pageSize":10,"useNaturePropertyIds":[]},
# # headers=bmy_headers)
# # print(res.json())
#
# """使用公共方法"""
# res=request_main("http://testyun.banmago.com/api/tbd/web/baseData/intoVehicle/list",
# "",
# "POST",
# {"appCode":"1422744796822036481","pageNum":1,"pageSize":10,"useNaturePropertyIds":[]})
# print(res)
#
# def test_jgd(self):
# print("测试")
# # """直接拿token"""
# # sso_token=SafeTransportationConfig.sso_token
# # headers = {"Content-Type": "application/json",
# # "token": sso_token}
# # res=requests.post("http://testtbdzj.hikcreate.com/web/warnPoint/pageList",
# # json={"pageNum":1,"pageSize":10},
# # headers=headers)
# # print(res.json())
#
# """使用公共方法"""
# res=request_main("http://testtbdzj.hikcreate.com/web/warnPoint/pageList",
# "",
# "POST",
# {"pageNum":1,"pageSize":10})
# print(res)
class TestRiskManagement():
def test_qyd(self):
print("测试")
"""直接拿token"""
# bmy_token=SafeTransportationConfig.bmy_token
# bmy_headers = {"Content-Type": "application/json",
# "Authorization": bmy_token,
# "appCode": "1422744796822036481"}
# res=requests.post("http://testyun.banmago.com/api/tbd/web/baseData/intoVehicle/list",
# json={"appCode":"1422744796822036481","pageNum":1,"pageSize":10,"useNaturePropertyIds":[]},
# headers=bmy_headers)
# print(res.json())
"""使用公共方法"""
res=request_main("http://testyun.banmago.com/api/tbd/web/baseData/intoVehicle/list",
"",
"POST",
{"appCode":"1422744796822036481","pageNum":1,"pageSize":10,"useNaturePropertyIds":[]})
print(res)
def test_jgd(self):
print("测试")
# """直接拿token"""
# sso_token=SafeTransportationConfig.sso_token
# headers = {"Content-Type": "application/json",
# "token": sso_token}
# res=requests.post("http://testtbdzj.hikcreate.com/web/warnPoint/pageList",
# json={"pageNum":1,"pageSize":10},
# headers=headers)
# print(res.json())
"""使用公共方法"""
res=request_main("http://testtbdzj.hikcreate.com/web/warnPoint/pageList",
"",
"POST",
{"pageNum":1,"pageSize":10})
print(res)
@pytest.fixture(scope="class")
def riskPointdelete():
"""删除测试数据"""
yield
mysql = MYSQL(*BaseConfig.test_mysql)
mysql.ExecuNonQuery("delete from db_tbd_base1.risk_info where risk_name like '自动化新增%'")
mysql.ExecuNonQuery("delete from db_tbd_base1.risk_info_comment where content like '自动化测试%'")
@allure.feature("风险配置")
@allure.description("author:taoke")
@pytest.mark.usefixtures("riskPointdelete")
class TestRiskMan():
workBook = xlrd.open_workbook(f'{BaseConfig.root_path}/test_case_data/safe_transportation/jgd_riskCase.xlsx')
# @pytest.mark.run(order=661)
@allure.story("风险规则配置")
@allure.title("{inData[testPoint]}")
@allure.testcase("http://yapi.hikcreate.com/project/336/interface/api/73931")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskSave"))
def test_1riskpointsave(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
@pytest.fixture()
def riskPointID(self):
"""返回新增的测试数据的id"""
mysql = MYSQL(*BaseConfig.test_mysql)
info=mysql.ExecuQuery("select id from db_tbd_base1.risk_info where risk_name like '自动化新增%';")
return info[0]['id']
@allure.story("风险规则配置") # 编辑
@allure.title("{inData[testPoint]}")
@allure.testcase("http://yapi.hikcreate.com/project/336/interface/api/73931")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskupdateSave"))
def test_riskupdateSave(self, inData,riskPointID):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
# 修改请求参数中的风险id
data["riskPointRequest"]["riskId"] = riskPointID
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
@allure.story("风险规则配置")
@allure.title("{inData[testPoint]}")
@allure.testcase("http://yapi.hikcreate.com/project/336/interface/api/73931")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskList"))
def test_riskList(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
# 如果通过关键字查询则多个判断
if inData['frontCondition']=='关键字:自动化':
assert res['data']['list'][0]['riskName'].__contains__("自动化")
else:
assert res['code'] == expectData['code']
# @pytest.mark.pppp
@allure.story("风险时间配置")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskTime"))
def test_riskTime(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
# @pytest.mark.pppp
@allure.story("风险基础查询")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskBase"))
def test_riskBase(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
# @pytest.mark.pppp
@allure.story("风险备注配置")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskComments"))
def test_riskComments(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
@allure.story("风险备注配置")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskcommentCreate"))
def test_riskcommentCreate(self, inData,riskPointID):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
# 请求的风险id修改为新增的风险
data["parentRiskId"] = riskPointID
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
@allure.story("风险相关")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskTogeter"))
def test_riskTogeter(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
@allure.feature("风险结果")
@allure.description("author:taoke")
@pytest.mark.usefixtures("riskPointdelete")
class TestRiskRsu():
workBook = xlrd.open_workbook(f'{BaseConfig.root_path}/test_case_data/safe_transportation/jgd_riskCase.xlsx')
@pytest.mark.pppp
@allure.story("风险数据分析")
@allure.title("{inData[testPoint]}")
# @allure.testcase("")
@pytest.mark.parametrize("inData", get_excelData(workBook, "风险管理中心", "riskAnalysis"))
def test_riskAnalysis(self, inData):
url = f"{SafeTransportationConfig().SSO_url}{inData['url']}"
headers = inData['headers']
method = inData['method']
data = inData['reqData']
expectData = inData['expectData']
res = request_main(url, headers, method, data)
allure.attach(f"{res}", "响应结果", allure.attachment_type.TEXT)
assert res['code'] == expectData['code']
if __name__ == '__main__':
for one in os.listdir('../../../report/tmp'):
if 'json' or 'txt' in one:
os.remove(f'../../../report/tmp/{one}')
pytest.main(['test_riskManagement.py', '-s', '--alluredir','../../../report/tmp'])
pytest.main(['test_riskManagement.py', '-s', '--alluredir','../../../report/tmp'])
# 启动默认浏览器打开报告
# os.system('allure serve ../../../report/tmp')
\ No newline at end of file
os.system('allure serve ../../../report/tmp')
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