一,介绍

  Requests库是一个基于python语言开发的一个开源的库,能够完全满足基于HTTP协议的接口测试。

二,安装与验证

Requests库的安装:在cmd窗口输入:pip install requests 即可进行联网下载,如下图所示

 

 

 验证安装结果:pip show requests,显示结果如下,即为安装成功

 

 

 

 三,相关操作

3.1 发送GET请求

解决响应数据乱码问题
  获取当前编码格式: 响应.encoding
  设置新的编码规范: 响应.encoding="utf-8"

 

 

3.2 发送Post请求

3.2.1 提交from表单作为参数

 

 

 3.2.2  提交json数据

 

 

 注意:

  data: 参数接收form表单数据,后台会⾃动附加form表单请求信息头(data数据格式为字典)
  json:参数接收json数据,后台会⾃动附加json表单请求信息头
  (headers = {"Content-Type":"application/json"})

3.3 其他请求方式

put:修改资源
delete:删除资源
head:响应数据中只包含请求头,前提是项目中已实现该功能
options:查看接口支持的请求方法,前提是项目中已实现该功能

3.4 传递URL参数

3.4.1 直接通过url进行参数传递

 

3.4.2 通过params进行参数传递

可以传递两种类型的参数,一种是字符串形式的参数,一种是字典形式的参数

 

3.5 响应内容解析

主要用于断言中
常用的方法:
  response.status_code :响应状态码
  response.url :url地址信息
  response.encoding :查看响应数据编码格式
  response.headers :查看头部信息
  response.cookies : 查看cookies信息
  response.text :文本形式查看响应数据
  response.content :字节码形式查看响应数据
  response.json() :json形式查看响应数据

3.6 设置请求头

使用方法:headers={"Content-Type":"application/json"}

 

 3.7 设置session

作用:在多个请求之间存储数据并自动添加数据,如cookies
使用:
  实例化: session = requests.Session()
  发送请求:request.get() ==> session.get()
案例:

 

 

 四、集成UnitTest

UnitTest优势

  管理测试用例
  提供了丰富的断言
  生成测试报告

集成步骤:(使用TPShop项目完成对登录功能的接口测试)

实现思路: 

  1, 导包
  2, 创建测试类# 创建测试方法
    2.1 setup前置处理
      实例化session对象
      定义验证接口url地址
      定义正如接口url地址
    2.2 teardown 后置处理
      关闭session对象
  3,登录成功测试方法
    发送验证码请求并断言
    发登录请求并断言
  4,账号不存在测试方法
    发送验证码请求并断言
    发登录请求并断言
  5,密码错误测试方法
    发送验证码请求并断言
    发登录请求并断言

优化:

  在进行代码编写时,会发现很多重复的代码,这样很影响测试的效率,所以我们可以使用参数化来进行优化

参数化实现:

unittest本身是不支持参数化的,所以我们需要引入第三方插件parameterized来帮助我们实现参数化

把要测试的数据封装在一个json文件中(login.json)

 

 在测试类中构造测试数据,即把json文件中的数据读取出来并存放在一个列表中方便我们使用

 

 接着在登录测试方法上添加parameterized装饰器,传入已经构造好的测试数据

 

 最后修改我们测试方法中的参数,把以前直接传入的参数用变量名进行替换即可

注意:参数的顺序要和读取的json文件中的顺序一致

posted on 2022-11-13 15:23  zj8970  阅读(27)  评论(0编辑  收藏  举报