如何通过selenium为我的Android应用程序输入OTP

问题描述 投票:0回答:1

我想自动化我的 Messenger 应用程序,但我被困在 OTP 验证屏幕上。

OTP 字段不是可编辑的文本。我想知道如何访问它并输入 OTP。

任何人都可以帮忙吗?如果您需要更多信息,请告诉我。 谢谢你

我尝试使用;

  1. xpath
    sendkeys

  2. JavascriptExecutor otp  =  (JavascriptExecutor)  driver;
    otp.executeScript("document.getElementById('org......securesms:id/container_zero').value = '2';"); 
    
  3. AndroidDriver dr = (AndroidDriver) driver; dr.pressKey(new KeyEvent(AndroidKey.NUMPAD_6));
    
android selenium-webdriver appium one-time-password
1个回答
0
投票

公共类 OTPVerification { public static void main(String[] args) 抛出 MalformedURLException、InterruptedException {

    DesiredCapabilities dc = new DesiredCapabilities();
    caps.setCapability("platformName", "Android");
    caps.setCapability("platformVersion", "your_platform_version");
    caps.setCapability("deviceName", "your_device_name");
    caps.setCapability("appPackage", "com.facebook.orca"); 
    caps.setCapability("appActivity", ".activity.MainTabActivity"); 
    caps.setCapability("automationName", "UiAutomator2");

   
    AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), dc);

    
    
    MobileElement otp = (MobileElement) driver.findElementById("com.facebook.orca:id/otp_field");

  
    otp.clear();


    String otpCode = "123456";
    otpField.sendKeys(otpCode);


    MobileElement verifyButton = (MobileElement) driver.findElementById("com.facebook.orca:id/verify_button");
    verifyButton.click();

    
    Thread.sleep(5000);

    driver.quit();
}

}

这里你可以使用这个方法。

© www.soinside.com 2019 - 2024. All rights reserved.