摘要:本文主要向大家介绍了Python语言-Requests之接口测试,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
本文主要向大家介绍了Python语言-Requests之接口测试,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
一、环境准备:
Pyhton 2.x或者Pyhton 3.x、Requests库。(我安装的版本是Pyhton 3.4)
安装
Pyhton 3.x安装参考文档//www.cnblogs.com/lansan0701/p/6349442.html
Requests安装命令 pip install requests
使用上述命令的前提是已经安装了pip(pip安装也参考文档//www.cnblogs.com/lansan0701/p/6349442.html)
二、Requests做接口测试,首先明白以下问题:
1、如何发送请求?
1)如何知道请求的URL?
2)如何辨别请求的方式?
解决如上两点方法:1技术提供接口文档(最佳方案);2自己抓包。
2、如何组装数据?
get方法和data方法参数组装区别(见下文示例2、3)。
3、如何处理响应内容?
1)设置断言assert;
2)自己写判断语句(唯一识别判断)。
三、下面是三种代码形式
1、发送请求(get请求)
#!/usr/bin/env python
#示例1
import requests
url_one="//www.baidu.com/s?wd=python" #请求的url
response_message=requests.get(url_one)print(response_message.status_code) #打印相应结果状态码print(response_message.text) #打印响应内容print(response_message.url) #打印请求URL
if u'python' in response_message.text:
print('success')assert(response_message.status_code,201)
2、参数组装
get请求
#!/usr/bin/env python#示例2import requests
url_two="//www.baidu.com/s"
payload={'wd':'python'}
response_message=requests.get(url=url_two,params=payload)print(response_message.status_code)print(response_message.text)print(response_message.url)
if 'python' in response_message.text:
print('success')if 200==response_message.status_code:
print('send success')assert(response_message.status_code,201)
post请求
#!/usr/bin/env python#示例3
import requests
url_three="//www.baidu.com/s"
data={'wd':'python'}
response_message=requests.post(url=url_three,data=data)print(response_message.text)
3、unittest框架
将上述代码采用unittest框架会更简洁,如下:
#!/usr/bin/env python#示例4import requestsimport unittest
class ThisTest(unittest.TestCase):
def test_get_method_no_params(self):
url_one="//www.baidu.com/s?wd=python"
response_message=requests.get(url=url_one)
self.assertIn('python',response_message.text)
self.assertEqual(200,response_message.status_code)
def test_get_method_with_params(self):
url_two="//www.baidu.com/s"
payload={'wd':'python'}
response_message=requests.get(url=url_two,params=payload)
self.assertIn('python',response_message.text)
self.assertEqual(200,response_message.status_code)
self.assertEqual(url_two+'?wd'+'='+payload['wd'],response_message.url)
if __name__=='__main__':
unittest.main()
四、总结
接口测试入门需要熟悉一下几点:
1. Requests库基础;
2. 接口协议类型;
3. 参数组装;
4. 请求的Url;
5. 相应结果的处理;
五、补充
接口测试用例是依据功能测试抽离出来的,不包含业务的测试。
以上就介绍了Python的相关知识,希望对Python有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言Python频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号