0


接口自动化测试体系架构

接口自动化测试体系架构

体系架构:全局视野

落地方案-->写脚本、运行脚本、生成报告、测试汇总、工作协同

自动化不是特指某一个技术,指能够提高工作效率技术应用【不局限于工具、代码、硬件】

接口测试流程

1.分析需求

2.接口文档【四要素】

  • 接口请求 路径url---·查看:http://XXX/api/v1/topic/帖子ID

      ·发表:http://XXX/api/v1/topics
    
  • 请求方式---·http常见请求类型:post、get、put、delete...

      ·提交过程【请求行】看不到的内容-->还有请求头
    
      ·必须在手机浏览器里面去使用【修改请求头里面user-agent】
    
  • 请求参数---·不同的接口往往 接口参数也不一样

      ·同一个接口  根据参数的组合  去设计用例
    
  • 接口响应内容---·决定了你判断接口 是否通过测试一个重要标准

3.设计接口测试用例【评审】

4.执行用例

  • web用例---用户借助浏览器,去操作

  • 接口用例执行---借助工具【jmeter、postman、编程语言、apifox...】

  • 自动化很多层级

          最初级的自动化【能够利用一些工具快速实现效率提升】
    
              postman里面的断言--自动化测试工具
    
              postman还可以处理 多接口依赖、参数化、ddt数据驱动
    
              特点:自动化的范围  局限 用例执行层面
    

5.整理测试报告

postman  file->settings->Add-ones(扩展组件)---Download Newman from npm

newman : 对postman的功能 做了强大的补充

依赖nodejs环境   <检查是否安装成功 打开命令行  node -v>

安装Newman:npm install -g newman <检查是否安装成功 打开命令行  newman -v>
  • newman 执行postman的测试脚本 ,自动化生成测试报告

newman run

在postman将相关脚本导出 【json文件】直接终端运行

newman run 【json文件名】/json文件路径 --reporters cli,htmlextra --reporters-htmlextra-export index.html

--reporters 指定我要生成测试报告的一种形式 cli 在当前命令行直接生成

(jmeter-->jmx postman -->.json)

  • allure集成

      下载allure,配置相关allure环境变量
    
      newman生成allure报告数据
    
    newman run 【json文件名】/json文件路径  --reporters cli,allure --reporters-allure-export allure-results
    allure 启动查看命令  (在newman命令行中直接运行它的服务) allure serve

6.测试总结、测试报告发送

测试人员自动化 --不局限于  测试

团队协作的内容 -- 软件研发团队【超出自动化测试的范畴】

**持续集成** --> 将 软件工程 里面的各个环节的工作实现自动化

    开发、测试、运维、产品---都会接触到持续集成

    **集成**:提需求、排开发计划、开发部署、测试执行、运维部署

    >微观角度:多个开发人员的代码 集成合并运行、多个测试人员针对多个模块集成

    **持续**:各个环节的工作,无缝对接

jenkins 持续集成系统工具

            --只要人能够用 计算机命令去实现的事情,jenkins都能做

不仅仅是能够实现 测试环节工作的自动化

针对整个 软件研发流程

1>依赖java运行环境

下载jenkins的war包     启动 java -jar jenkins.war

jenkins  所有的事情job管理

    构建 -- Execute Windows batch command   直接放命令行  执行测试

    构建后操作 -- Allure Report ----创建一个机器人  直接发送企业微信通知

    保存  ---(后续重复执行 Build Now)

2>自动化

postman中 [tests] 右侧有提示内容:

//断言---接口请求 响应的内容 做自动化判断

判断状态码是否为200 Status code:Code is 200

pm.test("判断状态码是否为200",function(){

pm.response.to.have.status(200);

});

返回的内容是否有指定字符串 Response body:Contains string

pm.test("Body matches string判断的描述",function(){

pm.expect(pm.response.test()).to.include("string_you_want_to_search指定字符串");

});

提取接口返回值 Response body:JSON value check

var jsonDate=pm.response.json();

作为下一个接口的变量 Set a collection variable

pm.collectionVariables.set("topic_id",jsonData.topic_id);


本文转载自: https://blog.csdn.net/weixin_44764544/article/details/127968544
版权归原作者 慕小芜 所有, 如有侵权,请联系我们删除。

“接口自动化测试体系架构”的评论:

还没有评论