如何使用Appium测试OTP验证。 我想通过appium进行OTP验证,任何人都可以帮助我吗?
答案 0 :(得分:1)
使用Appium,您可以自动化和控制您的应用程序,但有一些限制您需要了解生成OTP的过程。每当您进行某些交易时,OTP都会生成并发送到您的移动设备。因此,您可以自动执行此类事务的过程。但在此之后要进入收件箱中的OTP,您需要打开收件箱,查找邮件,提取OTP,输入它。这是使用Appium自动化的非常复杂的过程。
我认为更好的选择是设置一个修复OTP号码用于测试目的而不是请求OTP实时。
答案 1 :(得分:0)
是的,我认为你是对的但是,我需要在使用应用程序和登录页面之前登录进行OTP验证,这就是为什么我需要检查OTP。 我可以构建一个没有OTP的应用程序进行测试,但不能每次都做,因为我必须测试生产版本,这对于远程用户而言,在这个版本中我无法隐藏OTP验证。
答案 2 :(得分:0)
对于OTP验证,您可以使用Android Messenger。下载android messenger apk,使用此应用程序创建测试程序以启动和阅读消息。
我不知道如何为iOS做,可以在这里建议如何为基于iOS的应用程序做。
谢谢, 萨迪克
答案 3 :(得分:0)
您可以在Android中切换应用。在使用您的应用程序发送OTP时,切换到Android默认消息应用程序并阅读OTP,然后切换回您的测试应用程序。
driver.startActivity(AppPackageName, AppActivityName);
上述调用可用于在不同的应用之间切换。分别用您的测试应用包名称/活动名称和Android默认消息应用名称替换AppPackageName和AppActivityName。
答案 4 :(得分:0)
您可以通过两种方式自动从Appium进行OTP验证。
要打开消息应用程序,我们需要使用以下代码打开该应用程序:
driver.startActivity(AppPackageName, AppActivityName);
要从通知窗格中读取OTP,我们可以使用以下代码打开通知窗格:
driver.openNotifications()
现在您可以检查OTP文本元素并阅读文本。例如,如果您的OTP文本是
您的OTP为3357
您将获得如下所示的otp:
string otp = driver.findElementByXpath("//*[contains(@text,"Your OTP is")]").getText().split(" is")[1]
以上代码将把OTP返回到字符串变量中。现在,您可以使用下面的代码返回应用程序。
driver.navigate().back();
此解决方案仅适用于Android。