接口自动化知识梳理

软件测试小dao 软件测试小dao     2022-12-11     256

关键词:

接口自动化知识梳理
学习知识块:基础知识 类与对象 单元测试 requests openpyxl pandas re ddt unittest mysql logging
框架梳理
学习方式:靠时间堆 思考清楚
http请求类:写2组数据在Python里面。
单元测试类:写2组数据在Python里面。
解决数据的分离:数据写到Excel里面去。
解决参数的依赖关系。
解决参数的自动化做参数的问题。
数据库校验 期望结果。
学习目的
1.加深对自动化的理解:功能自动化。

2.需求分析。

3.掌握数据分离/代码分离/文件分离的概念。

1.为什么要去做自动化?
自动化的本质是让工作更加方便轻松。

稳定性测试,维护性测试,回归测试的时候用自动化。

新加的功能不可以做自动化,必须手工去做。

例如如果参数替换格式不对怎么办?

如果这个参数是不必要做参数化的,对数据的格式有强烈的要求,这样的情况建议不做参数化。

设计自动化的时候:框架非常重要,思路也很重要。

2.测试数据
放哪:excel–DoExcel 专门负责读取数据。

怎么读:用例的可配置。

参数化:每次会自动的更新测试数据–省去手工操作。

特殊点:注册手机号的处理。

Excel写一个初始化手机号。

sql语句查询当前存在的最大的手机号,在此基础上+1.

写死的手机号—不推荐。

数据的替换:参数化之后–读取数据时要进行替换。

期望结果:参数化的地方做好替换。

实际结果:

写入Excel里面去。

利用断言与期望结果做比对。

测试结论:

通过就pass,不通过就fail,同步写入测试结果进去。

3.接口自动化测试思路
1.利用单元测试去执行用例。

2.把测试数据和测试结果存在Excel里面。

3.把整个代码的运行过程放在日志里面。

4.执行的报告会生成html。

5.利用ddt还有其它的一些处理方式。

第一步考虑测试数据,测试数据不仅包括我请求的那些数据,包括针对不同的模块,如果尽可能想用参数化的话,比如地址,参数,期望结果,实际结果等这些都可以存到Excel里面去。

这样做就是为了提高代码的复用性,让它的改动尽量少一点。不管哪个模块的用例,都可以用这套框架去跑。

把数据放进去只是第一步,怎么去读,怎么去执行,执行哪一些?都涉及一个可配置,也就是让用例活起来。

4.参数化:标记。
通过代码处理数据,链接数据库,自动更新。

手机号注册:手机号+1

或者去数据库查询一个最大的手机号去做操作。

5.数据的处理:包含请求数据和请求结果。
怎么去写回,怎么去做,怎么去把它写进去,怎么去定义这个结果。

6.ddt
拿到数据进行拆分,方便拿到多少数据就执行多少条用例。

7.数据库校验
不同的数据库需要不同的数据驱动。

需要校验吗?

涉及金额的变化的一些正常操作,做校验多点保障。

数据库校验:用户的金额,账户这些,肯定会检查账户的。

如果不校验数据库,全写在Excel里面,全靠眼睛看期望值实际值,是比较困难的。

利用数据库完成数据的查询。

数据库如何写成一个类?

配置文件+数据库操作类。

8.应该要用哪些框架或者思路?
Excel+请求+mysql

Excel存请求数据和结果。

请求就是http请求帮你完成请求,最后查询数据,还是要写回Excel。

Http:requests

sokect:Python什么库支持这个协议。

webservice:suds库。

dubbo

在不太懂这个协议怎么用的时候,先写成框架,先发一个请求,能够请求成功之后,再去考虑把它封装成类,然后进行单元测试,数据参数化,写回结果。

框架:写的这一整套代码就是框架。

就是第三方模块的学习,把它组装,然后就成了框架。

例如我写的http接口的框架,以后遇到别的http接口,可以按照这个套路去做,改下用例,稍微改下里面的代码就可以了,这个就是框架的意义。

框架:步骤 思路 用到哪些技术?

unittest ddt openpyxl mysql requests config log email jenkins unittest+python+ddt

9.必会:每个接口跟数据表的一个对应关系。
10.普及数据分离/代码分离/文件分离的概念。

11.补充
soapui看看webservice有什么接口地址。

13083138929

根据手机号码的后3位去进行存储,举个例子,13083138929,那么短信验证码会存在29库,89表。

如果找短信验证码,写sql语句根据手机号码去查,找到对应的库,找到对应的表,这就是分表分库设计。

任何地址,不管是用任何工具还是写代码,还是各种请求,地址后面不能有空格,有空格就不识别这个地址。

12.遇到报错怎么办?
对于小白来说,打印比Debug好用。如果发现报错了,可以打印下。

哪行报错了,就在调用之前和调用后给它打印出来。

自己解决的问题,才会记得住!!!

鱼的记忆,所以做笔记很重要!!!

勤动手写,不要老是问别人,实在自己解决不了的情况下,问了别人,找到了答案,切记一定要记下来!!!!

13.返回结果要关注什么?
关键字段。

跑接口最关注的是状态码是不是对的,前期功能测试都测过了,所以只考虑code或msg,以这种进行校验就可以了。

不同的数据库用不同的数据驱动。

14.unittest核心步骤
15.常识
web自动化很重要!

先学web再学app。

先熟悉业务,才能写框架。

初步框架1-2周,1个月时间完成。

写框架需要接口地址,接口需求文档

最后:【可能给予你一定的帮助】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流群:644956177 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

疫情期间的学习与收获

