httprunner_处理数据库数据

1、接口自动化使用数据库的场景:
(1)从数据库读取数据,作为接口参数 >>> 当然更多的我们是直接调用写好的接口用例,来作为测试前置生成我们需要的测试数据。
(2)用例后置:清理测试脏数据 >>> 当然,我们可以再httprunner里面调用清理数据的用例来实现后置。

2、结合项目,还待优先的代码:
在这里插入图片描述

config.ini

[mysql]
user_name = select account_to from dict_user_org_info where user_base_id = "10100"
[DATABASE]
host = xx.xx.xx.xx
user = admin
password = xxxx
port = 3306
database = oc

readConfig.py

import os
import codecs
import configparser

class ReadConfig:

    def __init__(self):
        self.cf = configparser.ConfigParser
        self.path = os.path.dirname(os.path.dirname(__file__))
        self.file_path = os.path.join(self.path, 'config', 'config.ini')
        self.cf.read(self.file_path, encoding='utf-8')

    def Mysql(self, name):
        value = self.cf.get("Mysql", name)
        return value

    def Database(self, name):
        value = self.cf.get("DATABASE", name)
        return value

debugtalk.py

from mysqlDB import MysqlDb

mysqlDB = MysqlDb()
def get_user_name():
    user_name = mysqlDB.user_name()
    return user_name[0]

mysqlDB.py

import pymysql
from config.readConfig import ReadConfig

mysql = ReadConfig()

class MysqlDb:
    def __init__(self):
        self.host = mysql.Database("host")
        self.user = mysql.Database("user")
        self.password = mysql.Database("password")
        self.port = mysql.Database("port")
        self.database = mysql.Database("database")
        self.db = pymysql.connect(self.host, self.user, self.password, self.database, charset="utf-8")

    def excute(self, sql, data):
        connect = self.db
        cursor = connect.cursor()
        cursor.execute(sql % data)
        connect.commit()

    def execute_read(self, sql, data):
        connect = self.db
        cursor = connect.cursor()
        cursor.execute(sql % data)
        for row in cursor.fetchall():
            return row
    def user_name(self):
        sql = mysql.Mysql("user_name")
        data = self.execute_read(sql, ())
        return data

猜你喜欢

转载自blog.csdn.net/weixin_45451320/article/details/117048198