2016-03-16 128 views
5

我在网站上进行自动注册,但问题是,一旦我进入手机号码,它会发送一个OTP。输入otp后,它会要求输入密码,而且我可以进行注册。如何使用硒web驱动程序自动化OTP?

有没有办法在我进入移动设备后得到OTP代码否? or 我们可以使用硒webdriver自动化OTP吗?

+2

也许你可以试试这个,http://smsenabler.com/ –

+0

你没有输入手机后,等到SMS消息转发到您的计算机。然后使用该消息进行下一步。但是设置所有的东西可能很烦人。 –

+0

不特定于硒,但您可以设置开发和生产项目环境,并且可以在设置环境为开发时跳过所有otp验证。 – saurabh

回答

4

你可以试试它们中的任何一个:

解决方案1:

第1步:通过USB电话/适配器连接到COM端口。

第2步:调用代码通过smslib.jar获取短信

示例代码获取手机短信:

public void sendSMS() throws Exception{ 
    OutboundNotification outboundNotification = new OutboundNotification(); 
    SerialModemGateway gateway = new SerialModemGateway("modem.com5", "COM5", 9600, "ZTE", "COM5"); 
    gateway.setInbound(true); 
    gateway.setOutbound(true); 
    gateway.setSmscNumber("+91XXXXXXXXXX"); // 10-digit Mobile Number 
    Service.getInstance().setOutboundMessageNotification(outboundNotification); 
    Service.getInstance().addGateway(gateway); 
    Service.getInstance().startService(); 
    OutboundMessage msg = new OutboundMessage(ExcelConnect.strSMSTo, ExcelConnect.strSMSText); 
    Service.getInstance().sendMessage(msg); 
    System.out.println(msg); 
    System.out.println(ExcelConnect.strSMSTo + "-" + ExcelConnect.strSMSText); 
    Service.getInstance().stopService(); 
    Service.getInstance().removeGateway(gateway); 
} 

第3步:解析短信从所获取的名单得到OTP最新收到短信

解决方案2:

步骤1:连接Android手机/ iphone。

第2步:自动化的短信应用无论是在手机,如果其Android - 自动通过appium短信应用程序(或任何其他自动化应用程序),或者如果它的iphone - 自动化的短信应用功能,

得到SMS并解析它以获得OTP

解决方案3:

第1步:注册为HTTP短信网关(他们中的大多数提供有偿API调用与很少有免费的API呼吁测试)。

步骤2:调用获取SMS的方法。

第3步:解析消息(按最新收到的短信排序之后),以获得OTP

这三种方式可以获得OTP,然后您可以将它发送给您的Web应用程序。

解决方案4:

从数据库获取OTP,如果它的内部应用程序,或者如果它可以访问。

'解决方案3和解决方案4'是最高效的,它不依赖于短信接收平台。

解决方案如下合并:

enter image description here

0

如果'OTP'代码存储在数据库中,则很容易自动化。你可以使用sql连接并获取otp代码。

相关问题