java代码进行短信接收_自动化测试-自动获取手机短信验证码
最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出来,存储到手机sd卡的一份文件里,再通过python读取文件内容就可以了。
一、apk是采用Android studio 开发,开发步骤如下:
首先创建一个空项目
创建完之后,项目目录结构如下:
添加权限
编辑清单文件(AndroidMainfest.xml,此文件在mainfests文件夹下),添加短信接收读取权限,添加sd卡操作文件权限,添加位置如图所示:
接下来就是主要的JAVA代码部分
写代码之前先进行下分析:
获取短信内容中的验证码:
(1)分析短信内容:
我们想收取的短信格式一般为:“【】XXX验证码为123456.XXX”
格式为 “中文字符” + 6位数字验证码” + “其他字符”
(2)使用正则表达式表述验证码:[0-9]{6,6}(?![0-9])
在java->com.example.sms文件夹下添加java文件SmsReceiver.java,文件代码如下:
二、android代码编写完成后,点击运行按钮,选择要运行代码的手机,点击【OK】,程序会自动安装到手机上
安装的时候会要求用户勾选权限,如图所示:
安装完成,如图所示:
接下来我们给此手机发送短信,收到短信后,我们在手机的sd卡里自动生成了一个sb.txt文件,此文件存储的最新短信验证码
sb.txt文件内容如下:
到此为止短信验证码已经能够读取到了,接下来在我们的自动化代码(python编写)里构建个函数,将此文件内容读取出来
跑脚本时,手机需要连接到电脑(可以用数据线连接,也可以远程连接,此处不再详述)
OK!脚本执行到获取短信验证码之后,调用getSMS()函数取到验证码并填入,短信验证码成功解决,提升了脚本的执行效率和自动化覆盖率!
作者:测试部-王晶晶
java代码进行短信接收_自动化测试-自动获取手机短信验证码相关推荐
- python自动读取短信_自动化测试-自动获取手机短信验证码
最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...
- atitit 破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结
atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4. ...
- python群发手机短信_python实现发送和获取手机短信验证码
首先为大家分享python实现发送手机短信验证码后台方法,供大家参考,具体内容如下 1.生成4位数字验证码 def createPhoneCode(session): chars=['0','1',' ...
- python读取手机短信信息_python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...
- python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...
- android获取手机短信记录,android 获取手机电话号码和短信内容
通过ContentResolver 获取到手机的联系人跟手机短信信息并显示出来. 1.实现的代码: package com.example.phone; import java.text.Simple ...
- 短信开发系列(二):GSM手机短信开发之短信解码
短信开发系列目录: 短信开发系列(一):GSM手机短信开发初探 短信开发系列(二):GSM手机短信开发之短信解码 短信开发系列(三):短信接收引擎 昨天写了短信的发送,今天我们在来谈谈如果读取SIM卡 ...
- 安卓开发系列 之如何获取手机短信内容
1 手机中短信数据库相关字段包括: _id:短信序号,如100 address:发件人地址,即手机号,如+8613811810000,这里需要注意的是手机号是否加+86,可以加上86和不加86分别测试 ...
- 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...
华为手机短信提醒设置方法 1)检查当前设置的默认短信应用是哪个应用. ①点击桌面"设置"图标②找到"应用程序管理" ③选择"默认应用设置"④ ...
最新文章
- 前端面试题整理(定期更新)
- Python中文件读写之 w+ 与 r+ 到底有啥区别?
- mysql数据库显示问号_mysql数据库中文显示问号
- 数字蝶变,离不开云原生“苍穹”
- 1.8 Linux用户与用户组文件权限
- 搞了一个迭代发布下SpringBoot Jar瘦身方案,老大给我打了个A+
- 微信公号“架构师之路”学习笔记(四)-分布式ID生成算法(应用场景、uuid/guid、snowflake算法)
- 百科园c语言题库13164,C语言题库-编程
- 大数据工程师简历怎么写,更受到HR青睐?
- 要计算机桌面,科幻再次要成真:你的办公桌面很快也会变成计算机
- 加载webView使用框架AgenWeb
- undi是什么意思_undefined什么意思?
- 2022年建筑电工(建筑特殊工种)考试技巧及建筑电工(建筑特殊工种)复审模拟考试
- docker环境下mysql镜像启动后权限更改问题的解决
- XUPT新生赛题目回顾(1)
- Html 使用svg图标、iconfont的使用方法
- 【整理】EFI/UEFI BIOS 入门 : All For Beginners
- 关于 insert into ... select * from 注意事项
- HEDD:增强子疾病相关数据库
- echarts:中国地图实现
热门文章
- 显示2位小数 python3_python3+ 和 Python2+的一些区别
- jquery 对象 和 js 对象 为什么要互相转换?_JQuery对象与dom对象两者之间的相互转换...
- Linux2个文件一起打包,Linux文件压缩和打包(二)
- php删除下拉框记录,删除一条数据_php删除一条记录(删除确认提示)
- linux内核循环,模仿Linux内核kfifo实现的循环缓存
- Linux上安装Hadoop集群(CentOS7+hadoop-2.8.3)
- 实现CA证书创建及客户端申请证书
- 启动项目的时候报驱动错误: not support oracle driver 1.0
- selenium win7+selenium2.0+python环境搭建
- Daily Scrum02 12.17