如何使用appium测试OTP验证

时间:2015-08-13 07:31:33

标签: android macos appium

如何使用Appium测试OTP验证。 我想通过appium进行OTP验证,任何人都可以帮助我吗?

5 个答案:

答案 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验证。

  1. 通过在android中打开消息应用程序并从中读取OTP。
  2. 打开通知并阅读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。