day1_接口测试演练

1、通用接口用例设计

1.1    测试内容

  通过性验证、接口安全、异常验证(必传非必传、参数类型、入参长度)、业务逻辑

    例如:接口安全关键字段如密码有没有加密 (F12开发者工具-network)

  

 

1.2   接口测试模板

1、项目            是哪个项目的

2、模块            这个接口是属于哪个功能模块的

3、用例id

4、接口名称

5、用例标题      用例是干嘛的

6、请求方式      GET/POST

7、请求url         url地址

8、请求参数

9、前置条件       有依赖的时候,比如说要测登录失败3次的

10、结果验证     预期结果

11、请求报文    

12、返回报文 

13、测试结果    通过/失败

14、测试人员

 

2、关于接口知识补充

2.1   cookie、session

  • cookie是在本地存的键值对,session是在服务端存的键值对
  • cookie清空,右键clear,或按 clear all。如登录后清空cookie,刷新页面就会是未登录 状态
  • postman要发送cookie,可能需要在chrome安装扩展程序 Postman Interceptor。
  • cookie 可以在header发送出去,为键对{'Cookie':’xx=xx,xx=xx,xx=xx'}的格式。postman中可以直接使用

2.2    header

  例如添加{'Refer':'http://www.baidu.com/'},用来防盗链

 

3、postman脚本

  • 单独做功能测试,用postman更直观;需要做压测,postman不支持,可以用jmeter。
  •  请求方式为get,可以不需要借助任何工具,直接使用浏览器测试。
  1. 首先点击右上角的设置按钮,点击Globals,添加ip地址进去,就可以对ip进行参数化设置,避免重复输入的繁琐。
  2. 用户注册接口:(ip参数化)
  3. 调用登录接口:(post请求)

  4.  调用添加学生信息:(json串)     ps:json格式:要加逗号,输入的参数类型为字符串时要调整类型选项为json

  5. 调用学生金币充值:(cookie)    PS:Headers信息头内可以填入cookie参数。cookie参数的设置格式为[{"key":"名称","value":"参数名称=参数值","description":""}]

  6.  调用获取所有学生信息:(header) PS:Headers信息头内可以填入重定向参数
  7.  调用上传文件:(file)   PS:Key的类型一定要选择file

  8. 调用查询学生信息接口:(get请求)     PS:①输入"url?参数名=参数值",若有多个,则可以使用&连接符链接,如:"url?参数名1=参数值1&参数名2=参数值2";②get请求参数既可以写在url地址栏里,也可以写在请求体中

 

 

4、Jmeter脚本

响应乱码配置:sampleresult.default.encoding=utf-8

请求Body乱码配置:jsyntaxtextarea.font.family=Hack

 

1、线程组设置:

      

 

 

2、Jmeter参数化

 

      2.1、   设置IP地址参数化(用户定义的变量)

 

 

      2.2、  调用用户注册接口:(用户名参数化)     PS:(函数助手--counter函数)

 

 

 

 

      2.3、 调用添加学生信息:(json串)  PS:(函数助手--Random函数、time函数、counter函数)

  • ${__counter(,)}                    计数函数,默认从1开始递增
  • ${__Random(100,999,)}     在100~999范围内随机取值
  • ${__time(,)}           时间戳 ,时间戳就是从计算机诞生到目前这止过了多少秒,jmeter里的时间戳精确到毫秒
  • ${__time(yyyy,9999)}    年
  • ${__time(yyyy-MM-dd HH:mm:ss,9999)}    年-月-日 时:分:秒

 

 

 

 

 

      2.4 、  调用查询学生信息接口:(get请求)        PS:(CSV Data Set Config)

 

 

 

 

 

 

 

 

3、Jmeter关联

      3.1、 调用登录接口:(post请求)    (正则表达式)

      正则表达式为:"sign": "(.*)",

 

 

      3.2、调用查询学生信息接口:(get请求)        PS:(jp@gc - JSON Path Extractor)

 

 

 

 

 

      3.3、 调用学生金币充值:(cookie)     (cookie的两种传递方式:http信息头管理器、http cookie管理器)

    

 

 

 

 

4、Jmeter响应断言

      4.1、调用获取所有学生信息:(header) ( 断言)

 

 

 

5、文件上传

      5.1 、调用上传文件:(file)

 

 

posted @ 2018-08-17 18:37  伞落雨晴  阅读(120)  评论(0编辑  收藏  举报