2016-10-03 2 views
-1

Я пишу автоматические тесты для своего приложения с помощью системы Calabash.Как я могу имитировать систему действий пользователя на Android-устройстве?

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

Итак, вот вопрос: существуют ли какие-либо фреймворки или что-то еще, что может обеспечить одновременное использование действий пользователя системой?

+0

Этот вопрос слишком широк, так как может быть слишком много правильных ответов или ответы могут быть в значительной степени основаны на мнениях. Кроме того, многие хорошие вопросы порождают определенное мнение на основе экспертного опыта, но ответы на этот вопрос будут, как правило, почти полностью основаны на мнениях, а не на фактах, ссылках или конкретном опыте. –

ответ

3

Если вы хотите взаимодействовать с системой или сторонним приложением, то лучше выбрать Android UIautomator.

Он может имитировать действия пользователя на различных приложений андроид устройств, и вы можете найти более подробную информацию here

Эти инструменты заворачивают Android UI Automator, чтобы легко использовать.

  1. Appium - website
  2. Python UI Automator - github link

Существует три способа вы можете achive своей цели,

  1. вы можете использовать один из инструментов, который упоминается выше, тогда вам необходимо переписать сценарии entier

  2. Если вы не хотите переписывать сценарии entier, все равно вам нужно использовать python uiautomator. В основном вам нужно написать питон сценарии для системных & взаимодействий третьих приложений сторонних разработчиков, то вам нужно вызвать этот файл питона в коде рубина так:

    система «питон file_path/file_name.py»

  3. Последними параметрами являются: если ваше действие очень минимально из вашего основного приложения, вам необходимо использовать команды ADB, которые очень просты и удобны в использовании, например, мне нужно открыть камеру, foucus и использовать изображение по следующей команде:

    system 'adb shell "am start -a android.media.action.IMAGE_CAPTURE"' 
    system 'adb shell "input keyevent KEYCODE_FOCUS"' 
    system 'adb shell "input keyevent KEYCODE_CAMERA"' 
    

В вашем случае калебас-андроиде обматывает рамки Android приборных.

Calabash смирится с вашим конкретным apk, и тесты запускаются снова, что apk, поэтому калабаш не может автоматизировать другое приложение с помощью команд calabash. вы можете закончиться любым из вариантов, о которых я говорил выше.

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