自动化测试——接口测试

一、接口分类

1.内部接口:测试被测系统各个子模块之前的接口,或者测试被测系统提供给内部用户系统使用的接口。
2、外部接口:被测系统调用外部的接口;系统对外提供的接口
接口测试重点:检查结论参数传递的正确性,输出结果的正确性及对各种异常情况的容错处理,以及权限控制,分页调用次数的限制。

二、接口框架设计

1、基于SOAP架构,基于XML规范,基于WebService协议;
2、基于RPC结构,基于dubbo协议,thrift协议,SpringCloud微服务
3、基于RestFul架构,基于json规范,基于Http协议

  • RestFul规则:
  • 接口地址:http://127.0.0.1/user,get,put,delete
    get:查询用户
    post:新增用户
    put:修改用户
  • json数据格式:
    键值对:{key:value}
    数组:[array1,array2]

三、

1.pytest的夹具
夹具=函数+fixtures装饰器
2、Fitures使用
在测试用例的参数列表中,加上夹具名称,夹具会被自动使用
3、Fixture范围
创建夹具,可以指定夹具的共享范围,在共享范围内的用例,会共用一个夹具
Pytest的夹具共享范围有5个

  • function(默认)   min   自己和自己共享

  • class   

  • module(文件)

  • package(文件夹)

  • session(会话)   max    全局
    4、POM实现对页面的封装
    page、object、module
    面向对象的模型,通过面向对象的思想封装页面中的元素,依据在页面中进行的自动化操作
    (1)属性:页面中的元素
    (2)方法:对页面的自动化操作

  • 创建Page类
    from webdriver -helper import *
    class Indexpage(Basepage)

  • 定义属性

  • 定义方法(自动化动作)

  • 在测试用例中使用po

  • 整理框架结构

四、数据驱动类型:

1、Pytest+csv数据驱动测试
实现测试代码的复用

  • 提取用例之间差异的数据,保存的数据文件
  • 用例通过参数化:得到数据,并执行用例
  • 实现:通过对数据的编辑,添加修改
    数据驱动测试=参数化测试+数据文件

2、Pytest+excel数据驱动测试

  • 安装依赖
    pip install openpyxl

  • 验证数据读取效果

  • 执行新的测试用例
    分析用例,找出不同用例数据差异(账号不存在,密码错误,正确密码…)

  • 自动生成Allure报告

3、关键字驱动测试
POM:必须先封装po(写代码)+excel(测试报告)+pytest(测试用例)
三合一:只需用excel
(1)读取excel
(2)生成测试用例
(3)启动测试框架

启动项目

Tool-》Run manage.py.Task

常用的管理命令:

runsever   启动项目(开发模式)
migrate   迁移数据执行
makemigrayions   创建数据库迁移脚本

低UI自动化——excel
低API自动化——yaml

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

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

相关文章

5.2.16.静态映射操作LED3

5.2.16.静态映射操作LED3 5.2.16.1、添加驱动中的写函数 (1)先定义好应用和驱动之间的控制接口,这个是由自己来定义的。譬如定义为:应用向驱动写"on"则驱动让LED亮,应用向驱动写"off",驱动就让LED灭 1. 驱动文…

计算机网络(2) --- 网络套接字

计算机网络(1) --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…

微信小程序 背景图片如何占满整个屏幕

