之前两篇进行了简单的介绍,postman接口用例转化为python自动化测试用例(二)   postman接口用例转化为python自动化测试用例 ,那么今天呢,我们来看看,怎么将接下来的参数进行提取,首先呢,我们考虑到了用txt文档去存储这些参数。

我们暂且叫他ce.txt。

/openapi/api/v2|{\r\n\t\r\n    \"userInfo\": {\r\n        \"apiKey\": \"\",\r\n        \"userId\": \"\"\r\n    }\r\n}|{'Content-Type': "application/json", 'User-Agent': "PostmanRuntime/7.19.0",'Accept': "*/*",'Cache-Control': "no-cache", 'Postman-Token': "25132ec6-9d02-421c-ab22-773b1fd70035,65c29f56-030a-4d3d-862f-ad0de3ed50a6",'Host': "openapi.tuling123.com",'Accept-Encoding': "gzip, deflate",'Content-Length': "78",'Connection': "keep-alive", 'cache-control': "no-cache"}|code|POST

内容如上面的,我们接下来去封装解析这个文档的函数。

即readtxt.py

def get():    reslut = []    f=open("case.txt","r")    all=f.readlines()    for item in all:        dictone={}        reslut_all=item.split("|")        dictone["url"]=reslut_all[0]        dictone['data']=reslut_all[1]        dictone['headers']=reslut_all[2]        dictone['assert']=reslut_all[3]        dictone['method']=reslut_all[4]        reslut.append(dictone)    return reslut

这样我们就能获取到我们的参数了,这里呢,我们需要确定的是我们读取的参数的都转化成了str,然后写进去了字典,最后放在列表里面。

那么我们对测试用例的改造。

import requestsimport unittestfrom config import baseurlfrom readtxt import getrestlue=get()url = baseurl + restlue[0]['url']class Testcase(unittest.TestCase):    def tearDown(self) -> None:        pass    def setUp(self) -> None:        pass    def testone(self):        response = requests.request(restlue[0]['method'], url, data=restlue[0]['data'], headers=eval(restlue[0]['headers']))        self.assertTrue(restlue[0]['assert'] in response.text)if __name__=="__main__":    unittest.main()

这是改造后的测试用例,我们执行下看下,结果。

这样我们就完成了测试,有些人说,那么接下来 要在写用例,我是不是可以直接在case文档中去写入呢。

答案是可以。

文档我们再加一条。

/openapi/api/v2|{\r\n\t\r\n    \"userInfo\": {\r\n        \"apiKey\": \"\",\r\n        \"userId\": \"\"\r\n    }\r\n}|{'Content-Type': "application/json", 'User-Agent': "PostmanRuntime/7.19.0",'Accept': "*/*",'Cache-Control': "no-cache", 'Postman-Token': "25132ec6-9d02-421c-ab22-773b1fd70035,65c29f56-030a-4d3d-862f-ad0de3ed50a6",'Host': "openapi.tuling123.com",'Accept-Encoding': "gzip, deflate",'Content-Length': "78",'Connection': "keep-alive", 'cache-control': "no-cache"}|code|POST/openapi/api/v2|{\r\n\t\r\n    \"userInfo\": {\r\n        \"apiKey\": \"\",\r\n        \"userId\": \"\"\r\n    }\r\n}|{'Content-Type': "application/json", 'User-Agent': "PostmanRuntime/7.19.0",'Accept': "*/*",'Cache-Control': "no-cache", 'Postman-Token': "25132ec6-9d02-421c-ab22-773b1fd70035,65c29f56-030a-4d3d-862f-ad0de3ed50a6",'Host': "openapi.tuling123.com",'Accept-Encoding': "gzip, deflate",'Content-Length': "78",'Connection': "keep-alive", 'cache-control': "no-cache"}|code|POST

但是我们发现出错误了。

仔细看看,发现,在解析用例参数的时候   没有处理到换行符。

所以对获取用例的代码进行修改:

即readtxt.py文件

def get():    reslut = []    f=open("case.txt","r")    all=f.readlines()    for item in all:        dictone={}        reslut_all=item.split("|")        dictone["url"]=reslut_all[0]        dictone['data']=reslut_all[1]        dictone['headers']=reslut_all[2]        dictone['assert']=reslut_all[3]        dictone['method']=reslut_all[4].split("\n")[0]        reslut.append(dictone)    return reslut

这样就可以读取了。

执行后,发现只有一条用例,这里我们还要增加一条用例。

    def testtwo(self):        response = requests.request(restlue[1]['method'], url, data=restlue[1]['data'], headers=eval(restlue[1]['headers']))        self.assertTrue(restlue[1]['assert'] in response.text)

增加用例后,我们可以去执行,

这样就执行完毕,可能有人会说,这样麻烦,我维护一条用例,就要新增代码,我不想新增,其实也可以的,后续的章节,我们会介绍。

雷子说测试,原滋原味的技术分享。

用最简的语言,去完成难以完成的高度。

用最初的方法,去解决复杂问题的方式。

用最小的代价,去实现那些美好的结果。

用点滴的积累,去完成厚积薄发的时刻。

扫码关注雷子说测试。

感觉用帮助,点击在看,让更多的人看到。

python np.cos 转化为角度_postman接口用例转化为python自动化测试用例(三)相关推荐

  1. Python知道cos值求角度_Python——画一棵漂亮的樱花树

    最近用Python(大多是turtle库)绘制的樱花树有点火,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 (一) 动态生成樱花 效 ...

  2. Python知道cos值求角度_机械臂正运动学-DH参数-Python快速实现

    # 机械臂正运动学-DH参数-Python快速实现 @[toc] 前言: 最近在玩一个非常弱智的机械臂,好多功能都没有,连个配套的仿真环境都没, 虚拟边界和碰撞检测的功能都非常难用. 没办法,我只能 ...

  3. Python知道cos值求角度_先后发布COS!腐团儿魔王正面PK,这艾达王不输李冰冰

    说到如今cos圈非常火的主播,那就肯定少不了腐团儿,凭借其独创的"后退"主播风格吸引了很多的粉丝,再加上傲人身材带来的顶级cos视觉体验,也让她的人气在cos圈居高不下.还有一位经 ...

  4. 【Python】弧度转化为角度

    1 弧度 -> 角度 #第一种: import math x = 1 math.degrees(x) >> 57.29577951308232#第二种: from math impo ...

  5. postman怎么导出测试用例_利用Charles抓包巧转接口自动化测试用例

    在前面的文章中,也有介绍类似的工具的.例如:一键将接口请求转为测试用例介绍了开源的mitmproxy录制转化为接口测试用例,postman接口用例转化为python自动化测试用例 文章记录了如何把po ...

  6. php接口自动化测试用例编写

    最近用php写完了一版项目的接口,代码有点多,意味着bug也会很多,人工测试起来有点麻烦,于是准备用php编写一个测试bug的程序.以前是没有这种意识的.这篇文章主要是提醒我未来程序写完后,能养成编写 ...

  7. 图解数组计算模块NumPy下(三角函数、四舍五入函数(around)、取整、将弧度转化为角度、统计分析函数、中位数、数组的排序、argsort()、lexsort())

    本文来自<Python数据分析从入门到精通>--明日科技编著 8.5 NumPy常用统计分析函数 8.5.1 数学运算函数 NumPy包含大量的数学运算的函数,包括三角函数.算术运算函数. ...

  8. Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云)

    Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云) 学习目标 获取网络数据Socket API接口 网络爬虫Crawler(制 ...

  9. python caffe 训练自己的模型_python接口调用已训练好的caffe模型测试分类方法

    训练好了model后,可以通过python调用caffe的模型,然后进行模型测试的输出. 本次测试主要依靠的模型是在caffe模型里面自带训练好的结构参数:~/caffe/models/bvlc_re ...

最新文章

  1. mysql8.11安装_MySQL-mysql 8.0.11安装教程
  2. win nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are depr
  3. Tensorfow_yolov3 Intel Realsense D435 图像整合(合并)输入GPU计算耗时测试
  4. shiro的登录 subject.login(token)中执行逻辑和流程
  5. boost::icl模块interval_map 的最简单示例是重叠计数器
  6. 3.cocos2dx之Menu,通过menu来实现场景的切换
  7. NEFU 560 半数集
  8. 图文详解远程部署ASP.NET MVC 5项目
  9. 【转】注册Azure AD 2.0 应用程序
  10. linux-新建一个centos虚拟机系统-安装全过程图示
  11. Notes:DOM的事件模拟
  12. bzoj1452 [JSOI2009]Count
  13. 5 helloword 开发运行步骤
  14. 小程序中插入腾讯视频
  15. Mongodb备份和还原
  16. add_days oracle_oracle 日期时间函数使用总结
  17. Chromedriver适用谷歌浏览器的各个版本
  18. 阿里云携手NVIDIA拓展AI培训计划
  19. 程序无法安装时, 提示无法访问网络位置0 的解决办法
  20. DBCA静默安装Oracle数据库

热门文章

  1. 中国移动游戏市场全球占比31.6% 掌趣科技入围竞争力企业前20
  2. 已走过8年时间!百度这一重要产品正式宣布停止服务
  3. 荣耀老熊科普荣耀9X升降全面屏 一升一降皆是技术的沉淀
  4. 小爱同学App下架苹果App Store 网友:SiriOS警告?
  5. 共享单车当废铁卖 ofo回应:已达报废年限
  6. 基于exosip的uas-uac的一个简单例子(转载)
  7. php socket_create卡顿,phpsocket_createundefined的异常解决方法
  8. 华为畅享max有没有人脸识别_华为三款5000mAh超大电池手机,都是续航王者,最低只要1499元...
  9. 我的docker随笔2:docker在ubuntu上的安装
  10. 嵌入式Linux入门9:Linux系统使用