Python语言-Requests之接口测试
小标 2018-07-17 来源 : 阅读 1147 评论 0

摘要:本文主要向大家介绍了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频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程