2014-10-21 3 views
2

Я все еще изучаю тестирование Appium с Android-приложением. Мне интересно, возможно ли это.Использование Appium для Android-приложения Black-test

Скажем, у меня есть A.apk, и я хочу установить A.apk на свое Android-устройство, затем запустите приложение и попробуйте щелкнуть по каждой кликаемой ссылке (кнопка, ссылка справки, ссылка на изображение и т. Д.) И выясните, есть ли кто-либо.

У меня нет доступа к исходному коду A.apk, но мне может потребоваться сделать это до 100 других приложений для Android, поэтому ручное разборки каждой ссылки совершенно невозможно.

ответ

1

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

Ниже более подробный ответ.

Вы можете написать тесты Blackbox, полагающиеся только на элементы пользовательского интерфейса, которые пользователь должен видеть.
Во многих случаях достаточно идентифицировать интерактивные объекты по тексту, появляющемуся на них.

тест снимок в Java:

// find your button by the text 
WebElement button = driver.findElement(By.name("my button")); 
button.click(); 
// you can then wait for the next screen to appear, scroll to element, etc. 

// then you verify that certain text is on screen 
WebElement title = driver.findElement(By.text("some Title")); 
assertNotNull(title); 

Вы можете обратиться к examples и some documentation.

Для более сложных случаев, когда вы не хотите/не можете полагаться только на текст, вам может потребоваться вручную идентифицировать определенные элементы, используя их класс (например, Button, TextView, EditText), значение XPath, уникальную строку идентификатора на экране ,
Вы можете получить всю эту информацию, проверив тестируемое приложение (вам нужно будет сделать это только один раз, прежде чем писать ваши тесты) с помощью appium inspector или UI automator viewer.
Опять же, вам не понадобится ничего, кроме файла .apk.

+0

Thanks kiruwka!
Возможно ли это, чтобы полностью черный тест apk, что означает, что даже без запуска uiautomatorviewer? Например, я могу использовать Appium для запуска apk. Затем используйте поиск по глубине и следуйте за каждым кликабельным WebElement, независимо от кнопки, текстового просмотра, просмотра и т. Д. – user908645

+0

@ user908645 наверняка вы могли бы это сделать. В моем понимании, однако, функциональные тесты пользовательского интерфейса обычно имеют то же значение, что и ручные пользовательские тесты: I.e. после нажатия пользователем кнопки «Button1» -> он должен «видеть страницу 2 с текстом' abc' и т. д. – kiruwka

0

Вам не обязательно нужен исходный код для тщательной проверки вашего APK. И поскольку Appium предлагает отличный способ проверить ваши APK (без src), почему бы не автоматизировать это тестирование с помощью реальных устройств? Эмуляторы, к сожалению, не дают хороших результатов (нет OEM-настроек, нет реального hw, сети и т. Д.)

+0

большое спасибо за информацию об эрке. yep причина, по которой я выбираю Appium, - это то, что я читал об этом. Appium можно использовать для черного тестирования apk без исходного кода. но все найденные мной примеры требуют, чтобы я использовал какой-то идентификатор, такой как идентификатор ресурса, текст и т. д., чтобы найти конкретный WebElement через вызовы findElements .... скажем, если у меня нет знаний о xpath, идентификаторе ресурса, тексте apk, как я могу перебирать все кликаемые ссылки/кнопки на текущей странице. и еще больше о том, как перемещаться из одной активности в другую. любой пример кода помогает – user908645

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