- Где какой-нибудь внешний APK
- На нем необходимо провести несколько автоматизированных тестов
- Я пытаюсь для этого использовать Kaspresso+Kautomator (обертку над express+uiautomator).
- Если приложение уже запущено, тесты работают
В AndroidManifest.xml я запрашиваю видимость внешнего пакета
Код: Выделить всё
...
В тестах:
Код: Выделить всё
package my.app
import android.util.Log
import com.kaspersky.components.kautomator.component.text.UiButton
import com.kaspersky.components.kautomator.screen.UiScreen
import com.kaspersky.kaspresso.testcases.api.testcase.TestCase
import org.junit.Test
class ClientAppTest: TestCase() {
val clientPackage = "client.app"
object ClientAppScreen : UiScreen() {
override val packageName: String = clientPackage
val someButton = UiButton{withText("Some")}
}
@Test
fun testPlus() = run {
step("Open Rosneft") {
with(device.targetContext) {
val intent = packageManager.getLaunchIntentForPackage(clientPackage)
intent!!.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
ClientAppScreen{
someButton.isEnabled()
someButton.click()
}
}
}
}
Проблема в том, что приложение каким-то образом «запускается», но не отображается на переднем плане.
Поэтому тесты не пройдены.
Если я вручную запускаю приложение и выношу его на передний план — тест пройден.
Другие ссылки в StackOverflow не решают мою проблему
Подробнее здесь: https://stackoverflow.com/questions/793 ... k-of-testi
Мобильная версия