11、为什么开展接口测试?
1)接口测试属于集成测试、测试介入越早、就越能在项目早期发现问题,其修复问题的成本越低
2)接口测试非常快速、UI自动化执行一个测试用例10S左右、接口测试用例执行的话,需要的时间是毫秒级的
12、之前在接口测试过程中,使用的工具是什么?
postman或jmeter(5.1)
13、之前用过抓包工具没有?如何使用的?
之前在项目中用过fiddler抓包工具进行HTTP协议请求的抓取
打开fiddler之后,默认浏览器配置了127.0.0.1 8888端口的代理,在fiddler设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包
14、json数据是什么,你平时如何解析json数据?
一种开发常用的数据报文格式,由键值对和数组两种格式构成。可以通过工具bejson网站等
15、postman你在工作中使用流程是什么样的?
1)编写好用例
2)在postman先建好url环境变量
3)根据接口用例所属的模块新建集合管理
4)在集合中不同模块下录入测试用例
5)录入测试用例的时候根据预期结果在tests页签中增加断言
6)导出通过Newman去运行
16、postman中设置环境变量有什么用?
在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在postman设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{{变量名}}去调用。
17、在接口测试中关联是什么含义?如何用postman设置关联?
关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行
在postman中设置关联的步骤如下:
1)先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来
2)使用设置全局变量的代码把取出来的值保存到全局变量
3)在下一个接口中,使用{{全局变量}}代替要替换的静态值
18、postman支持什么类型的协议测试?
http和https协议的
19、postman参数化有哪几种方式?
内建变量、pre-scripts编写js脚本、批量运行时导入csv或json格式的文件
20、Newman如何执行postman脚本?
Newman run 脚本名称 也可以添加参数生成html报表等
21、jmeter之前用的是什么版本?如何安装的?
jmeter用的是5.1.1版本,安装如下:
先在电脑上安装jdk1.8或以上的版本,然后从官网下载最新的安装包,解压后,进行环境变量的配置,配置好后即安装完成
22、在项目中如何用jmeter进行接口测试?
1)把线程组数量设置为1,循环次数设置为1
2)配置好全局变量URL通过配置元件—用户自定义的变量添加
3)增加配置元件http请求默认值,放置在用户定义的变量之后
4)添加事务控制器管理和组织测试用例
5)在事务控制中添加http请求添加测试用例中的接口请求信息
6)添加对应的断言元件进行断言
23、jmeter中如何设置断言?
右击请求—断言—响应断言—响应断言界面输入要检查比对的项,设置好断言后,执行接口测试如果是通过的,查看结果树不会有任何提示,如果断言失败,就会有红色报错。如果接口返回的数据是json数据,也可以添加json断言
24、jmeter中如何实现关联?
先从上一个接口中通过正则表达式提取器或jsonpath解析器截取下一个接口需要的参数值保存到变量,然后在写一个接口中通过${变量名}去获取
25、jmeter添加http请求默认值元件有什么作用?
添加并设置好后,相当于给所有的http请求取样器都设置了默认值,既不用填写取样器中的比如主机地址、端口、代理等,都可以使用http请求默认值设置的
26、jmeter参数化的方式有哪几种可以实现?
1)配置元件—用户定义的变量元件可以设置全局变量
2)函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化
3)可以使用csv文件作为参数化,通过配置元件中的csv data set config元件进行设置即可