2023最经典的Python接口自动化测试中的用例编写问题总结

news2024/10/3 4:34:03

本篇文章分享几个接口自动化用例编写过程遇到的问题总结,希望能对初次探索接口自动化测试的小伙伴们解决问题上提供一小部分思路。 

B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliB站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

一、sql语句内容出现错误

空格,由于有些字段判断是变量,需要将sql拼接起来,但是在拼接字符串时没有加空格导致报错。

错误状态,打印出来就好排查啦,一看and和时间连起来了,果然是这里出错。

修改后,能够读到数据库中内容了。

二、sql语句格式错误

检索类型,有些需要加引号,因为sql语句包含XXXX类型,对于如上面例子中的日期类型是datetime.date,直接用qiandao = t_date 不可行。

 三、断言返回数据的类型

判断业务状态码时需注意返回的code值类型,开发可能写int或string类型不统一,php语言int / string 区分不是很严格,而python对其有区分,所以需要结合服务端代码进行编写,如:

 四、业务逻辑覆盖判断

某个接口逻辑,肯定在不同条件下会判断并返回不同的值,就像游戏升级一样一级一级进行判断。

在构造时我们必须首先构造其中的测试环境的条件,或者知道判断条件后,对测试环境及结果进行判断断言。

以下例子包含以上两种检查方式,这里不方便公开,对环境的构造统一先用中文注释,调用函数对应相应环境即可。对于结果已知的注册时间天数判断在断言中进行判断。如:

 

五、一些具体业务需求需要封装api

如几天前的时间按照自然日判断还是按照时间间隔判断,换算小数保留方式封装,数据库&redis的增删改查封装等(根据实际需要),这种对于不是特别熟悉python自带哪些库的同学来说很实用。

这里最重要的一点是能够了解自己的需求,并想方法进行拆分用更细致的步骤实现。

如,当然还有对hash类型的操作等,还有重要的一点就是一定要写清注释,方便调用和其他人调用

 

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

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

相关文章

4月,不要跳槽...

跳槽是每个人都可能面临的选择,但不同的时间点会对跳槽带来不同的影响。对于软件测试人员来说,4月份并不是最适合的跳槽时间。原因如下: 与企业目标和计划相关。一般情况下,公司在1月份会制定本年度的发展目标和计划,而…

力扣sql中等篇练习(五)

力扣sql中等篇练习(五) 1 股票的资本收益 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 每个用户的所有Sell的price值减去Buy的price值就可以了 SELECT stock_name,SUM(IF(operationBuy,price*-1,price)) capital_gain_loss FROM Stocks GROUP B…

IT知识百科:什么是SSID?

一、什么是SSID SSID(Service Set Identifier)是无线网络中的一个重要概念,它是一个用于标识无线局域网(WLAN)的名称。SSID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称。在无线…

【JavaScript】5.JavaScript内置对象

JavaScript 内置对象 JavaScript 中的对象分为3种 自定义对象内置对象浏览器对象 前面两种对象是JS 基础 内容,属于 ECMAScript; 第三个浏览器对象属于JS 独有的 内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,…

数据通信基础 - 数据通信方式

文章目录 1 概述2 分类2.1 按通信方向分2.2 按同步方式分 3 扩展3.1 网工软考真题 1 概述 分类维度分类解释举例通信方向单工通信信息 只能在一个方向发送,发送方不能接收,接收方不能发送电视、广播半双工通信通信双方可以 交替发送和接收信息&#xff…

分布式锁+AOP实现缓存

分布式锁AOP实现缓存 1、分布式锁AOP实现思想2、不使用AOP的情况2.1 没有使用缓存时代码2.2 使用Redis实现分布式锁的代码2.3 使用Redisson实现分布式锁2.4 测试缓存命中2.5 存在问题 3、分布式锁AOP实现3.1 定义注解3.2 定义一个切面类加上注解3.3 使用注解完成缓存 1、分布式…

函数的缺省参数,函数重载与底层函数名修饰解释,引用的初步介绍

TIPS 使用C输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C的输入输出可以自动识别变量类型。在日常练习中,建议直接using namespace std即可,这样就很方便。using namespace std展开,标准库…

