Короткий ответ: да, вы можете.
Сумма усилий для написания таких тестов будет зависеть от того, насколько глубоко вы хотите, чтобы ваши тесты были, но вам не понадобится какой-либо источник приложения даже для самых сложных сценариев.
Ниже более подробный ответ.
Вы можете написать тесты 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.
Thanks kiruwka!
Возможно ли это, чтобы полностью черный тест apk, что означает, что даже без запуска uiautomatorviewer? Например, я могу использовать Appium для запуска apk. Затем используйте поиск по глубине и следуйте за каждым кликабельным WebElement, независимо от кнопки, текстового просмотра, просмотра и т. Д. – user908645
@ user908645 наверняка вы могли бы это сделать. В моем понимании, однако, функциональные тесты пользовательского интерфейса обычно имеют то же значение, что и ручные пользовательские тесты: I.e. после нажатия пользователем кнопки «Button1» -> он должен «видеть страницу 2 с текстом' abc' и т. д. – kiruwka