java代码进⾏短信接收_⾃动化测试-⾃动获取⼿机短信验证码最近在做⽣产环境⾃动化测试,碰到⼀个难题就是短信验证码的获取,⽣产环境短信验证码是真实的,不能采⽤测试环境将短信验证码写成固定的⽅法解决,我的思路是:做⼀个apk⼩程序,将⼿机上的短信验证码实时读取出来,存储到⼿机sd卡的⼀份⽂件⾥,再通过python 读取⽂件内容就可以了。
⼀、apk是采⽤Android studio 开发,开发步骤如下:
⾸先创建⼀个空项⽬
创建完之后,项⽬⽬录结构如下:
添加权限
编辑清单⽂件(l,此⽂件在mainfests⽂件夹下),添加短信接收读取权限,添加sd卡操作⽂件权限,添加位置如图所⽰:
python转java代码
接下来就是主要的JAVA代码部分
写代码之前先进⾏下分析:
获取短信内容中的验证码:
(1)分析短信内容:
我们想收取的短信格式⼀般为:“【】XXX验证码为123456.XXX”
格式为 “中⽂字符” + 6位数字验证码” + “其他字符”
(2)使⽤正则表达式表述验证码:[0-9]{6,6}(?![0-9])
在java-&le.sms⽂件夹下添加java⽂件SmsReceiver.java,⽂件代码如下:
⼆、android代码编写完成后,点击运⾏按钮,选择要运⾏代码的⼿机,点击【OK】,程序会⾃动安装到⼿机上
安装的时候会要求⽤户勾选权限,如图所⽰:
安装完成,如图所⽰:
接下来我们给此⼿机,收到短信后,我们在⼿机的sd卡⾥⾃动⽣成了⼀个sb.txt⽂件,此⽂件存储的最新短信验证码
<⽂件内容如下:
到此为⽌短信验证码已经能够读取到了,接下来在我们的⾃动化代码(python编写)⾥构建个函数,将此⽂件内容读取出来
跑脚本时,⼿机需要连接到电脑(可以⽤数据线连接,也可以远程连接,此处不再详述)
OK!脚本执⾏到获取短信验证码之后,调⽤getSMS()函数取到验证码并填⼊,短信验证码成功解决,提升了脚本的执⾏效率和⾃动化覆盖率!
作者:测试部-王晶晶

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。