python接⼝⾃动化测试-数据库(测试数据)操作封装⾸先建⽴db_config_ini⽂件夹
1[mysqlconf]
2host=192.168.12.240
3port=3306
4user=gcjs
5password=Test@123
6db_name=zjgcjs
创建DB类,__init__()⽅法初始化数据库连接,通过connect⽅法连接数据库
封装clear和insert⽅法,清除数据和插⼊数据,最后,通过close()关闭数据库连接
1from pymysql import connect,cursors
import OperationalError
3import os
4import configparser as cparser
5#-------------读取db_config.ini⽂件设置---------
6# base_dir=str(os.path.dirname(os.path.dirname(__file__)))
7# base_dir=place('\\','/')
8# file_path=base_dir+"/db_config.ini"
9file_path="db_config.ini"
10cf=cparser.ConfigParser()
12
("mysqlconf","host")
("mysqlconf","port")
("mysqlconf","db_name")
("mysqlconf","user")
("mysqlconf","password")
18
19#------------------封装MYSQL基本操作-------------------
20class DB:
21 def __init__(self):
22 try:
23 #连接数据库
24 =connect(host=host,
25 user=user,
26 password=password,
27 db=bd,
28 charset='utf8mb4',
29 cursorclass=cursors.DictCursor)
29 cursorclass=cursors.DictCursor)
30 print("连接数据库成功")
31 except OperationalError as e:
32 print(f"MYSQL ERROR {e.args[0]},{e.args[1]}")
33 def clear(self,table_name):
34 real_sql="DELETE FROM "+table_name+";"
35 ursor() as cursor:
36 #=============在Mysql中取消外键约束=================
37 ute("SET FOREIGN_KEY_CHECKS=0;")
38 ute(real_sql)
39 print("删除表数据成功")
40 it()
41 #------------插⼊表数据------------------------------
42 def insert(self,table_name,table_data):
43 for key in table_data:
44 if table_data[key]=='NULL':
45 table_data[key]=str(table_data[key])
46 else:
47 table_data[key]="'"+str(table_data[key])+"'"
48 # print(table_data[key])
49 key=','.join(table_data.keys())
50 value=','.join(table_data.values())
51 real_sql="INSERT INTO "+table_name+ " (" + key + ") values (" + value + ")"
52 print(real_sql)
53 ursor() as cursor:
54 ute(real_sql)
55 print("插⼊数据成功")
56 it()
57
58#---------------关闭数据库连接-------------
59 def close(self):
60 lose()
61
62
63if __name__ == '__main__':
64 db=DB()
65 table_name="ac_role"
66 data={
67'ID':'1', 'NAME':'系统管理员⾓⾊1', 'ROLETYPE':'0', 'FUNCTYPE':'NULL', 'SHARED':'0', 'MNGORGID':'0', 'ORGANIZATIONID':'NULL', 'USERID':'1', 'ROLEDES 68}
69 db.clear(table_name)
70 db.insert(table_name,data)
71 db.close()
接下来创建测试数据test_data.py
1import sys
2from mysql_db import DB
3#=====================创建测试数据===========
4
5"""
6test_data2.py通过类实现测试数据构造
7"""
8class TestData:
9 def __init__(self):
10 self.db = DB()
11 datas={
12 'ac_dataauth':[
13 {
14 'CODE': 1, 'NAME': '查看删除⽤户3', 'FILTER_KEY_NOTE': '已删除⽤户1', 'FILTER_VALUE_NOTE': 'aaaaaaaaaaaaaaaaaaaaa',
15 'FILTER': 'NULL', 'NOTE': 'NULL', 'NOTE2': 'NULL', 'NOTE3': '', 'TYPE': '2', 'FILTER_KEY': 'ysc',
16 'FILTER_VALUE': 'ysc'
17 },
18 {
19 'CODE': 2, 'NAME': '查看删除⽤户5', 'FILTER_KEY_NOTE': '已删除⽤户1', 'FILTER_VALUE_NOTE': 'aaaaaaaaaaaaaaaaaaaaa',
20 'FILTER': 'NULL', 'NOTE': 'NULL', 'NOTE2': 'NULL', 'NOTE3': '', 'TYPE': '2', 'FILTER_KEY': 'ysc',
21 'FILTER_VALUE': 'ysc'
22 },
23 {
24 'CODE': 3 ,'NAME': '查看删除⽤户6', 'FILTER_KEY_NOTE': '已删除⽤户1', 'FILTER_VALUE_NOTE': 'aaaaaaaaaaaaaaaaaaaaa',
25 'FILTER': 'NULL', 'NOTE': 'NULL', 'NOTE2': 'NULL', 'NOTE3': '', 'TYPE': '2', 'FILTER_KEY': 'ysc',
26 'FILTER_VALUE': 'ysc'
27 }
28 ],
29 'ac_role':[
30 {
31 'ID':'1', 'NAME':'系统管理员⾓⾊3', 'ROLETYPE':'0', 'FUNCTYPE':'NULL', 'SHARED':'0', 'MNGO
RGID':'0', 'ORGANIZATIONID':'NULL', 'USERID':'1', 'ROLED
32 },
33 {
34 'ID':'2', 'NAME':'系统管理员⾓⾊5', 'ROLETYPE':'0', 'FUNCTYPE':'NULL', 'SHARED':'0', 'MNGORGID':'0', 'ORGANIZATIONID':'NULL', 'USERID':'1', 'ROLED
35 },
36 {
37 'ID':'3', 'NAME':'系统管理员⾓⾊6', 'ROLETYPE':'0', 'FUNCTYPE':'NULL', 'SHARED':'0', 'MNGORGID':'0', 'ORGANIZATIONID':'NULL', 'USERID':'1', 'ROLED
38 }
39 ],
40 }
41 #========将测试数据插⼊表====
42 def init_data(self):
43 for table,data in self.datas.items():
44 self.db.clear(table)
45 print("删除数据成功")python新手代码userid
46 for d in data:
47 self.db.insert(table,d)
48 print("插⼊数据成功")
49 self.db.close()
50if __name__ == '__main__':
51 testdata=TestData()
52 testdata.init_data()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论