这个是我人生中第一次写博客,也不知道怎么写,就准备写写上周六第一次上的自动化测试课程中学习到的知识点吧。
一、postman,是一款功能强大的接口测试工具,可以提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。
这边主要说下postman的一些主要的知识点
1.设置全局变量
打开postman客户端,点击右上角的小齿轮按钮,在下拉菜单中选择第一个菜单,也就是Manage Enviroments
点击Manage Enviroments后便可以打开设置全局变量的对话框,然后点击右下方的Globals按钮,就是设置全局变量
在key和value的输入框中输入对应的值,点击页面右下角的save按钮就设置成功了
2.使用全局变量
使用全局变量就是在接口地址的ip的地方输入设置的全局变量的key的名称,在其外面加两个大括号{{}}就可以了
2.使用postman做接口测试
1)根据接口文档确定接口的类型是post还是get,先选择接口的类型
2)选择了接口类型后就需要将接口的测试地址输入至输入框,其中的ip地址可以直接输入也可以用全局变量,选择"Body"后输入接口文档中的传参,包括参数名和参数值
如果没有其他的要求,如此便可以点击右上方的“send”直接运行,进行测试了
3)接口中消息头的添加
如果接口中需要添加消息头,则在工具中的Headers中输入消息头的key和对应的values的值,再在body中输入必填的参数,然后进入运行
4)上文文件接口
仍然是在body中,输入对应的key,在value的类型中可以点击,下拉选择file,然后上传文件运行即可
5)json格式的传参
如果接口文档中的传参是json格式的,则只要在输入参数的时候,选择raw项即可
6)get类型的接口
get类型的接口在测试是,当然首先是降接口类型选择为GET,然后直接输入接口地址,在地址后加?后面添加参数和对应的值,多个参数之间用&分开,然后直接运行即可
二、接口测试工具很多,课程上学习了另外一个工具Jmeter,下面就来记录下学习到的关于jmeter(我目前用的是4.0的版本)这个工具的一些知识点
jmeter 开源的java开发的一个压力测试工具,关于jmeter的安装就不写了,安装很简单,配置环境变量其实也不难,网上很多教程,但是惭愧的是我还是在环境变量的配置上花了很多时间,当然是由于个人的原因,不说了,说多了都是泪,主要还是来说说这个工具的几个特殊的功能点吧
1.现在很多jmeter安装直接使用的话,有些地方会展示乱码
第一个地方是查看结果树的内容中会出现乱码,解决的方法是:1)在jmeter的bin目录下找到jmeter.properties这个文件
搜索"ISO"(因为默认编码为:ISO-8859-1)更新为:sampleresult.default.encoding=utf-8
2)重启jmeter
第二个地方是jmeter body data的内容中会出现乱码,解决的方法是:1)在jmeter的bin目录下找到jmeter.properties这个文件
把#jsyntaxtextarea.font.family=Hack的前面的#号去掉
2)重启jmeter
2.使用jmeter来测试接口
1)切换语言
打开jmeter工具,在左上角的菜单中找到options,下拉选项中有个Choose Language是可以用来切界面换语言的
2)添加线程组
添加线程组相当于建一个队伍,然后一个项目下的接口都可以写在这个线程组下面,右击Test Plan
3)添加HTTP请求,也就是添加测试接口的用例,右击线程组后新建的接口测试用例就会属于这个线程组下面(后面会写到自定义变量的影响范围)
4)get类型的接口,在最上方的名称后面可以写对应接口的名称,以便区分于其他接口,服务器名称或ip一栏中输入ip地址或者填写设置好的公共变量(下面会讲如何设置公共变量),方法选择GET类型,路径填写接口的测试地址,只要填写ip地址后面的就可以,在页面底部有个添加按钮,点击后输入需要传入的参数以及对应的参数值,至此,所有的信息就全部填写好了,可以调用接口了,POST类型的接口只要在接口类型中选择POST就可以了,其他的参数添加跟GET类型是一样的
5)添加查看结果树,接口调用后我们需要查看返回结果,这个时候就需要添加查看结果树。右键线程组或者右键某一个http请求都可以添加查看结果树,两者的区别在于影响范围,前者是在该线程组下运行的接口结果都可以查看,而后者只能查看单个接口返回的结果
6)用户定义的变量,之前在新增接口用例时,ip一栏可以直接输入地址也可以使用自定义变量,自定义变量的添加也存在层级关系,在线程组添加的,这个变量就适用于该线程组下所有的接口请求
7)一个接口的参数值来源于其他接口的返回值,这种情况下就要设置对应的变量。例如一个接口是给学生充值,一个接口是登录接口,其中给学生充值的接口需要传一个参数是学生账户信息,这个信息依赖于登录接口返回的值,所以此时需要建一个变量来调用
该变量中需要定义的是变量名:sessionid(这个随意取名,只要与后面调用它的地方保持一致便可),变量值是返回结果中的数据:示例中$.login_info.sign,sign是我们需要的值,而login_flogin_info是sign上一层级的参数名称,$则是最外层的参数
充值接口中添加的header参数cookie的值就可以直接写刚才定义好的参数即可
8)上传文件接口,上传文件的接口中jmeter有一个地方需要注意,就是添加文件参数的MIME类型需要填写,不然调用接口的时候会报错
9)循环固定次数操作文件中对应的数据,此时也需要设置对应的变量,首先需要建一个文档,在文档中输入接口传参的多个值
在CSV文件设置中依次输入文档的绝对路径和自己命名的变量名称
在调用该变量的接口参数的值设置时直接使用变量名称,该示例中文档中的内容是stu_id
10)循环新增数据可以通过函数来实现,每个函数都会有自己的意思,所以这边就简单讲下如果使用了
函数助手中有很多不同功能的函数,在选择某一个函数后,点击“生成”按钮,就可以生成可以拿来直接用的函数格式
将生成的函数格式直接复制至对应的参数值上就可以了
用jmeter编写接口测试用例是个树形结构,所以在新增变量,结果树等的时候都存在一个层级关系,也就是建在哪个上面,就对其及其所有子集都会起作用,而且接口测试用例在执行的过程中也是按顺序来的,所有在写测试用例的时候要稍微注意些各个接口之间的先后关系。这次就先写这么多内容了,以后学习了再来进行补充。