接口测验理论
自动化测验的金字塔模型
硬件接口:比方usb接口,电源接口、耳机接口...
软件接口:数据体系拜访接口、 http恳求接口...
为什么要做接口测验
Web前端:指用户能够直观操作和看到的界面。html,Css款式,javascript脚本。android和ios等。
web后端:是指与数据库交互进行处理呼应的事务逻辑。包含java、python、php 、net等。
经过接口进行交流A8站源码交易平台。
什么是接口?(API)
API,接口是一个坐落杂乱体系之上能简化使命,像中间人相同不需求你了解具体的一切细节。比方登录页面,只需求调用登录接口,就能够到达体系登录的意图。
接口的官方界说:接口是模块与模块之间的对接办法界说,或许是体系与体系之间的对接办法界说
接口测验与功用测验的对应联系
接口测验也是一种功用测验,一般的功用测验在网页上模仿用户操作,接口测验是帮忙东西,经过接口文档,输入恳求参数,校验回来的正确性。
单元测验与接口测验的差异:
1、单元测验重视代码逻辑,接口测验重视事务逻辑
2、单元测验粒度最小,是测验最小独立的的单元模块(不依靠其他模块);接口测验不是,会掩盖许多
3、单元测验是白盒测验,接口测验是黑盒测验
4、单元测验重视的代码完结和逻辑,测验规模较小,确保完结逻辑经过就行;接口测验由于重视事务逻辑,所以测验规模较广泛
接口测验流程
需求评定,熟悉事务和需求——>开发供给接口文档(假如没有接口文档就经过抓包东西进行抓包)——>规划测验用例——>用例评定——>履行测验——>编写测验报告
接口文档包含以下哪些内容?A8站源码交易平台
1、接口描绘,这个接口是做什么的
2、恳求的URL,恳求的办法,post get
3、恳求的参数(入参),恳求的参数类型、恳求的参数阐明
4、回来呼应、回来参数阐明
怎么规划接口测验用例
主要从以下几个方面考虑:
正常验证:事务规矩、功用需求、依照接口文档中的要求,参数正常输入、回来预期的成果
反常验证:不满足前置条件,常见的有些接口需求token或许cookie,带着默许参数值,带默许值的参数不填,入参的必填的参数不填,入参的长度不符合、入参的类型的反常
安全性验证:要害参数是否明文传输、暗码安全校验规矩、暗码杂乱程度、像购物订单,用户下单,服务器是否再校验
接口的功能
web自动化测验的二种思路:
1:UI层面自动化,能够运用selenium这样的UI自动化测验结构,模仿用户操作。
2:接口层面的自动化,用发包东西模仿浏览器发包,直接发送http恳求给Web服务器,然后对服务器呼应回来的成果进行验证。
接口测验东西:
1:抓包东西:fiddler charles
2:发包东西:jmeter postman或许商业性的Loadrunner
面试题:为什么要进行接口测验?
接口测验由于绕开了前端,直接经过恳求调用的办法进行测验,
1:更早的测验介入,只需接口开发完结,就能够进行测验
2:更多的场景掩盖,由于绕开了前端操控,使得测验场景更自在
3:接口测验从项意图视点,工作量是低于UI测验的,出资报答较高
4:接口测验关于自动化的支撑度更好,接口测验能够扩大关于其他类型测验的支撑,比方功能测验、安全性测验等,假如接口测验做欠好的话,这两种测验也做欠好。
jmeter环境装备
需求装置jdk环境
jmeter根据接口的测验
Loadrunner是根据场景的测验
接口测验根据:
1:参数接口文档填入参数
2:没有接口文档,那就需求先跟开发交流,然后收拾接口文档,选用抓包东西fiddler抓包,查看接口恳求的参数
jmeter操作根本过程:
1:增加线程组
2:线程组——>samples——>http恳求
3:http恳求——>Listener(监听器)——>增加查看成果树
jmeter参数化
1:预备参数文件
2:Thread Grop——>Add——>Config Element——>Csv Data SetConfig
3:运用变量
4:设置线程数
Number of Threads(users):一个用户占一个线程,200个线程便是模仿200个用户
Ram-Up Period(in seconds):设置线程需求多长时间悉数发动,假如线程数200,预备时长为10
Loop Count:每个线程发送恳求的次数,假如线程数是200,循环的次数为10,那么每个线程发送10次恳求,总恳求数为200*10=2000
断语:恳求成功,回来呼应代码为200,并不代表成果必定正确,还需求判别回来内容的正确与否。因此在恳求的回来层面增加一层判别机制,以此来进步测验的准确性(类似于Loadrunner查看点)
Response Assertion(呼应断语)
1:增加呼应断语对web恳求的呼应进行验证,恳求右键——>增加——>断语——>呼应断语
2:输入需求匹配的字符
3:增加断语成果,恳求右键——>增加——>监听器——>断语成果
4:运转Testplan中的线程组,进行断语查看
jmeter中监控Linux中服务器资源
客户端(Jmeter端)
访问网址https://jmeter-plugins.org/downloads/old/,下载JMeterPlugins-Standard和JMeterPlugins-Extras这两个文件,解压仿制JmeterPlugins-Extras.jar、JmeterPlugins-Standard.jar到Jmeter文件夹的lib/ext途径下
重启jmeter后,在监听器中看到perfmon Meterics collector,客户端装备成功
服务器
1、把下载的ServerAgent-2.2.*.zip仿制到服务器端,解压即可unzip ServerAgent-2.2.*.zip
2、cd ServerAgent-2.2
3、chmod 777 startAgent.sh
4、./startAgent.sh
面试题:
在手艺接口测验或许自动化接口测验的过程中,上下流接口有数据依靠怎么处理?A8站源码交易平台
答案:在jmeter中能够用正则表达式来来完结。
第1步:Jmeter中相关能够在需求获取数据的恳求上 右键-->后置处理器 挑选需求的相关办法,
第2步:设置正则表达式提取器:包含引证称号、正则表达式、模板、匹配数组等
第3步:在其他下流恳求顶用${引证名}来或取第2步中的值