2016-06-03 10 views
1

Я использую Appium 1.4.16 для автоматизации файла apk, хранящегося в моей системе, в реальном устройстве Android. Я использую Java-клиент 3.4.1 Вот код:sendkeys не работает должным образом в Appium RemotewebDriver

public static void main(String[] args) { 

    File app = new File("C:\\Users\\dell\\Downloads\\App.apk"); 


    DesiredCapabilities capabilities = new DesiredCapabilities(); 

    capabilities.setCapability("device", " Android"); 
    //mandatory capabilities 
    capabilities.setCapability("deviceName","Android"); 

    capabilities.setCapability("platformName","Android"); 

    capabilities.setCapability("udid", "849e82c6"); 

    capabilities.setCapability("app",app.getAbsolutePath()); 

    capabilities.setCapability("appPackage", "xxxxxxxxxxx"); 

    capabilities.setCapability("appActivity", "xxxxxxxxxx.MainActivity"); 

    try{ 


    RemoteWebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities); 

    System.out.println("Device Started"); 

    driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 

    RemoteWebElement number = (RemoteWebElement)driver.findElement(By.xpath("//android.widget.EditText[@resource-id='xxxx' and @content-desc = 'Mobile Number']")); 

    number.sendKeys("90002"); 

    RemoteWebElement passwordKey = (RemoteWebElement)driver.findElement(By.xpath("//android.widget.EditText[@resource-id='yyyyy']")); 

    passwordKey.sendKeys("ezr123"); 

    RemoteWebElement loginButton = (RemoteWebElement)driver.findElement(By.xpath("//android.view.View[@resource-id='ezm_submit_login_form']")); 

    loginButton.click(); 

    }catch(Exception e){ 

     e.printStackTrace(); 
    } 

} 

}

Я не получаю ошибку в сервере Appium но сталкиваются странные действия в пользовательском интерфейсе. При вводе значения в поле имени пользователя он автоматически нажимает кнопку «Логин», а затем вводит значение в поле пароля. Здесь он всегда начинается с ввода «2» в поле и заканчивается 8-значным паролем. Но мой предоставленный пароль имеет длину 6 цифр. Тогда ничего не происходит.

Я также попытался дать Thread.sleep() между каждым действием. Но никаких изменений не наблюдается.

+0

Обновление до appium 1.5.2 – Emna

+0

Вы пытались спрятать клавиатуру и ввести свой текст? –

ответ

0

Лучшее решение - сначала нажать на элемент с помощью xpath или Id, затем набрать элемент, это будет работать с ошибкой и будет работать. U также может предоставить тайм-аут после нажатия, а также скрыть клавиатуру, нажав клавишу для возврата назад (4) Или скрыть команду клавиатуры

 Смежные вопросы

  • Нет связанных вопросов^_^