How to automate OTP using selenium web driver?


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 ?
Can we automate OTP using selenium webdriver ?


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.setSmscNumber("+91XXXXXXXXXX"); // 10-digit Mobile Number
    OutboundMessage msg = new OutboundMessage(ExcelConnect.strSMSTo, ExcelConnect.strSMSText);
    System.out.println(ExcelConnect.strSMSTo + "-" + ExcelConnect.strSMSText);

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:

enter image description here

Answered By – Kumar

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published