1. 在页面的wxss文件中,设置背景图片的样式: page{background-image: url(图片路径);background-size: 100% 100%;background-repeat: no-repeat; } 2. 在页面的json文件中,设置背景图片的样式: {"backgroundTextStyle&qu…

Go 下载安装教程

1. 下载地址:The Go Programming Language (google.cn) 2. 下载安装包 3. 安装 (1)下一步 (2)同意 (3)修改安装路径,如果不修改,直接下一步 更改后,点击下一…

代码随想录算法训练营第三十天 | 单调栈系列复习

单调栈系列复习 每日温度未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素 I未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素II未看解答自己编写的青春版重点题解的代码日后再次复习重新写 接雨水未看解答自己编写的青春版…

Maven 插件安装 Maven Helper插件安装 成功解决IDEA2022 Plugins 连不上、打不开

IDEA Maven Helper插件(详细使用教程)_程序之大道至简的博客-CSDN博客 成功解决IDEA2022 Plugins 连不上、打不开_idea插件市场连不上_loulanyue_的博客-CSDN博客

计算机毕设 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长…

《数据同步-NIFI系列》Nifi配置DBCPConnectionPool连接SQL Server数据库

Nifi配置DBCPConnectionPool连接SQL Server数据库 一、新增DBCPConnectionPool 在配置中新增DBCPConnectionPool,然后配置数据库相关信息 二、配置DBCPConnectionPool 2.1 DBCPConnectionPool介绍 主要介绍以下五个必填参数 Database Connection URL&#xff1…

iOS开发-实现自定义Tabbar及tabbar按钮动画效果

iOS开发-实现自定义Tabbar及tabbar按钮动画效果 之前整理了一个继承UITabbarController的Tabbar效果 查看 https://blog.csdn.net/gloryFlow/article/details/132012628 这里是继承与UIViewController的INSysTabbarViewController实现及点击tabbar按钮动画效果。 一、INSysT…

修改内核驱动之后-如何给内核打补丁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言思路步骤1.进入下面路径2.修改文件calibrate.c3.使用git工具生产补丁文件4.移动补丁文件到自己的Linux的recipem目录下总结前言 本文来学习如何使用YOCTO修改Linux内核驱动之后,如何通过打补…

Android开发——SQLite数据库的使用

Android开发——SQLite数据库的使用 文章目录: Android开发——SQLite数据库的使用一、认识SQLite1、SQLite的特性2、SQLite的适用场景 二、SQLite在Android开发中的应用1、工具类的编写2、信息的插入3、信息的读取 一、认识SQLite 1、SQLite的特性 SQLite是一个进…

qt源码--事件系统之QAbstractEventDispatcher

1、QAbstractEventDispatcher内容较少,其主要是定义了一些注册接口,如定时器事件、socket事件、注册本地事件、自定义事件等等。其源码如下: 其主要定义了大量的纯虚函数,具体的实现会根据不同的系统平台,实现对应的方…

软件测试员的非技术必备技能

成为软件测试人员所需的技能 非技术技能 以下技能对于成为优秀的软件测试人员至关重要。 将您的技能组合与以下清单进行比较,以确定软件测试是否适合您 - 分析技能:优秀的软件测试人员应具备敏锐的分析能力。 分析技能将有助于将复杂的软件系统分解为…

leetcode300. 最长递增子序列 子序列(不连续)

https://leetcode.cn/problems/longest-increasing-subsequence/ 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#x…

LeetCode每日一题Day1——买卖股票的最佳时机

✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🐳专栏:算法修炼之练气篇(Python版) ✨…

Ribbon源码

学了feign源码之后感觉,这部分还是按运行流程分块学合适。核心组件什么的,当专业术语学妥了。序章:认识真正のRibbon 但只用认识一点点 之前我们学习Ribbon的简单使用时,都是集成了Eureka-client或者Feign等组件,甚至在…

开发一个RISC-V上的操作系统(五)—— 协作式多任务

目录 往期文章传送门 一、什么是多任务 二、代码实现 三、测试 往期文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二)—— 系统引导程序&a…

UE5.0.3 widget截图问题

遇到了一个特殊需求:我们需要给特定的widget进行截图,该widget正在播放一个视频 新建一个UFunctionLibrary类,我们使用FSlateApplication类里面的TakeScreenShot()函数进行截图。 具体代码如下: void UShotFunctionLibrary::Sho…

Mac下certificate verify failed: unable to get local issuer certificate

出现这个问题,可以安装证书 在finder中查找 Install Certificates.command找到后双击,或者使用其他终端打开 安装完即可

C#+GDAL影像处理笔记08:读取dxf文件中的多边形并统计其面积

目录 1 概述 2 dxf解析核心API 2.1 代码框架 2.2 不同类型的几何对象 2.3 重要属性介绍