# 测试整个流程
import unittest
from common.get_request import GetRequest
from common.read_data import ReadData
from ddt import ddt, data
from common import constant
from common.read_config import ReadConfig
from common import context
import json
from common.read_mysql import ReadMysql
@ddt
class TestProcedure(unittest.TestCase):
"""加标-审核标-投标"""
get_request = GetRequest()
read_data = ReadData(constant.data_file)
procedure_data = read_data.read_data('procedure')
read_config = ReadConfig()
read_mysql = ReadMysql()
@data(*procedure_data)
def test_procedure(self, case):
sql = 'select max(Id) from xxxx where MemberID="8xxxx9"'
loan_id = self.read_mysql.fetch_one(sql)[0] # 从数据库取出最新的loanid
setattr(context.Context, 'loan_id', loan_id) # 设置动态属性
case.data = json.dumps(case.data)
data = context.replace_new(case.data)
new_data = json.loads(data) #替换从excel中取的参数
resp = self.get_request.get_request(case.method, case.url, new_data)
try:
self.assertTrue(case.expected == resp.json()['msg'])
case.result = 'SUCCESS'
print('第{}条用例:{}执行成功'.format(case.case_id, case.title))
except AssertionError as e:
case.result = 'FAILED'
print('断言失败{}'.format(e))
print('第{}条用例:{}执行失败!!!'.format(case.case_id, case.title))
finally:
self.read_data.write_back(case.case_id+1, 7, str(resp.json()))
self.read_data.write_back(case.case_id + 1, 8, case.result)
if __name__=='__main__':
unittest.main()