软件测试Day6|接口测试

  • 学习流程
    在这里插入图片描述
  • 接口测试流程
    需求分析和评审–接口文档分析–编写测试用例–测试用例设计及评审–测试脚本构建–执行测试用例–缺陷管理和回归–测试报告和总结
  • 计网基础(URL、请求、响应)

接口文档解析

  • 拿到一个项目接口之后,先测试业务接口还是测试单个接口?(业务接口)
  • 如何测试业务接口(根据业务流程图梳理业务路径,设计测试用例覆盖每一条业务路径)
  • 如何进行接口文档解析(①分析接口之间的依赖关系②分析接口请求(URL、请求方法、请求头、请求参数类型、请求参数等)③分析接口响应(响应状态码、响应数据等))

postman

  • 设置请求方法==》设置URL,请求体,请求数据==》Send发送请求==》查看响应状态码、数据

  • 接口自动关联(两个接口之间需要传递数据 验证码接口==》公共容器保存数据==》登陆接口)

    1)postman添加环境,postman项目中添加环境

    2)验证码接口,获取验证码,在Tests中写脚本,保存验证码到环境变量

    var jsonData = pm.response.json() 获取验证码接口的json数据
    pm.environment.aet("uuid",jsonData.uuid) 设置环境变量保存数据
    

    3)登录接口引用环境变量数据,请求头和请求体都可引用环境变量数据,{{var_name}}

    // 请求体json数据中引用变量
    "uuid" :{{uuid}}
  • 上传文件 请求体里面 选择form-data

  • get提交查询参数①url中?参数1and参数2②在Params区域里设置

  • 批量执行:点击测试集Run–弹出cellection Runner窗口,点击运行–查看测试接口

  • 单接口测试

    等价类、边界值 | p优先级

    正向测试逆向测试
    必填参数 P2参数数据为空 P3
    全部参数 P2参数类型不符 P3
    参数长度不符 P3
    业务规则不符 P3
  • potman断言:自动判定是否与预期结果符合(有模板)
    Tests区域编写断言

    // 判断响应状态
    pm.test("assert name"function(){ // pm.test()内置函数:参数1 断言名称, 参数2 回调函数pm.respeonse.to.have(200) //判断是否包含指定的状态码
    });
    
    // 包含指定字符串
    pm.test("body matches string"function(){ // pm.test()内置函数:参数1 断言名称, 参数2 回调函数pm.except(pm.response.text()).to.include("string_we_want_to_search") //判断是否包含指定的字符串
    });
    

    在这里插入图片描述

    // json数据断言
    pm.test("body matches string"function(){ // pm.test()内置函数:参数1 断言名称, 参数2 回调函数var jsonData = pm.response.json();pm.except(jsonData.uuid).to.eql(100) //判断json数据中的uuid值是否等于100
    });
    
  • postman参数化–批量化运行
    将测试用例和断言需要的内容用列表保存为json格式

    [
    {"username":"manager","password":123456,"status":200,"message":"成功"}{"username":"","password":123456,"status":200,"message":"成功"}
    ]
    

    – 请求体中引用数据 {{username}}
    – 断言中引用数据 data.status data指代上传的测试用例json文件,名字不能改

requests、pytest自动化接口测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95406.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英码深元“三位一体”AI场景化解决方案,助力多地化工园区快速实现智慧化转型!

我国是世界公认的化工大国,同时也是崛起中的化工强国。近年来多起重大爆炸事故暴露出我国化工园区安全问题突出,特别是在安全风险管控数字化转型、智能化升级方面存在明显短板和不足,尤其突出的痛点:化工园区的日常管理方式较为粗…

快速上手GIT命令,现学也能登堂入室

系列文章目录 手把手教你安装Git,萌新迈向专业的必备一步 GIT命令只会抄却不理解?看完原理才能事半功倍! 快速上手GIT命令,现学也能登堂入室 系列文章目录一、GIT HELP1. 命令文档2. 简要说明 二、配置1. 配置列表2. 增删改查3. …

机器学习——手写数字识别

0、:前言 这篇文章能够帮助你从数据到模型的整个过程实现不过至于安装第三方库等基础问题,本文不涉及,因为确实不难,搜一搜一大把本此实验运行环境为jupyter,当然通过pycharm也是可行的 1、数据: 手写数字…

自动化运维工具Ansible之playbooks剧本

自动化运维工具Ansible之playbooks剧本 一、playbooks1.playbooks简述2.playbooks剧本格式3.playbooks组成部分 二、实例1.编写脚本2.运行playbook3.定义、引用变量4.指定远程主机sudo切换用户5.when条件判断6.迭代7.Templates 模块8.tags 模块9.Roles 模块 三、编写应用模块1.…

Autofac中多个类继承同一个接口,如何注入?与抽象工厂模式相结合

多个类继承同一个接口,如何注入?与抽象工厂模式相结合 需求: 原来是抽象工厂模式,多个类继承同一个接口。 现在需要使用Autofac进行选择性注入。 Autofac默认常识: Autofac中多个类继承同一个接口,默认是最后一个接口注入的类。 解决方案:(约定大于配…

AtCoder Beginner Contest 318

目录 A - Full Moon B - Overlapping sheets C - Blue Spring D - General Weighted Max Matching E - Sandwiches F - Octopus A - Full Moon #include<bits/stdc.h> using namespace std; const int N1e65; typedef long long ll ; const int maxv4e65; typedef …

微软 Turing Bletchley v3视觉语言模型更新:必应搜索图片更精准

据微软新闻稿透露&#xff0c;在推出第三代Turing Bletchley视觉语言模型后&#xff0c;微软计划逐步将其整合到Bing等相关产品中&#xff0c;以提供更出色的图像搜索体验。这款模型最初于2021年11月面世&#xff0c;并在2022年秋季开始邀请用户测试。 凭借用户的反馈和建议&am…

过滤器的应用-Filter

过滤器 1.工作原理 2.创建Filter 2.1通过注解的方式实现 //创建一个类&#xff0c;实现Filter接口 WebFilter(urlPatterns "/myfilter") //urlPatterns表示需要拦截的路径 public class MyFilter implements Filter {Overridepublic void doFilter(ServletReques…

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理&#xff0c;从企业内部的各个业务环境总体掌握&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…

【C++刷题】动态规划

文章目录 前言一、斐波那契系列1.第 N 个泰波那契数2.三步问题3.使用最小花费爬楼梯4.解码方法5.不同路径6.下降路径最小和7.地下城游戏 二、多种状态系列1.按摩师2.打家劫舍II3.删除并获得点数4.粉刷房子5.买卖股票的最佳时机6.买卖股票的最佳时机III 三、子数组和子串系列1.最…

在windows上配置ninja环境

ninja使用并行任务来编译工程&#xff0c;比cmake编译快了一个数量级&#xff0c;是谷歌在2010年为了提高cmake的编译速度而开发一款编译工具。下面介绍在windows上配置ninja环境。 1 下载ninja ninja官网地址&#xff1a; https://github.com/ninja-build/ninja/releases   …

MATLAB中符号变量的使用方法解析

简介 MATLAB中常常使用符号变量&#xff0c;这里定义符号变量的函数是syms 使用方法如下 syms x y z 其中&#xff0c;x、y、z 是符号变量&#xff0c;可以是任意字母、数字或下划线组合而成的字符串。 举例1&#xff1a; 代码 以下是一个简单的例子&#xff0c;演示如何…