I am doing automation for registration in a website but the problem is that it sends an OTP once i enter mobile no. after enter otp it will ask for password and than i am able to do registration.
Is there any way to get the OTP code once i enter mobile no ? or Can we automate OTP using selenium webdriver ?
A token can be either a specially designed device or a gadget that you constantly use. So, to start using OTP passwords, you need to: register on the Protectimus site, select the appropriate token, and get one-time passwords for each authentication.
How to automate Captcha in Selenium WebDriver? CAPTCHAs can be automated if you are able to decode the image using OCR (Optical Character Recognition). However, to do that, you'll need to write complex algorithms to sort out the image pattern – and writing an algorithm is not that easy.
You may try any one of them:
Solution 1:
Step 1: Connect the Phone/Dongle to the COM Port via USB.
Step 2: Call the code for fetching sms via smslib.jar
Sample Code to fetch sms:
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);
}
Step 3: Parse sms to get the OTP from the fetched list by latest received sms
.
Solution 2:
Step 1: Connect the android phone / iphone.
Step 2: Automate the SMS App in either of the phone, if its android - automate SMS app via appium(or any other automating app) or if its iphone - automate its SMS app feature,
to get the SMS and parse it to get the OTP
.
Solution 3:
Step 1: Register for the HTTP SMS Gateway(Most of them provide paid API Call with very few free API Calls for testing).
Step 2: Call the method to fetch SMS.
Step 3: Parse the message(after sorting it by latest received sms) to get the OTP
.
These three ways you can get the OTP and then you can send it to you Web Application.
.
Solution 4:
Get the OTP from DB, if its in-house application or if it can be accessed.
.
'Solution 3 and Solution 4' being most efficient and it doesn't have any dependency on sms receiving platforms.
.
Solutions consolidated below:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With