【软件测试】--接口自动化测试

1. 接口自动化

1.1 概念

接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系
自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程

接口自动化测试:是让程序或者工具代替人工自动完成对接口进行测试的一种过程

1.2 流程

  1. 需求分析
  • 请求(请求url、请求方法、请求参数)
  • 响应 (响应数据、状态码)
  1. 挑选需要做自动化测试的接口

  2. 设计自动化测试用例

  3. 搭建自动化测试环境(如:python+pycharm)

  4. 设计自动化测试项目的架构(参数化、用例执行框架)

  5. 编写代码

  6. 执行测试用例(unitest、pytest)

  7. 生成测试报告(htmltestrunner\allure)并分析结果

2. Requests库

2.1 什么是Requests库

2.1.1 介绍

Requests库是用Python编写的,基于urllib,采用Apache2 Licensed 开源协议的HTTP库,相比urllib库,Requests库更加方便,可以节约我们大量的工作,完全满足HTTP测试需求

2.1.2 安装

pip3 install requests //python3.8

输入pip3 show requests如下图即安装成功
如下图:

在这里插入图片描述

2.2 发送请求

常见的HTTP请求方式:GET、POST、PUT、DELETE、HEAD、OPTIONS

使用requests发送网络请求很简单,只需要调用HTTP请求类型所对应的方法即可

2.2.1 GET请求

import requests
response = requests.get("http://www.baidu.com")

请求方法的返回值response为Response对象,我们可以从这个对象中获取我们想要的响应信息
1、获取请求url:响应对象.url
2、获取响应状态码:响应对象.status_code
3、获取响应内容:响应对象.text

"""
目标:GET请求方法演练
案例:http://www.baidu.com
请求:
    1、请求方法:GET
响应:
    1、响应对象.url #获取请求url
    2、响应对象.status_code #获取响应状态码
    3、响应对象.text #以文本形式显示响应内容
"""

# 1、导包
import requests

# 2、调用get
url = "http://www.baidu.com"
r = requests.get(url)
# 3、获取请求url
print("请求url:",r.url)
# 4、获取响应状态码
print("状态码:",r.status_code)
# 5、获取响应信息
print("响应内容",r.text)

image-20240717095640289

请求带参(动态传参)

  • http://www.baidu.com?id=1001
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • http://www.baidu.com?id=1001,1002
    image-20240717100146488

  • http://www.baidu.com?id=1001&kw=北京

image-20240717095858671

2.2.2 POST请求

步骤:

  1. 导包 import requests
  2. 调用post方法 requests.post(url,json,headers,data)

data与json区别

  • data:字段对象
  • json:json字符串
  • 在python中字典对象和json字符串长得一样,但是后台格式是有区别的
    • 如何将字段对象转为json字符串?
      • 1、导入json
      • 2、json.dumps(字典对象)#转换json字符串

响应数据.text和.json区别

  • json方式返回类型为字典,可以通过键名来获取响应的值
  • text:返回的类型为字符串,无法通过键名来获取响应的值
  • 共同点:长得都像字典
import requests
import time
# 2、调用post

#请求url

# 设置cookies变量
cookies = {
   "PHPSESSID":"mcu190hl4685pjrru96t4t7g17"}

url = "http://106.54.9.13/index.php/admin/User/add_user"
#请求headers
headers = {
   "Content-Type":"application/json"}
#请求json
data = {
   
    "nickname": "hello",
    "passwor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Maria

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值