logo资料库

Jmeter多接口测试性能测试.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
一、接口业务流程 1、获取 token 接口: http://192.168.1.4:9900/rest/getToken/ 2、获取图片链接口: http://192.168.1.4:9900/regist/getImagePath/?token=89bd9d88f4f3421c9e639dfab 0ca423c&type=fql 返回数据: {"msg": "\u6210\u529f", "code": 0, "detail": {"image_path": "/images/regist/20160822/img1471837595.25.jpg"}} 3、获取图片验证码接口: http://192.168.1.4:9900/images/regist/20160822/img1471850521.18.jpg 4、获取注册结果接口: http://192.168.1.4:9900/regist/imageView/?imagecode=zds4&phone=18202733159 &token=89bd9d88f4f3421c9e639dfab0ca423c&type=fql 二、JMETER 的使用 1、新增测试计划 新增线程组,接着在该线程组下方新增 4 个“HTTP 请求”(添加-Sampler-HTTP 请求), 再在该线程组下方添加“察看结果树”(添加-监听器察看结果树)。也可以在每个 HTTP 请求 下方添加“察看结果树”,方便找到需要正则或参数化的数据。 一个完整的测试计划诞生了,如下图 2.1 所示 图 2.1
2、为每个 HTTP 请求设置属性 以上图 1 中的“HTTP 请求 01”为例进行说明。在 HTTP 请求窗口中的 Basic 标签页面上 输入服务器名称或 IP、端口号和路径(路径 URL 地址端口号后面的),其他默认,如下图 2.2-1 所示。此时可以执行下然后在当前的 HTTP 请求 01 的察看结果树里检查接口是否能正常访 问(如下图 2.2-2 所示)。 图 2.2-1 图 2.2-2 3、使用正则表达式 还是以上图 2.2-1 中的“HTTP 请求 01”为例进行说明。因为这个接口会得到一个动态值, 而 且 这 个 动 态 值 会 被 其 他 接 口 使 用 。 在 上 图 2.2-2 中 得 到 一 个 响 应 数 据 : {"msg": "\u6210\u529f", "code": 0, "detail": {"token": "a53b93507c9d4f3fa43de4a44073bbb6"}}。在使 用第二个接口(HTTP 请求 02)时需要一个参数值 token,而这个值必须调用第一个接口后 才能获取到。如果让其他接口使用这个动态值,那么我们就需要在第一个接口(HTTP 请求 01)上使用正则表达式来获取这个返回值。 A、首先在第一个“HTTP 请求 01”上点击添加后置处理器-正则表达式提取器,如下图 3.3-1 所示
图 3.3-1 B、在下图 3.3-2 中输入“引用名称”(自定义数据名称,在其他接口中会用到)、“正则 表达式”、“模板”、“匹配数字(0 代表随机)”,其他默认。 图 3.3-2 说明:正则表达式可以看做是 LR 中的手动关联,从“察看结果树”-“响应数据”区域 找到返回值:{"token": "a53b93507c9d4f3fa43de4a44073bbb6"}。这条字符串就是需要关联
的,所以正则表达式输入为:"token": "(.+?)"。其他的不解释,照写即可,哈哈。完成以上 设置后运行下 JMETER,在“察看结果树”区域察看结果是否正确(绿色表示正确)。 C、在第二个接口(获取图片地址)中需要这个正则后的数据,此时在“HTTP 请求 2” 的 Basic 标签页面的 Parameters 区域添加接口参数(token 和 type),其中 token 值使用接口 1 中的正则表达式中的变量名(token),此 token 值为${token},如下图 3.3-3 所示。最后保 存并执行,如果 HTTP 请求 2(获取图片地址)的响应数据显示为绿色则表示设置成功。 图 3.3-3 同理,HTTP 请求 3(获取验证码)接口中需要动态生成的图片地址,那么就需要设置 HTTP 请求 2(获取图片地址)接口中的正则表达式,然后再在 HTTP 请求 3 接口中的 URL 地 址上引用接口 2 的正则变量即可。 4、变量参数化 此业务流程是首先获取 token 然后得到图片地址,接着获得验证码,最后得出注册信息。 在 HTTP 请求 4(获取注册信息)的接口信息中发现多了一个手机号(phone)。如果想得到 不同手机号对应的注册信息,那么就需要对接口 4 的手机号进行变量参数化。 A、在 HTTP 请求 4 上添加“配置元件-CSV Data Set Config”,如下图 4.4-1 所示 图 4.4-1
B、元件添加成功后,使用 TXT 新建一个 CSV 文件(注意,这里必须使用 TXT 文件然后 另存为 CSV 文件,不然执行时会报错全是乱码)。在 CSV 文件中输入多个值(这里是手机号, 一行显示一条手机号,我在 CSV 文件中写了 5 个不同的手机号),然后保存 CSV 文件(记住 存放路径)。 C、新建 CSV 文件后,切换到刚才添加成的 CSV Data Set Config 窗口,在“Filename”输 入 CSV 的存放地址(包括 CSV 文件名称),在 Variable Names(comma-elimited)中输入自 定义的变量名称(此变量会用到 HTTP 请求 4 的参数值中,我这里设置为 phonenum),其他 默认,如下图 4.4-2 所示 图 4.4-2 D、现在切换到 HTTP 请求 4(获取注册信息)窗口中,在 Parameters 标签页面中添加 4 个参数(因为此接口带 4 个参数)imagecode、token、type、phone。参数值分别是 zds4、 ${token(HTTP 请求 1 中的正则表达式)、fql、${phonenum}(刚刚设置的参数化),如下图 4.4-3 所示 5、循环次数 图 4.4-3 我们之前在 HTTP 请求 4(获取注册信息)中设置了手机号的参数化(CSV 文件中包含 5
个不同的手机号),现在返回到当前测试计划下的线程组窗口中。在线程属性区域输入线程 数、Ramp-Up Periond(in seconds)和循环次数即可。最后运行查看当前线程组下的察看结 果树结果是否正常。 三、一个包含正则和参数化的多接口测试计划 图 1 在上图 1 中可以禁用单个 HTTP 请求中的“察看结果树”(如下图 2 所示),这样看上去 更直观。因为我们需要的是最终结果。 图 2
分享到:
收藏