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小时内删除。