博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python实现接口测试框架
阅读量:5101 次
发布时间:2019-06-13

本文共 1880 字,大约阅读时间需要 6 分钟。

单接口测试,python实现,实现测试数据和代码的分离。

#encoding=utf-8import requestsimport jsonimport osimport hashlibimport picklefrom conf import *static_data = {}def send_request(interface,value):    r = requests.post(interface, data= value)    return rdef get_response_info(response_obj):    print (response_obj.status_code)    print (response_obj.text)    print (type(response_obj.json()))    print (str(response_obj.json()))    print (response_obj.url)def assert_response(response_obj,assert_word):    assert assert_word in str(response_obj.json())    #需要默认文件里面写个初始化值1with open("E:\\workspace-python\\test\\test1.txt","r+") as fp:    unique_number = fp.readline().strip()    fp.seek(0,0)    fp.write(str(int(unique_number)+10))with open("E:\\workspace-python\\test\\test_data.txt","r+") as fp:       line=fp.readline()    print("line*******",line)    interface=eval(line.split("|")[0])   #等价于:interface=register.把字符串变成变量用eval    print("line*******",interface)    value=json.dumps(eval(line.split("|")[1]))  #有'userdata'+unique_number, 要把它变成变量    assert_word=line.split("|")[2]#print(interface)#print(type(value))r=send_request(interface,value)get_response_info(r)try:    assert_response(r,assert_word)except:    print ("接口中断")static_data["username"]=eval(line.split("|")[1])["username"]print(static_data["username"])

执行结果:

E:\workspace-python\test>py -3 b.pyline******* register|{
'username': 'userdata'+unique_number, 'password': 'zita12345', 'email': '109828@qq.com'}|{
'code': '00', 'userid':line******* http://39.106.41.11:8080/register/200{
"code": "00", "userid": 55157}
{
'code': '00', 'userid': 55157}http://39.106.41.11:8080/register/userdata188
test1.txt文件里是初始值
test_data.txt
register|{
'username': 'userdata'+unique_number, 'password': 'zita12345', 'email': '109828@qq.com'}|{
'code': '00', 'userid':

 

 

转载于:https://www.cnblogs.com/huiziz/p/10049789.html

你可能感兴趣的文章
小记:xml画一个爱心。
查看>>
MySQL表的四种分区类型
查看>>
7.26
查看>>
dll--二进制层面的复用
查看>>
linux 压缩/解压缩/打包命令
查看>>
守护进程
查看>>
CLR 关于强命名程序集 .
查看>>
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
如何制作并更改项目icon文件
查看>>
设计模式:迭代器模式(Iterator)
查看>>
cmd批处理常用符号详解
查看>>
关于给构造函数传达参数方法
查看>>
mysql忘记密码时如何修改root用户密码
查看>>
STM32单片机使用注意事项
查看>>
在linux中出现there are stopped jobs 的解决方法
查看>>
获取浏览器版本信息
查看>>
SQLServer之删除视图
查看>>
js forEach跳出循环
查看>>
MyBatis---动态SQL
查看>>
快速创建一个 spring mvc 示例
查看>>