Ответ
Да, тестирование deep links — стандартная часть моей работы при проверке мобильных приложений. Deep link — это специальная ссылка, которая открывает приложение и ведет пользователя на конкретный экран или выполняет действие.
Мой подход к тестированию:
-
Позитивные сценарии: Проверяю, что валидная ссылка корректно открывает нужный экран с правильными параметрами.
// Пример теста на Espresso для Android @Test fun testDeepLinkToProductDetails() { val deepLinkUri = "myapp://products/details?id=123&source=email" val intent = Intent(Intent.ACTION_VIEW, Uri.parse(deepLinkUri)) activityScenario.launchActivity(intent) // Проверяем, что открылся экран деталей товара onView(withId(R.id.product_title)).check(matches(isDisplayed())) // Проверяем, что ID товара передан корректно onView(withId(R.id.product_id)).check(matches(withText("123"))) } - Негативные сценарии: Проверяю обработку битых или невалидных ссылок (например, с отсутствующим параметром
id). Приложение должно либо показать понятную ошибку, либо открыть fallback-экран (например, главную). - Сценарии с не установленным приложением: Проверяю, что веб-версия ссылки (App Links/Universal Links) корректно открывается в браузере, а также что есть редирект в магазин приложений.
Для тестирования я использую как ручные проверки, так и автоматизированные тесты, интегрированные в CI.