2017-02-15 7 views
0

Я получаю эту проблему после обновления моей версии appium до версии 1.6.3. Всякий раз, когда я использую команду driver.launchApp();, удаляет данные приложения, из-за этого я не могу выполнить следующие случаи теза.Как остановить appium от очистки данных Android-приложения?

Я попробовал установить ниже требуемую возможность, но все же она очищает данные приложения каждый раз, когда я пытаюсь запустить приложение.

capabilities.setCapability("noReset", "true"); 

Так сценарий, я Войти в приложение затем повторно запустить приложение и appium очищает данные приложения и снова появляется экран Логин, который не должен появиться.

Ниже приведены журналы, в которых мы можем четко видеть, что appium очищает данные приложения.

[debug] [ADB] Running 'C:\Users\Vinod\AndroidSDK\platform-tools\adb.exe' with args: ["-P",5037,"-s","079a1ea4d037eeb7","shell","am","force-stop","PACKAGENAME"] 
[debug] [ADB] Getting connected devices... 
[debug] [ADB] 1 device(s) connected 
[debug] [ADB] Running 'C:\Users\Vinod\AndroidSDK\platform-tools\adb.exe' with args: ["-P",5037,"-s","079a1ea4d037eeb7","shell","pm","clear","PACKAGENAME"] 
[debug] [ADB] Device API level: 23 
[debug] [ADB] Getting connected devices... 
[debug] [ADB] 1 device(s) connected 
[debug] [ADB] Running 'C:\Users\Vinod\AndroidSDK\platform-tools\adb.exe' with args: ["-P",5037,"-s","079a1ea4d037eeb7","shell","am","start","-W","-n","PACKAGENAME/.ui.SplashActivity","-S","-a","android.intent.action.MAIN","-c","android.intent.category.LAUNCHER","-f","0x10200000"] 
+0

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

+0

@jiteshmohite Вы не получили мой вопрос. С appium 1.6 они добавили (с предыдущей версией нет кода для очистки данных приложения), чтобы очистить все данные локального приложения (включая все файлы db и кеш). Переход на следующий экран не имеет никакого смысла, если все данные будут удалены. – Vinod

ответ

0

убедитесь, что эта возможность установить: Хотя значение по умолчанию для этой возможности является ложным, до сих пор его стоит попробовать.

capabilities.setCapability("fullReset", "false"); 

Если он не работает, предоставьте образец кода из вашего проекта.

+0

fullReset по умолчанию false. Я не установил значение для fullReset – Vinod

+0

Тогда, пожалуйста, поделитесь своим кодом. –

+0

Какой код вы хотите видеть? его просто driver.launchApp (); – Vinod

0

Если вы удалите драйвер.launchApp(); то он должен работать отлично.

Вам не нужно вызывать этот метод, потому что appium делает это для вас при запуске сервера с возможностями.

+0

Это не то решение, которое я ищу. Я знаю, что если я не использую startApp(), он не очистит данные. Однако в пакете, который я выполняю, более 50 тестовых случаев. Если какой-либо тестовый пример выходит из строя в середине выполнения, мне нужно перезапустить приложение и запустить следующий тест с первого экрана. Надеюсь, теперь вы поняли. – Vinod

+0

Вы пытались отключить проверку приложений через USB («Проверить приложение, установленное через ADB/ADT для вредного поведения») в настройках -> Параметры разработчика. –

+0

Да, я тоже попытался отключить это. Но ничего не изменилось. Его «такое же поведение. – Vinod