2016-06-13 3 views
0

Я хочу протестировать приложение для Android, не перезагружая его состояние. Я заметил, что при запуске приложения появляются разные всплывающие окна, поэтому я хочу регистрировать все различные всплывающие окна.Тестирование приложения Android без перезагрузки его состояния с помощью Appium и Selenium WebDriver

Мое определение «запустить» здесь - нажатие кнопки «Назад» на моем телефоне и повторное нажатие на значок приложения.

Тем не менее, я не могу имитировать это физическое прослушивание телефона в моем тесте Appium. Я могу выйти из своего первого теста, но я не могу снова открыть свое приложение. (Моделирование, нажав на иконке приложения пальца)

Вещи, которые я попробовал:

1. Setting noReset to true in capabilities setting 

2. Using uiautomator to find my application. However, uiautomator doesn't seem to be able to detect any icons in the app menu page. It just shows many layers of frame layouts. 

3. closeApp() and launchApp() resets the application and this defeats the purpose of my test. My application somehow behaves differently with each run so I hope to run my test in a single session (i.e. closing and opening the application while it is still in the same state) 

Есть в любом случае я могу имитировать физическое постукивание значка в виде кода? Я знаю, что мы можем установить координаты, но я не хочу, чтобы жесткий код моего теста работал только на конкретном экземпляре телефона. Он не будет работать, если другие приложения будут удалены, а значок моего приложения сдвинется в другую позицию.

ответ

0

Если я не получаю вас здесь не так, вы можете попробовать использовать комбинацию следующих используя AndroidDriver:

driver.navigate().back(); // from app home screen to mobile home screen 
driver.startActivity(String appPackage, String appActivity); // or possibly cast ((AndroidDriver)driver) 
+0

Мой код не может найти функция startActivity. Какие библиотеки вы используете? Я использую java-client: 4.0.0 и selenium 2.53.0 – ykw

+0

@ykw - как упоминалось, что метод связан с AndroidDriver, какой драйвер вы используете? – nullpointer

+0

О да ... Я использовал AppiumDriver. Сожалею. В чем разница между AppiumDriver и AndroidDriver? : P – ykw

0

Вы можете запустить приложение, давая имя пакета и начать имя деятельности вместо APK-файла в желаемые заглушки, таким образом, приложение ur не будет сбрасываться каждый раз при запуске приложения Den использовать presskey4 для нажатия на кнопку возврата, den u может вызвать функцию запуска приложения для запуска приложения без сброса