Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как с эмулировать нажатие кнопки Enter на Android driver'e


(m16master) #1

Всем привет.

При написании тестов c помощью android driver'а возникла следующая проблема. Имеется поисковой input куда вводиться информация для поиска, но срабатывает он только если нажать Enter на андройдовской клавиатуре.

Подскажите пожалуйста как можно выполнить данную операцию.

 


(Vitalii) #2

Можно попробовать так

solo.sendKey(Solo.ENTER);

Но мне кажется ничего не получится ввиду

the test project is locked to the targetPackage. Going outside of that target package is not allowed by the Android platform.
 Therefore you will need 2 test projects, one for each application.

 

 

http://code.google.com/p/robotium/wiki/QuestionsAndAnswers


(Andrey Kharkov) #3

Попробуй это сделать с помощью UIAutomator


(Dmitry Cheremushkin) #4

Привет. Попробуйте так:

public class AndroidDeviceInput {
    public static void PressEnter() {
        ExecuteCommand("adb shell input keyevent KEYCODE_ENTER");
    }

   private static void ExecuteCommand(String command) {
        try {
            String line;
            Process p = new ProcessBuilder(command).start();
            BufferedReader input = new BufferedReader(
                new InputStreamReader(p.getInputStream()));
                while ((line = input.readLine()) != null) {
                    System.out.println(line);
                }
                input.close();
            } catch (Exception err) { err.printStackTrace(); }
        }
    }

Вызывать AndroidDeviceInput.PressEnter()


(Dmitry Cheremushkin) #5

Или сначала можете попробовать более простой вариант:

element.sendKeys("some_text");
element.submit();