每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试
码同学抖音号:小码哥聊软件测试
现在很多APP或者网站都需要使用手机号进行登录,那么使用手机号进行登录时,必然就需要“手机号+短信验证码”才可登录成功。
在实际测试过程中,测试人员一般只有一个手机号,那么需要测试多个手机号来通过短信接口服务进获取到登录需要的“短信验证码”,那么如何解决多个手机号的问题?
收集公司其他同事的个人手机号
使用Jmeter提供随机函数,生成手机号的中间四位数
本文重点在获取短信验证码的接口功能,故无需检验手机号的各个号码段等格式,所以选择上述的第二种“采用Jmeter的随机数+固定数字”即可。若需要更加真实的模拟(例如校验手机号是否合法等),可使用其他方式生成11位手机号,例如通过正则表达式生成合法手机号等。
01
接口分析
开始一个接口测试或接口压力测试任务前,都需要从开发提供的接口文档中获得以下相关信息:
域名(IP)
地址(path)
请求方式(post/get)
入参:手机号等其他信息
......
本文重点讲述“如何使用Jmeter的随机函数生成的随机数”组合成不同的手机号,以便通过“获取短信验证码”接口获取到登录需要的验证码。
02
利用Jmeter生成四位随机数
利用Jmeter 的随机函数_Random,可以生成四位随机数:
1. 选择Jmeter自带的随机函数
2. 定义四位随机数的最小值
3. 定义四位随机数的最大值
4. 最后生成随机函数表达式:${__Random(0000,9999,)}
03
拼接手机号
利用随机函数与固定数字组合成手机号,国内手机号是11位:
前三位:152(本文示例手机号固定号码段)
中间四位:使用随机函数表达式“${__Random(0000,9999,)}”
后四位:5208(本文示例手机号固定尾号)
拼接结果:152XXXX5208,其中中间“XXXX”表示四位随机数。
综上,短信接口入参的手机号"mobile":
"152${__Random(0000,9999,)}5208"
免费领取码同学软件测试课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章+ 私信「码同学666」获取资料哦
04
模拟短信接口请求
菜单路径:
在Thread Group上右键—sample-HTTP Request
JMeter添加HTTP Request配置接口请求的域名、路径、请求方式、入参等,如下图:
05
添加监听树
菜单路径:
在Thread Group上右键 - lisener - View Results Tree
监听树报告配置保持默认配置(默认展示所有的请求日志)即可,若需要模拟1000或者更多,可选择仅展示错误的日志即可:
06
设置脚本运行次数
若是需要模拟1000个用户并发,可设置如下:
Number of threads(users):1000
Ramp-up period(in seconds):0
Loop Count:1
上述配置表示1000个用户同时发起获取验证码,且每个用户执行一次。
若需要间隔1s依次向1000个用户发送短信验证码,则需要在线程组上设置Loop Count=1000
07
运行结果
由于线程组上设置Loop Count=1000,故脚本运行1000次,每次随机函数会生成随机的四位数字与固定数字拼接成不同的手机号。
脚本运行结果如下图:
点击各个请求可以看到入参的手机号码不一样
手机号登录的过程:
使用手机号获取验证码
使用手机号+验证码进行登录
本文实现了登录过程的第一个阶段~,若需要同时实现登录,可在获取验证码之后增加登录接口请求即可。
Tips:
测试过程中,测试环境一般需要加短信白名单用户才会真实收到短信验证码,所以不用担心验证码会真实的发送到手机号户主的手机上,且不会产生短信扣费。
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论