线性编程02--自动化执行一条测试用例
使用线性编码自动化执行一条测试用例
# 初始化数据库
## 安装pymysql
pip install pymysql --user
## 导入模块
import pymysql
## 连接数据库
1)conn=pymysql.connect(host='数据库服务器IP', user='数据库用户名', password='数据库密码', db='被连接的数据库名')
①连接数据库(打开数据库,将数据库信息写入内存)
2)常见错误
①pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '192.168.75.12' (timed out)")
<1>数据库服务器IP错误
②pymysql.err.OperationalError: (1045, "Access denied for user 'rot'@'TARENA' (using password: YES)")
<2>数据库用户名或密码错误
③pymysql.err.OperationalError: (1049, "Unknown database 'exam23'")
<3>数据库名错误
## 创建游标
1)cursor=conn.cursor()
①数据库中数据进入内存的游标(表)中,用于一行一行的处理数据
## 指定sql语句
1)sql="insert/delete/update/select语句"
①sql是字符串格式
## 执行sql语句
1)rows=cursor.execute(sql)
①成功操作的行数在rows中
②常见错误
<1>pymysql.err.IntegrityError: (1062, "Duplicate entry '2' for key 'PRIMARY'")
a)主键值2重复
## 提交数据
1)conn.commit()
①保存数据,同步游标数据到数据库
②只用于增删改
③查询数据时,不用提交
## 关闭数据库连接
1)conn.close()
# 执行一条测试用例
## 导入模块requests
## 指定接口地址
## 指定参数
## 发送请求,获得响应结果
## 比对响应结果
(1)接口的返回值是实际结果,用例中有预期结果
(2)比对响应结果就是看实际结果和预期结果是否匹配
### 比对方法
1)in
①一般用于模糊匹配
②text/html、json都可以用,更常用于text、text/html响应类型的比对
③写法
预期结果 in 实际结果
<1>结果为True时,表示符合预期,测试通过
<2>结果为False时,表示测试失败
2)==
①text/html、json响应类型均可用,但更常用于json类型的比对
②写法
预期结果==实际结果
实际结果==预期结果
预期结果==实际结果一部分
线性编程-测试一条用例
"""
测试目的 测试成功登陆的用例
接口需求
接口地址:http://192.168.175.128/exam/login/
方法:post
参数:username,password
返回值:text/html类型,登录成功
用例 用户名 密码 预期
test01 123456 登陆成功
步骤:
1.数据库初始化
2.发送请求
3.获得响应结果
线性模型 面向过程编程(按照顺序编写代码)
"""
import pymysql,requests
try:
conn = pymysql.connect(host='192.168.139.137',user='root',password='123456',db='exam')
cursor = conn.cursor()
sql = "delete from user where username='test01'"
cursor.execute(sql)
# 先删除test01再重新加,是为了能多次重复运行脚本
sql = "insert into user(id,username,password) values(2,'test01','123456')"
cursor.execute(sql)
conn.commit()
conn.close()
# 发送请求(执行一条接口测试用例)
address = "http://192.168.139.137/exam/login/"
data = {'username':'test01','password':'123456'}
r = requests.post(address,data)
# 输出响应结果
print(r.text)
except Exception as e:
print(e)
线性编程-测试一条用例
"""
编写正常注册接口的请求代码,输出结果但不检查结果正确性
接口需求
接口地址:http://192.168.175.128/exam/signup/
方法:post
参数:username,password,confirm,name
返回值:json类型,注册成功
用例 用户名 密码 确认密码 返回值
test02 123456 123456 {'Status': 1000, 'Input': {'Username': 'test02', 'Password': '123456'}, 'Result': 'Success', 'Message': '注册成功'}
"""
import pymysql,requests
try:
conn = pymysql.connect(host='192.168.139.137',user='root',password='123456',db='exam')
cursor = conn.cursor()
sql = "delete from user where username = 'test02'"
cursor.execute(sql)
conn.commit()
conn.close()
url = "http://192.168.139.137/exam/signup/"
data = {'username':'test02','password':'123456','confirm':'123456','name':'测试02'}
r= requests.post(url,data)
print(r.json())
except Exception as e:
print(e)
本文来自博客园,作者:暄总-tester,转载请注明原文链接:https://www.cnblogs.com/sean-test/p/15513912.html

浙公网安备 33010602011771号