Python 测开27期 - julia - 学习笔记 - 数据库操作与断言

使用场景

  1. 通过查询数据库信息辅助验证接口响应
  2. 自动化测试使用干净的测试环境,每次自动化测试执行完成之前或之后做数据还原。

数据库操作注意事项

直接对数据库做查询之外的操作是非常危险的行为

  • 权限管理严格的公司数据库权限给的非常低
  • 表结构复杂,随便删除数据会影响测试,甚至会导致系统出现异常

接口自动化测试常用的数据库操作

  • 连接与配置
  • 查询数据与断言

数据库封装(Python)

  • 封装数据库配置
  • 封装 sql 查询操作
  • 调用方法执行 sql 语句
import pymysql

# 封装建立连接的对象
def get_conn():
    conn = pymysql.connect(
        host="litemall.hogwarts.ceshiren.com",
        port=13306,
        user="test",
        password="test123456",
        database="litemall",
        charset="utf8mb4"
    )
    return conn
# 执行sql语句
def execute_sql(sql):
    connect = get_conn()
    cursor = connect.cursor()
    cursor.execute(sql)  # 执行SQL
    record = cursor.fetchone()  # 查询记录
    return record

if __name__ == '__main__':
    # 查询查询user123这个用户的购物车有一个名称为 hogwarts1 的商品
    sql_res = execute_sql("select * from litemall_cart where "
                "user_id=1 and deleted=0 and "
                "goods_name='hogwarts1'")
    
    assert sql_res