import pymysql
# python3用的是pymysql,python2用的是MySQLdbclassOperationMysql:"""
数据库SQL相关操作
"""def__init__(self):
self.conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='test',
passwd='111111',
db='test',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
self.cur = self.conn.cursor()# 查询一条数据defsearch_one(self, sql):
self.cur.execute(sql)
result = self.cur.fetchone()# 只显示一行结果# result = self.cur.fetchall() # 显示所有结果return result
# 更新SQLdefupdata_one(self, sql):
self.cur.execute(sql)
self.conn.commit()
self.conn.close()if __name__ =='__main__':
op_mysql = OperationMysql()
res = op_mysql.search_one("SELECT * from odi_order WHERE order_no='12222'")print(res)
3.TestCase:测试用例层
test_case:用例数据
import unittest
from HTMLReport import logger
import requests
from Business.url import erp_url
classCategory(unittest.TestCase):"""ERP属性接口"""defsetUp(self):
self.session = requests.Session()
logger().info("获取会话")deftearDown(self):
self.session.close()
logger().info("关闭会话")deftest_type_list(self):"""get请求方式"""
s = self.session
querystry ={}
r = s.get(erp_url +'/xxx.list', params=querystry)
logger().info(f"返回数据{r.json()}")
self.assertEqual("success", r.json().get("msg"))deftest_pay_success_recommend(self):"""Post请求方式"""
s = self.session
payload ={"token": login_token,"p":"ios","v":"5.6.0","order_no":"111111"}
r = s.post(erp_url +'/xxxxx/aaa', data=payload)
logger().info(f"返回数据:{r.json()}")
self.assertEqual('success', r.json().get('msg'))
4.TestSuite:测试套件封装
suite_api:测试套件
import unittest
from Test_Case.refactor import test_order
defget_suite():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTests(loader.loadTestsFromTestCase(test_order.Apitests))return suite
5.Run:主运行文件
import unittest
from Test_Suite import suite_api
import HTMLReport
import time
suite = unittest.TestSuite()
suite.addTests(suite_api.get_suite())
HTMLReport.TestRunner(
title="XXX项目测试报告",
description="测试人员:CesareCheung",
report_file_name=f"testreport",
thread_count=50).run(suite)