接口自动化测试体系架构

接口自动化测试体系架构

体系架构:全局视野

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

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

接口测试流程

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);

你可能感兴趣的:(架构,postman,测试工具)