0


postman 替换工具 bruno 使用介绍2

文章目录

测试脚本接口自动化

前置条件
  • 已创建了 API 请求集(示例名为:api-collects)
  • 已创建了 API 请求(示例名为:api request1)
  • 已创建了环境变量(示例名为:demo)
  • 也为 API 请求编写了 assert 或者 tests 脚本
接口自动化项目 demo
  • 安装 node.js
  • 安装 npm
  • 新建项目文件夹(示例名为:bruno-test)
  • 项目文件夹下执行 npm init 将项目初始化为 npm 项目
  • 安装 @usebruno/cli 依赖 (脚本为:npm install @usebruno/cli)
  • 打开保存 API 请求集的文件夹目录,将 api-collects 目录下的所有文件都复制到 bruno-test 项目目录下下
  • 项目目录如下所示
bruno-test   //项目主文件夹
  api request1.bru //api 请求
  enviroments //环境变量
    demo.bru
  bruno.json
  node_modules //node 包依赖package-lock.json
  package.json //npm 项目配置文件
  • 运行接口自动化脚本
bruno run --env demo
  • 运行结果如下

在这里插入图片描述

接入 CI

接入 github action

以 github action 为例,其他 CI 工具类似

  • 前置准备:在项目 package.json 文件中添加如下脚本
"test":"bru run --env demo"
  • 在项目根目录下创建 .github/workflows 文件夹
  • 在 .github/workflows 文件夹下创建 main.yml 文件
  • main.yml 文件内容如下
name: bruno cli CI

on:push:branches:[ main ]pull_request:branches:[ main ]jobs:run_bruno_api_test:runs-on: ubuntu-latest
    steps:-uses: actions/checkout@v3
    -run: npm install
    -name: run tests
      run: npm run test
  • 提交代码到 github,会自动触发 github action
  • 查看 github action 运行结果,如图示例:

在这里插入图片描述

可拉取本项目代码进行参考:https://github.com/dengnao-tw/Bruno-API-Test-Starter

Postman 脚本迁移

API 请求集迁移
  • 在首页点击‘Import Collection’链接,打开导入 API collection 的弹窗
  • 点击选择 Postman Collection 的链接,再选在已存在的 Postman 请求集文件路径
  • 即可导入 Postman 的请求集
  • 但是目前只支持导入 API 请求,无法导入测试脚本,如图所示(但不影响请求调用)在这里插入图片描述在这里插入图片描述
环境变量迁移
  • 在首页选择刚才导入的 Postman 请求
  • 点击页面右上角的‘No Environment’链接(默认为 No Environment),选择菜单中的 configure 按钮即可打开环境变量管理弹窗
  • 点击‘Import Environment’链接,打开导入 Environment 的弹窗
  • 点击选择 Postman Environment 的链接,再选在已存在的 Postman 环境变量文件路径
  • 即可导入 Postman 的环境变量在这里插入图片描述在这里插入图片描述
测试脚本迁移参考

两个工具测试脚本的语法存在一部分差异,需要手动修改

pm.test("res.status should be 200",function(){
  pm.response.to.have.status(200);});
pm.test("res.body should be correct",function(){var data = pm.response.json();
  pm.expect(data.id).to.equal(1);
  pm.expect(data.title).to.contains('provident');});
test("res.status should be 200",function(){const data = res.getBody();expect(res.getStatus()).to.equal(200);});test("res.body should be correct",function(){const data = res.getBody();expect(data.id).to.equal(1);expect(data.title).to.contains('provident');});

更多信息


本文转载自: https://blog.csdn.net/dengnao/article/details/134124381
版权归原作者 软件测试同学 所有, 如有侵权,请联系我们删除。

“postman 替换工具 bruno 使用介绍2”的评论:

还没有评论