KasperskyLab / Kaspresso

Android UI test framework
https://kasperskylab.github.io/Kaspresso/
Apache License 2.0
1.81k stars 153 forks source link

Тесты не запускаются с версии 1.4.0 #347

Closed hotmule closed 2 years ago

hotmule commented 2 years ago

Точнее, тесты собиратся и запускаются, но дальше ничего не происходит, в результатах отображается, что пройдено 0 тестов из 0, похоже, это как-то связано с Espresso 3.4.0, помогает откат до 1.3.0

Screenshot 2022-01-12 at 22 39 10
matzuk commented 2 years ago

попробуй отключить orchestrator в build.gradle

hotmule commented 2 years ago

а он и не включен, вроде как 🤔

hotmule commented 2 years ago

Помогло исключение protobuf-lite из всех зависимостей Kaspresso:

androidTestImplementation(Libraries.Tests.Kaspresso.core) { exclude(module = "protobuf-lite") } androidTestImplementation(Libraries.Tests.Kaspresso.allure) { exclude(module = "protobuf-lite") } androidTestImplementation(Libraries.Tests.Kaspresso.compose) { exclude(module = "protobuf-lite") }

ln-12 commented 11 months ago

Just in case someone has the same issue with protobuf, for me the error was:

java.lang.IllegalAccessError: Method 'com.google.protobuf.LazyStringArrayList com.google.protobuf.LazyStringArrayList.emptyList()' is inaccessible to class 'com.example.app.MyClass' (declaration of ''com.example.app.MyClass' appears in /data/app/~~L30fdXd1XWLvWbs7E5CFGQ==/'com.example.app-jd3bzdZbBF74IdQvF48gUg==/base.apk!classes14.dex)

I solved it by excluding the group instead:

    androidTestImplementation("com.kaspersky.android-components:kaspresso:1.5.3") {
        exclude group: "com.google.protobuf"
    }
    androidTestImplementation("com.kaspersky.android-components:kaspresso-allure-support:1.5.3") {
        exclude group: "com.google.protobuf"
    }
    androidTestImplementation("com.kaspersky.android-components:kaspresso-compose-support:1.5.3") {
        exclude group: "com.google.protobuf"
    }
    androidTestImplementation("org.hamcrest:hamcrest:2.2") {
        exclude group: "com.google.protobuf"
    }