线性编程01--准备自动化测试数据

准备自动化测试数据

1)自动执行初始化sql语句(通过python操作数据来实现)
a)安装pymysql
    win+R启动运行窗口,输入cmd,启动dos窗口输入命令:
        pip install pymysql
    验证是否安装成功
    win+R启动运行窗口,输入cmd,启动dos窗口输入命令:
        pip list 查看是否有pymysql包
b)连接数据库
导入pymysql
    import pymysql
连接mysql数据库(也叫打开数据库)
    conn=pymysql.connect(
        host='数据库地址',
        user='数据库用户名',
        password='数据库密码',
        db='数据库名')
    print(conn.open)
    如果连接成功,返回True,否则抛出异常
c)引入异常处理
try:
    conn=pymysql.connect(...)
except Exception as e:
    print(e)
d)执行sql语句
    操作数据库(增,改,删) 主要运用增、删
d.1)创建游标
    conn.cursor()
d.2)指定sql语句并执行
    sql="sql语句"(一次只能写一个命令)
    cursor.execute(sql)
    sql="sql语句"(第二条命令)
    cursor.execute(sql)
    sql="sql语句"(第三条命令)
    cursor.execute(sql)
d.3)提交数据
    conn.commit()
注意:
    cursor = conn.cursor()创建一个游标,游标用于一行一行的处理结果集中的行数据,不能省略
    conn.cursor().execute(sql)用于执行sql语句
    pymysql不支持包含多个sql语句的字符串,可以一个sql后跟一句conn.cursor().execute(sql)
    但多个conn.cursor().execute(sql)不能连续写一起
    commit用于提交保存数据,不可省略,若执行多个语句,只需commit一次
d.4)关闭数据库连接
    conn.close()
说明:释放资源

连接数据库

# 1.导包
import pymysql
# 2.连接数据库,引入异常处理
# conn数据库别名
try:#尝试做下面的代码,如果出错,执行except部分的代码,否则跳过except
    conn = pymysql.connect(
        host='192.168.139.137',# 数据库地址
        user = 'root',# 用户名
        password='123456',# 密码
        db='exam' # 访问的数据库名
        )
    print(conn.open)#Ture 表示数据库连接成功
except Exception as e :#except 本来意思是例外,不是正常情况
    print(e)#打印异常信息

完成正常登录接口的造数代码

"""
    接口地址:192.168.139.137/exam/login/
    用例
        test01/123456成功登录
    造数:初始化数据写入数据库
    说明
        考虑到重复执行,先删除后增加数据
    库名:exam
    插入语句
    插入语句:insert into user(id,username,password) values(2,'zhangsan','123456')
    删除语句:delete from user where username = 'zhangsan';
    查询语句:select * from user;
"""
# 1.导入pymysql包
import pymysql
# 异常处理
try:
    # 2.连接数据库
    conn=pymysql.connect(host='192.168.139.137',user='root',
                         password='123456',db='exam')
    # 3.执行SQL语句,操作数据库
    # 创建游标,用于暂时存储增删改查的数据,游标在内存中
    cursor = conn.cursor()
    # sql只是一个字符串,存数据库命令,并不执行
    # 注意:insert into 不能反复执行
    sql = "delete from user where username='test01'"
    cursor.execute(sql)
    sql = "insert into user(id,username,password) values(2,'test01','123456')"
    # 执行sql命令,结果暂存如cursor中
    cursor.execute(sql)
    sql = "select * from user"
    cursor.execute(sql)
    # 4.提交数据
    # 提交事物,将游标中的数据存入数据库中,相当于保存数据
    conn.commit()
    # 5.关闭数据库连接
    conn.close()
except Exception as e:
    print(e)

数据初始化步骤总结

创建游标
  conn.cursor()
指定sql 并 执行
  sql="sql语句"(一次只能写一个命令)
  cursor.execute(sql)
提交数据
  conn.commit()

完成注册接口的造数代码

"""
    用例
        test02成功注册
        test03用户名已被占用
"""
import pymysql
try:
    # 连接数据库
    conn = pymysql.connect(host='192.168.139.137',user='root',password='123456',db='exam')
    # 创建游标
    cursor = conn.cursor()
    # 指定SQL 准备测试数据
    sql = "delete from user where username = 'test02'"
    cursor.execute(sql)
    sql = "delete from user where username='test03'"
    cursor.execute(sql)
    sql = "insert into user(id,username,password) values(3,'test03','123456')"
    cursor.execute(sql)
    # 提交数据
    conn.commit()
    # 关闭数据库连接
    conn.close()
except Exception as e:
    print(e)
posted @ 2021-11-05 16:16  暄总-tester  阅读(108)  评论(0)    收藏  举报