最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出来,存储到手机sd卡的一份文件里,再通过python读取文件内容就可以了。
一、apk是采用Android studio 开发,开发步骤如下:
首先创建一个空项目
创建完之后,项目目录结构如下:
添加权限
编辑清单文件(AndroidMainfest.xml,此文件在mainfests文件夹下),添加短信接收读取权限,添加sd卡操作文件权限,添加位置如图所示:
接下来就是主要的JAVA代码部分
写代码之前先进行下分析:
获取短信内容中的验证码:
(1)分析短信内容:
我们想收取的短信格式一般为:“【】XXX验证码为123456.XXX”
格式为 “中文字符” + 6位数字验证码” + “其他字符”
(2)使用正则表达式表述验证码:[0-9]{6,6}(?![0-9])