Unresolved reference for flakySafely
crazyvan opened this issue · comments
Hi,
I've just started using Kaspresso and the first test I've written works fine until I attempt to use 'flakySafely'.
Android Studio reports that 'flakySafely' is not available for the following Kotlin object:
import com.kaspersky.kaspresso.screens.KScreen
import io.github.kakaocup.kakao.text.KButton
object WelcomeScreen : KScreen<WelcomeScreen>() {
override val layoutId: Int? = null
override val viewClass: Class<*>? = null
private val logInButton: KButton = KButton { withContentDescription("login button") }
private val registerButton: KButton = KButton { withContentDescription("register button") }
fun tapLogInButton() {
WelcomeScreen {
logInButton {
isVisible()
isEnabled()
click()
}
}
}
fun tapRegisterButton() {
WelcomeScreen {
flakySafely(15000) {
registerButton {
isVisible()
isEnabled()
click()
}
}
}
}
}
![Screenshot 2024-05-18 at 18 06 25](https://private-user-images.githubusercontent.com/4249798/331818018-f333ae69-90bb-4692-8959-4573da7c3724.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1NTU0MzksIm5iZiI6MTcxODU1NTEzOSwicGF0aCI6Ii80MjQ5Nzk4LzMzMTgxODAxOC1mMzMzYWU2OS05MGJiLTQ2OTItODk1OS00NTczZGE3YzM3MjQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTZUMTYyNTM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDZhODk5NTA1ZGY3ZDZlNzI2NWFhMTZkNjA5MDNkZDM2MjhmMmY5MmY1ZTljODQ2MDNlZTQzYzI3YmFhZWU3ZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.GgO6A5FQKOYsPqVfmrTb6VCvlfEE4_qtS2ETrHMWjnI)
Not sure why. Is there particular version of Kotlin that I should be using?
The project is on 1.8.20.
And in app/build.gradle I have:
androidTestImplementation 'com.kaspersky.android-components:kaspresso:1.5.3'
androidTestUtil 'androidx.test:orchestrator:1.4.2'
Figured it out. This works:
run {
WelcomeScreen {
flakySafely(3000) {
logInButton {
isVisible()
}
}
}
}