ldi-github / shirates-core

Integration test framework for mobile apps
https://ldi-github.github.io/shirates-core/
Apache License 2.0
8 stars 0 forks source link

shirates TestDriverException: doUntilTrue() timeout(60.217>60.0), java.lang.Exception #109

Closed imgeopineda closed 2 months ago

imgeopineda commented 2 months ago

I'm getting a new error again when I'n trying to run my scripts

shirates.core.exception.TestDriverException: doUntilTrue() timeout(60.217>60.0), java.lang.Exception
    at shirates.core.utility.sync.WaitUtility.doUntilTrue$loopAction(WaitUtility.kt:77)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue(WaitUtility.kt:104)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue(WaitUtility.kt:40)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue$default(WaitUtility.kt:15)
    at shirates.core.driver.commandextension.TestDriveAppExtensionAndroidKt.terminateAndroidApp(TestDriveAppExtensionAndroid.kt:65)
    at shirates.core.driver.commandextension.TestDriveAppExtensionAndroidKt.launchAndroidApp(TestDriveAppExtensionAndroid.kt:31)
    at shirates.core.driver.commandextension.TestDriveAppExtensionAndroidKt.launchAndroidApp$default(TestDriveAppExtensionAndroid.kt:17)
    at shirates.core.driver.TestDriver.launchAppCore(TestDriver.kt:2412)
    at shirates.core.driver.commandextension.TestDriveAppExtensionKt$launchApp$1.invoke(TestDriveAppExtension.kt:210)
    at shirates.core.driver.commandextension.TestDriveAppExtensionKt$launchApp$1.invoke(TestDriveAppExtension.kt:179)
    at shirates.core.driver.TestDriverCommandContext.execOperateCommandCore(TestDriverCommandContext.kt:310)
    at shirates.core.driver.TestDriverCommandContext.execOperateCommand(TestDriverCommandContext.kt:237)
    at shirates.core.driver.TestDriverCommandContext.execOperateCommand$default(TestDriverCommandContext.kt:220)
    at shirates.core.driver.commandextension.TestDriveAppExtensionKt.launchApp(TestDriveAppExtension.kt:179)
    at shirates.core.driver.commandextension.TestDriveAppExtensionKt.launchApp$default(TestDriveAppExtension.kt:166)
    at shirates.core.testcode.UITest.scenarioCore(UITest.kt:683)
    at shirates.core.testcode.UITest.access$scenarioCore(UITest.kt:43)
    at shirates.core.testcode.UITest$scenario$context$5$1.invoke(UITest.kt:600)
    at shirates.core.testcode.UITest$scenario$context$5$1.invoke(UITest.kt:597)
    at shirates.core.driver.commandextension.TestDriveContextExtensionKt.withContext(TestDriveContextExtension.kt:27)
    at shirates.core.testcode.UITest$scenario$context$5.invoke(UITest.kt:597)
    at shirates.core.testcode.UITest$scenario$context$5.invoke(UITest.kt:549)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue$loopAction(WaitUtility.kt:62)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue(WaitUtility.kt:104)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue(WaitUtility.kt:40)
    at shirates.core.utility.sync.WaitUtility.doUntilTrue$default(WaitUtility.kt:15)
    at shirates.core.testcode.UITest.scenario(UITest.kt:549)
    at shirates.core.testcode.UITest.scenario$default(UITest.kt:481)

Here is my config

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.8.21"
}

group = "org.investaQA"
version = "1.0-SNAPSHOT"

val shiratesCoreVersion = "7.1.0"
val appiumClientVersion = "9.2.2"

repositories {
    mavenCentral()
    maven {
        url = uri("https://jitpack.io")
    }
}

dependencies {
    testImplementation(kotlin("test"))

    // JUnit 5
    testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.1")
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.1")

    // Appium
    testImplementation("io.appium:java-client:$appiumClientVersion")

    // shirates-core
    testImplementation("io.github.ldi-github:shirates-core:$shiratesCoreVersion")

    // https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core
    testImplementation("org.apache.logging.log4j:log4j-core:2.20.0")

    // https://mvnrepository.com/artifact/org.slf4j/slf4j-nop
    testImplementation("org.slf4j:slf4j-nop:2.0.5")

    implementation("com.github.blocoio:faker:2.0.1")

    // Unit Testing
    testImplementation ("com.github.blocoio:faker:2.0.1")

    implementation("com.beust:klaxon:5.5")

    implementation("com.github.doyaaaaaken:kotlin-csv:0.6.0")

}

tasks.test {
    useJUnitPlatform()
    jvmArgs = listOf(
        "--add-exports", "java.desktop/sun.awt.image=ALL-UNNAMED"
    )

    // Filter test methods
    val envIncludeTestMatching = System.getenv("includeTestsMatching") ?: "*"
    val list = envIncludeTestMatching.split(",").map { it.trim() }
    filter {
        for (item in list) {
            println("includeTestMatching($item)")
            includeTestsMatching(item)
        }
    }
}

kotlin {
    jvmToolchain(17)
}
ldi-github commented 2 months ago

Thank you for your feedback.

This is generic error. Could you please attache the TestLog_yyyyMMddHHmmss.log or give the test code that I can reproduce the exception.

imgeopineda commented 2 months ago

TestLog_20240809171936.log

Here is the Testlog file

imgeopineda commented 2 months ago

I was able to fix it again. It was not able to launch the MainActivity of the app. tried logging manually first into the app and then running the test again. everything work well