在App自动化测试中,有时需要获取手机收到的短信验证码。本文将介绍如何使用ADB工具从手机中提取短信验证码,以便在自动化测试中使用。
在开始之前,请确保完成以下准备工作:
adb devices
命令来检查手机是否正确连接。下面是使用ADB获取手机短信验证码的步骤:
我已经知道「发送验证码的手机号」
adb shell "content query --uri content://sms/inbox --projection body --where \"address='<发送验证码的手机号>'\" | tail -n 1"
请将 <发送验证码的手机号>
替换为实际发送验证码的手机号码。
执行上述命令后,ADB将返回最近收到的短信验证码的正文内容。
我不知道「发送验证码的手机号」
adb shell "content query --uri content://sms/inbox --projection body --sort date desc --limit 1"
使用 --sort date desc
参数可以按日期降序排序,确保最新的短信在结果的顶部。
如果只需要从获取到的短信结果中提取验证码,可以使用字符串处理操作来实现。以下是一个示例使用Python的方法:
# 假设你已经将获取到的结果保存在一个名为sms_result的变量中
sms_result = "【华为】您本次的验证码为:038640,请于30分钟内输入。如非本人操作,请忽略此信息。"
# 使用正则表达式提取验证码
import re
match = re.search(r'验证码为:(\d+)', sms_result)
if match:
verification_code = match.group(1)
print("提取到的验证码是:", verification_code)
else:
print("未找到验证码")
上述代码中使用了正则表达式来匹配短信结果中的验证码。如果匹配成功,就会提取出验证码并打印出来;如果没有找到验证码,则会打印出未找到验证码的提示。
使用ADB获取短信验证码是在自动化测试中获取验证码的一种常见方法。通过执行ADB命令并对结果进行解析,我们可以从手机中提取短信验证码,以便在自动化测试中使用。
希望本文能帮助你在自动化测试中成功获取短信验证码!如果你有任何问题或疑问,欢迎留言讨论。