接口自动化测试 (集成测试 & 灰盒测试) postman与python代码均可实现

接口自动化测试(集成测试 & 灰盒测试)

实现方式:

	1. postman软件
	2. 代码
	    		编程语言:  python
				测试框架 : pytest
				接口请求: request

接口测试学什么?

 接口测试用例设计
**工具**实现接口测试
 **代码**实现接口测试

1.http协议

在这里插入图片描述
1.1 http常见请求方法

请求:请求行  请求头  请求体
响应: 状态行  响应头  响应体

1.2 常见响应状态码

1  指示信息
2  请求成功
3  重定向
4  客户端错误
5  服务端错误

2.RESTful

在这里插入图片描述

  1. 拿到一个接口项目之后,先测试业务接口还是先测试单个接口?

    先测试业务接口

  2. 如何测试业务接口?

    根据业务流程图梳理业务路径
    设计测试用例覆盖每一条业务路径
    
  3. 如何进行接口文档解析?

     ① 分析接口之间的依赖关系
     ② 分析接口请求(如:URL、请求方法、请求头、请求参数类型、请求参数等)
     ③ 分析接口响应(如:响应状态码、响应数据等)
    

如何使用Postman发送请求并查看响应结果?

设置请求方法
设置URL
设置请求头
设置请求数据
点击send发送数据
查看响应状态码
查看响应体数据

Postman自动关联解决了什么技术问题?
接口之间需要自动传递数据。
pm.responed.json()
pm.environment.set()
{{变量名}}
在这里插入图片描述
Postman如何提交multipart/form-data请求数据 ?

	① 设置请求方法
	② 设置URL
	③ 设置请求头
	④ 设置请求数据		【body --- form-data---- file选择上传文件】
	⑤ 点击Send发送请求
	⑥ 查看响应状态码 传智教育-黑马程序员
	⑦ 查看响应体数据

Postman如何实现批量执行用例 ?

	① 点击测试集中的“Run”按钮,批量运行测试用例
	② 弹出Collection Runner窗口,点击运行按钮
	③ 查看测试结果

如何针对单个接口设计测试用例?

	正向:全部参数 必填参数
	逆向: 空 类型错误   长度错误  规则不符

断言的作用:

	工具代替人工自动判断预期结果与实际结果是否一致

postman常见的断言方式:

响应状态码断言
包含断言
json数据断言

什么时候开展接口自动化测试?

ü 开发提测前,优先开展接口自动化测试;
ü 开发提测后,优先开展系统测试、后开展接口自动化测试。

如何开展接口自动化测试?

① 选取自动化测试用例
② 搭建自动化测试环境
③ 搭建自动化测试框架
④ 代码实现自动化
⑤ 输出测试报告
⑥ 实现持续集

接口自动化框架

api ----封装接口信息
script------存放测试脚本
data----存放测试数据
report-----存放测试报告
common-----存放通用工具类
congfig.py-----配置文件  维护项目相关的基本信息,如:URL、项目路径等
pytest.inf-----pytest配置文件信息

如何使用requests发送GET/POST/PUT/DELETE请求?

request.请求方法(url)

request提交json headers数据

requset.请求方法(url, json)
requests.请求方法(url, headers)

Response对象常见方法有哪些?

response.status_code
response.json()
response.test

接口对象封装思想?

代码分层
	接口对象层(接口封装调用)
	测试脚本层 (测试业务 数据准备,  断言处理)

代码中如何解决接口之间的数据依赖?

使用python中的变量或属性传递接口依赖数据
```python
TestContractBusiness.token =  res_l.json().get("token")
```

Requests中如何处理multipart/form-data 请求数据?
在这里插入图片描述

python常见的断言方式

包含断言  assert testdata == "...."
相等断言  assert "..." in testdata

数据驱动

定义:
	测试数据驱动脚本
	从脚本转向测试数据

好处:增强代码的可维护性

如何用parametrize实现数据驱动

@pytest.mark.parametrize()

在这里插入图片描述

allure生成在线测试报告

修改pytest.ini配置文件

[pytest]
addopts = -s --alluredir report
testpaths = ./scripts
python_files = test*.py
python_classes = Test*
python_functions  =  test*

运行pytest命令产生测试结果文件(json文件)

pytest

运行allure生成命令测试报告

allure server report
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Postman 是一款流行的 API 开发和测试工具,它也提供了功能强大的自动化测试功能。你可以使用 Postman测试脚本功能来编写自动化测试代码。以下是一个示例代码,展示了如何使用 Postman 的 JavaScript 测试脚本进行接口自动化测试: ```javascript // 设置接口地址和参数 var url = 'https://api.example.com/endpoint'; var params = { param1: 'value1', param2: 'value2' }; // 发送 GET 请求 pm.sendRequest({ url: url, method: 'GET', params: params }, function (err, response) { // 检查错误 if (err) { console.error('请求失败:', err); return; } // 检查响应状态码 pm.test('响应状态码应为 200', function () { pm.response.to.have.status(200); }); // 解析 JSON 响应 var jsonData = pm.response.json(); // 检查响应结果 pm.test('响应结果应符合预期', function () { pm.expect(jsonData.status).to.equal('success'); pm.expect(jsonData.result).to.equal('expected_result'); }); }); ``` 在这个例子中,我们使用 Postman 的 `pm.sendRequest` 方法发送 GET 请求,并在回调函数中进行断言和验证。你可以根据需要修改请求方法、请求参数、断言条件等。 需要注意的是,Postman 的自动化测试脚本使用的是 JavaScript 语言。你可以在 Postman测试脚本编辑器中编写和执行这段代码。 当然,这只是一个简单的示例,你还可以根据具体的需求和场景进行更复杂的测试脚本编写。Postman 还提供了丰富的断言库和变量管理功能,使得测试脚本编写更加灵活和强大。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值