判断响应结果正确性

1)对于text/html类型的返回值,使用
r.text
==
in
2)对于json类型的返回值,使用
r.json() 整体文档
r.json()['key']
==

自动化执行测试,准备数据,检查结果

#初始化数据库
import pymysql #导入pymysql
conn=pymysql.connect(host='192.168.16.128', db='exam', user='root', password='123456') #连接数据库
cursor=conn.cursor() #创建游标
sql="delete from user where username='test01'" #指定sql语句
cursor.execute(sql) #执行sql语句
sql="insert into user(id,username,password,name) values(2,'test01','123456','测试01')" #指定sql语句
cursor.execute(sql) #执行sql语句
conn.commit() #提交数据
conn.close() #关闭数据库连接
#执行测试用例
import requests #导入requests
url='http://192.168.175.128/exam/login/' #指定接口地址
args={'username':'test01','password':'123456'} #指定参数
res=requests.post(url, args) #发送请求,获得响应结果
# print(res.text) #查看响应结果
#比对响应结果
actual=res.text #实际结果
expect='登录成功'
case_info='login_01:测试登录成功'
if expect in actual:
print(case_info+'==响应结果比对通过',end='')
else:
print(case_info+'==响应结果比对失败==预期:'+expect+'==实际:'+actual,end='')
#验库
conn=pymysql.connect(host='192.168.175.128',db='exam',user='root',password='123456') #连接数据库
cursor=conn.cursor() #创建游标
#写法1
# sql="select count(*) from user where username='test01' and password='123456' and name='测试01'" #指定sql语句
# cursor.execute(sql) #执行sql语句,获得数据库实际结果
# row=cursor.fetchone() #取一行,很多列
# db_actual_rows=row[0] #第0列
#写法2
sql="select username,password,name from user where username='test01'"
cursor.execute(sql)
db_actual=cursor.fetchone() #取到的一行是一个元组
#关闭数据库连接
conn.close()
# 比对数据库结果
#写法1
# db_expect_rows=1
# if db_actual_rows==db_expect_rows:
# print('==落库检查通过')
# else:
# print('==落库检查失败==要检查的数据:test01,123456,测试01'+'==预期行数:'+str(db_expect_rows)+'==实际行数:'+str(db_actual_rows))
db_expect=('test01','123456','测试01')
if db_actual==db_expect:
print('==落库检查通过')
else:
print('==落库检查失败==要检查的数据:'+str(args)+'==预期存储:'+str(db_expect)+'==实际存储:'+str(db_actual))

测试正常注册情况

"""
编写正常注册接口的请求代码,输出结果并检查结果正确性
接口需求
接口地址:http://192.168.139.137/exam/signup/
方法:post
参数:username,password,confirm,name
返回值:json类型,注册成功
用例 用户名 密码 确认密码 返回值
test02 123456 123456 {'Status': 1000, 'Result': 'Success', 'Message': '注册成功'}
"""
try:
import pymysql
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'}
import requests
r= requests.post(url,data)
expect = {'Status': 1000, 'Result': 'Success', 'Message': '注册成功'}
if expect == r.json():
print("测试通过")
else:
print("测试失败")
except Exception as e:
print(e)

\

作者:暄总-tester