Python 接口测试(五)
来源:互联网 发布:cisco 端口配置 编辑:程序博客网 时间:2024/06/12 23:30
五:使用python进行组织编写接口测试用例
接口测试其实就是几个步骤。
- 拿到接口的url地址
- 查看接口是用什么方式发送
- 添加请求头,请求体
- 发送查看返回结果,校验返回结果是否正确
明白了接口测试的测试步骤,那么我们就可以来组织我们的代码。
import requests# 接口的urlurl = "http://fanyi.baidu.com/v2transapi"# 接口的参数params = { "from":"en", "to":"zh", "query": "test"}r = requests.request("post", url, params=params)# 打印返回结果print(r.text)# 为了让结果看的更加清楚一点,我取来翻译的字段import jsond = json.loads(r.text)print(d['liju_result']['tag'])
结果:
['试验', '测验', '考验', '化验', '考查', '受试验', '受测验', '受考验', '测得结果']
(结果很长,截取最后的)
修改参数再次请求;
import requestsurl = "http://fanyi.baidu.com/v2transapi"params = { "from":"en", "to":"zh", "query": "study" #}r = requests.request("post", url, params=params)import jsond = json.loads(r.text)print(d['liju_result']['tag'])
结果:
['学习', '研究', '课题', '书房', '结论', '考虑', '沉思', '努力', '想出']
ps:我们看看利用工具测试该接口
接下来我们来引入unittest库优化代码:
import requests,unittest,jsonclass Testbaiduapi(unittest.TestCase): def setUp(self): url = "http://fanyi.baidu.com/v2transapi" def testzhen(self): params = { "from":"en", "to":"zh", "query": "study" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'学习' in r['liju_result']['tag'] def testzhen1(self): params = { "from":"en", "to":"h", "query": "stud" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'学习' in r['liju_result']['tag'] def tearDown(self): passif __name__=='__main__': unittest.main(verbosity=2)
结果:
在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到python安装文件的lib的目录下,
就可以导入该模块使用了,见该实现的代码:
import requests,unittest,json,HTMLTestRunnerclass Testbaiduapi(unittest.TestCase): def setUp(self): url = "http://fanyi.baidu.com/v2transapi" def testzhen(self): params = { "from":"en", "to":"zh", "query": "study" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'学习' in r['liju_result']['tag'] def testzhen2(self): params = { "from":"en", "to":"h", "query": "stud" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'学' in r['liju_result']['tag'] def tearDown(self): passif __name__=='__main__': report_dir= r's.html' re_open= open(report_dir,'wb') suite=unittest.TestLoader().loadTestsFromTestCase(Testbaiduapi) runner=HTMLTestRunner.HTMLTestRunner( stream=re_open, title=u'百度翻译api接口测试报告', description=u'百度翻译api接口测试详情' ) runner.run(suite)
执行后,会在当前目录下生成测试报告,截图如下:
其他接口的测试方法也是这个思路,
作者寄语:
前进的道路我们充满着迷茫,
前进的每一步我们都会有收获。
路在脚下,我们决定不了我们的出身,但是我们可以努力改变我们未来。
告别昨天失败的自己,努力拼搏今天,成就美好明天
padf文档分享:https://pan.baidu.com/s/1gfuXkpP
0 0
- Python 接口测试(五)
- Python接口测试之unittest框架(五)
- python 接口自动化测试--框架整改(五)
- Python接口测试(1)
- python接口测试(2)
- 接口测试五(http headers)
- python接口自动化测试(一)
- Python接口测试之Requests(七)
- Python接口测试之moco(八)
- python 接口自动化测试(一)
- python 接口自动化测试(二)
- python 接口自动化测试(三)
- python 接口自动化测试(四)
- python自动化接口测试(百度翻译)
- Python接口测试
- Python 接口测试
- python 登录接口测试
- python 接口测试 小结
- 学习笔记| AS入门(二) 简单控件篇(下)
- appium 原理解析
- Android apk安装器
- HDU5265 序列变换
- Meta标签下format-detection属性及含义
- Python 接口测试(五)
- Android中的线程(一)
- 查找某目录下占用空间最大的10个文件
- 数据结构中Java实现KMP与BF算法对比
- C++抽象编程——面向对象(4)——运算符重载与友元函数
- LEETCODE17
- linux系统之网络管理(1)
- listview显示不同布局的一个坑(记一下,以防后面又忘了)
- 51nod1289