ReetrantLock源码剖析_03公平锁、非公平锁

一直努力就会有offer,一直努力就会有offer,一直努力就会有offer! 文章目录 ReetrantLock公平锁代码解析ReetrantLock公平锁执行流程ReetrantLock非公平锁代码解析ReetrantLock非公平锁执行流程公平锁与非公平锁的比较 ReetrantLock公平锁代码…

前端部署发布项目后,如何通知用户刷新页面、清除缓存

以下只是一些思路,有更好的实现方式可以留言一起交流学习 方式一:纯前端 在每次发布前端时,使用webpack构建命令生成一个json文件,json中写个随机生成的一个字符串(比如时间戳),每次打包程序都…

【Python入门第五十天】Python丨NumPy 数组搜索

搜索数组 可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。 要搜索数组,请使用 where() 方法。 实例 查找值为 4 的索引: import numpy as nparr np.array([1, 2, 3, 4, 5, 4, 4])x np.where(arr 4)pri…

node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

使用 gvm 可以带来以下好处: 快速切换 Golang 版本,方便进行版本测试和开发;可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突;可以通过 gvm 管理不同版本的 Golang,方便安装、卸载和更新&am…

STL--vector

一、vector介绍 vector是表示大小可以更改的数组的序列容器 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而…

移动端屏幕适配

文章目录 移动端屏幕适配移动端屏幕适配和响应式布局区别基本知识简单屏幕适配 移动端屏幕适配 移动端屏幕适配和响应式布局区别 移动端适配响应式布局终端移动端PC端和移动端常用单位宽高:rem 或 %字体:px宽:%高、字体:px宽高宽…

Docker网络模式与cgroups资源控制

目录 1.docker网络模式原理 2.端口映射 3.Docker网络模式(41种) 1.查看docker网络列表 2.网络模式详解 4.Docker cgroups资源控制 1.CPU资源控制 2.对内存使用的限制 3.对磁盘IO的配置控制(blkio)的限制 4.清除docker占用…

Vue3教程

文章目录 参考资料1 setup语法糖1.1 vue2中的写法1.2 setup语法糖在vue3中使用 2 ref reactive 事件2.1 ref2.2 reactive2.3 事件:在setup script中,直接定义事件,不需要像vue2那样在method中定义 3 computed & watch & watchEffect3…

详解DHCP和DNS实验汇总

文章目录 1.实验说明2.实验步骤2.1(linux的CentOS 7-2)命令配置2.2 (linux的CentOS 7-3)命令配置2.3 客户端(WIN10)命令配置2.4 客户端(CentOS 7-1)命令配置 1.实验说明 实验要求:要求在一台主机中同时配置DNS服务器和…

【SpringCloud】1、Nacos注册中心、配置中心搭建

1、Nacos 简介 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助…

PartiQL 对 SQL 的扩展,可以查询非结构化的数据

目录 开始 先决条件 下载 PartiQL CLI 运行 PartiQL CLI 窗户 macOS (Mac) 和 Unix 命令行教程 介绍 PartiQL 查询与 SQL 兼容 PartiQL 数据模型:许多底层数据存储格式的抽象 了解更多信息 查询嵌套数据 嵌套集合 取消嵌套嵌套…

Hbase数据库完全分布式搭建以及java中操作Hbase

文章目录 1.基础的环境准备2.完全分布式 Fully-distributed2.1 配置文件hase-env.sh2.2 hbase-site.xml2.3 配置regionservers2.4 配置备用的master2.5 HDFS客户端配置2.6 启动2.7 通过页面查看节点信息 3. java中客户端操作Hbase3.1 引入依赖3.2 初始化创建连接3.3 操作Hbase数…

Qt/QML编程学习之心得:D-BUS进程间通信(四)

Qt/QML应用编程最适合于一些触摸的嵌入式界面设计,那么GUI界面怎么与底层的设备通信,怎么与一个系统内其他模块通信的呢?这就不得不说一个很重要的设计模式:d-bus。 D-BUS是一个系统中消息总线,用于IPC/RPC。消息系统…