...高测试覆盖度(广度、深度)的方法思考与梳理2、接口自动化测试知识学习内容:(1)结合互联网资料及目前公司的接口自动化测试框架,学习接口自动化测试技术,测试用例设计等(2)可外网下载robot工具进行练习;(常见... 查看详情

帮你梳理正则表达式的基础知识

...们平时的工作中相当的常用,无论是写jmeter脚本,或者写自动化脚本,都可能会用到正则表达式。这篇文章主要梳理正则表达式的常用知识点,并结合一些具体的例子,让大家能掌握使用正则表达式的正确姿势,以至于有打通“... 查看详情

java知识点梳理——多态

...同一个行为具有多个不同表现形式或形态的能力,即一个接口不同的实例执行不同的操作;2、优点:消除类型之间的耦合关系、可替换性、可扩展性、接口性、灵活性、简化性;3、多态存在的3个必要条件  a、继承:在多态... 查看详情

spring核心知识点梳理

...ent)  监听事件方法注解:@EventListener  监听服务启停接口ApplicationListener publicinterfaceApplicationListener<EextendsApplicationEvent>extendsEventListener  voidonApplicationEvent(EparamE);,  常用事件:if(applicationEventinstanceofContextClosedEvent)... 查看详情

软考知识点梳理--项目管理系统

...目的目标。??项目管理信息系统为监控项目工作过程提供自动化工具,以及绩效指标,数据库,项目记录和财务数据等,一般包含两块核心的功能,分别是计划和控制。计划系统主要围绕质量、时 查看详情

软件测试知识大全(视频资料)

文章中将软件测试分为功能测试、自动化测试、接口和性能测试三个模块由浅入深的学习,需要通过系统的学习,梳理知识点,掌握每一个知识点,掌握fidder抓包工具,Postman和Jmeter试试接口测试,Jmeter和Lo... 查看详情

11--java--jdbc知识梳理

...on),使用java语言连接数据库,是java提供一套操作数据库的接口(标准),实现对数据库的统一访问,是一个java引用应用程序与数据库交互的桥梁。                   二、组成:     DriverManager... 查看详情

dom知识点梳理(笔记)

...范成为了W3C的推荐标准,为基本的文档结构及查询提供了接口。一、Node类型  每个节点都有个nodeType属性,表明了节点的类型。共有12种类型:   元素节点              &... 查看详情

重新梳理it知识之java-01语法

0.标识符的命名规范包名:xxxyyyzzz类名、接口名:XxxYyyZzz(大驼峰)变量名、方法名:xxxYyyZzz常量名:XXX_YYY_ZZZ//**************强制类型转换***********classTest{publicstaticvoidmain(String[]args){doublea=12.3;intb=(int)a;//这里将a的类型(double)转换为in 查看详情

知识点梳理网络基础

...层会话层.传输层网络层数据链路层物理层2者可以叫网络接口层tcp:可靠的,面向连接的协议eg:打电话.传输效率低全双工通讯(发送缓存&接受缓存)面向字节流.使用tcp的应用:web浏览器;电子邮件,文件传输程序udp:不可靠的,无连接的... 查看详情

使用jmeter做接口验证测试

参考技术A说明:最近在做老系统的接口自动化,老系统的接口欠缺维护;我一步步梳理清楚业务主流程,然后对主流程接口在jmeter上进行验证(顺便做下单接口的并发,下期讲),接口流程跑通后,就可以直接快速编写接口自... 查看详情

java内存泄漏定位和解决,学习路线+知识点梳理

...级-高级面试集合Java基础(对象+线程+字符+接口+变量+异常+方法)Java中级开发(底层+Spring相关+Redis+分布式+设计模式+MySQL+高并发+锁+线程)Java高级“程序猿”ÿ 查看详情

es基础知识与高频考点梳理(代码片段)

知识点梳理目录列表变量类型JS的数据类型分类和判断值类型和引用类型原型与原型链(继承)原型和原型链的定义继承写法作用域和闭包执行上下文this闭包是什么异步同步VS异步异步和单线程前端异步的场景ES6/7新标准的考查箭头... 查看详情

接口测试基本理论知识总结(书籍推荐:自动化测试实战宝典)

什么是接口测试?接口测试主要检测系统中模块与模块中,交互的点。重点是检查数据的交换、传递,以及模块之前的联系关系。测试策略接口测试可以分为,接口功能测试,接口性能测试(压测),接口稳定性测试(某一个时... 查看详情

关于rf做自动化大致流程的梳理

...理。结合其它第三方库,可以进行,接口,数据库,APP的自动化测试。结合JENKINS,还可以进行有效的持续集成。本文不讲调用第三方库的哪些关键字,只是简单梳理一下运用RF的一些基本流程。一,RF的安装。分为在线安装和离... 查看详情

makefile常用基础知识梳理!(代码片段)

...指令)进行我们的项目编译。即借助Makefile可以做到自动化编译。Makefile的实例1、基础实例万年不变helloworld,使用make编译hello.c。对应的Makefile文件:hello:hello.c gcc hello.c -o hello2、开源项目实例 查看详情

接口自动化测试实践指导(中):接口测试场景有哪些

在第一篇文章接口自动化测试实践指导(上):接口自动化需要做哪些准备工作中详细给小伙伴们讲解了一下接口自动化需要做哪些准备工作,准备工作中最后一步接口测试用例设计是非常重要的一个环节,... 查看详情

日志相关知识梳理

日志相关知识梳理​​概述​​​​JCL​​​​SLF4J​​​​使用jcl绑定器​​​​绑定logback​​​​绑定log4j​​​​log4j2​​​​总结​​​​slf4j的桥接器如何使用​​概述日志我们工作当中经常使用,我还没真心认真梳理... 查看详情