我正在尝试自动化一个流程,我可以在其中读取短信,然后解析短信以读取 OTP 并将其输入另一个 web 应用程序。浏览了所有论坛,但找不到答案。
我正在用 java 编写代码并尝试使用 appium 在 android 设备上运行 webapp。
有人可以建议怎么做吗?
我正在尝试自动化一个流程,我可以在其中读取短信,然后解析短信以读取 OTP 并将其输入另一个 web 应用程序。浏览了所有论坛,但找不到答案。
我正在用 java 编写代码并尝试使用 appium 在 android 设备上运行 webapp。
有人可以建议怎么做吗?
如果您想在 Appium 会话中从设备读取短信,在讨论中描述了一个很好的方法。appium.io
我认为您可以在一次测试中创建多个会话:1-使用本机应用程序获取短信,2-在移动浏览器中打开 webApp 并执行您需要的任何操作
这种方法对我有用
假设您的 OTP 短信类似于“您的订单的 OTP 是 12345”,并且它显示在您的通知面板中,
((AndroidDriver) driver).openNotifications();
otpElement
带有 xpath的元素//android.widget.TextView[contains(@text,'OTP is')]
被显示(即,当 sms 到达时)OTPmessage = otpElement.getText()
获取 OTP 消息文本String OTP = StringUtils.substringBetween(OTPmessage, "OTP is ", " for ");
((AndroidDriver) driver).pressKey(new KeyEvent(AndroidKey.BACK));
如果您正在测试应用程序,我认为这不是一个好方法。OTP 可能需要很长时间才能到达,从而不必要地使您的测试失败。最好让您的开发人员保持 OTP 固定,这样您就不需要每次都通过短信接收它。