mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-11 22:38:01 +00:00
- apps/multiplatform/scripts/waydroid: wd.sh (headless Waydroid for the Android UI tests and manual GUI testing), provision2.sh and watchdog2.sh for a second instance, weston.ini, fetch-images.sh, README; works on Qubes AppVMs and other Linux hosts (apt/dnf install, firewalld, own nft table, weston 10-14 flags); - uitest-android.sh uses it by default (WD_SH overrides) and takes adb from it, so both use one adb; - uitest.sh usage header; - plans/ui-tests: test drafts (including unmerged batch 3), the 2026-10-14 review reports, results after the rebase.
46 lines
5.3 KiB
Plaintext
46 lines
5.3 KiB
Plaintext
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:31: fun uiTest(body: UiScope.() -> Unit) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:52: fun cancel() = thread.interrupt()
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:74: fun app(user: String?): App {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:80: fun restart(): App {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:91: fun finish() {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:111: fun cli(name: String, flags: PeerFlags = PeerFlags()): CliPeer =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:114: fun poll(timeoutMs: Long = 10_000, what: String, screenshot: Boolean = true, cond: () -> Boolean)
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:132: fun matcher(key: UiKey): SemanticsMatcher = hasTestTag(key.tag)
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:133: fun exists(key: UiKey): Boolean = rule.onAllNodes(matcher(key)).fetchSemanticsNodes().isNotEmpty(
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:134: fun waitFor(key: UiKey, timeoutMs: Long = 10_000) = poll(timeoutMs, "node ${key.tag}") { exists(k
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:136: fun waitStable(key: UiKey) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:148: fun click(key: UiKey) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:171: fun rightClick(key: UiKey) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:178: fun escape() {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:199: fun typeInto(key: UiKey, text: String) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:211: fun replaceText(key: UiKey, text: String) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:221: fun pressEnter(key: UiKey) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:226: fun isEnabled(key: UiKey): Boolean =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:229: fun editableText(key: UiKey): String? {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:239: fun textsOf(key: UiKey): List<String> {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:247: fun textOf(key: UiKey): String? = textsOf(key).firstOrNull()
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:249: fun descriptionsOf(key: UiKey): List<String> {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:255: fun texts(): List<String> =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:259: fun seesText(text: String, substring: Boolean = false) =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:262: fun storedSetting(key: String): String? =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:265: fun sliderValue(key: UiKey): Float {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:270: fun setSlider(key: UiKey, value: Float) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:279: fun clipboardText(): String? =
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:289: fun take(what: String): String? = runCatching {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:302: fun <T> phase(name: String, body: () -> T): T {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/UiTest.kt:307: fun wait(what: String, ms: Long) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:8: fun waitUntil(timeoutMs: Long, what: String, cond: () -> Boolean)
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:33: fun servers(): Pair<String, String> = call("servers").first().split(" ").let { it[1] to it[2] }
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:39: fun start() {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:44: fun stop() { runCatching { Bridge.call("stop $name") } }
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:48: infix fun sends(cmd: String) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:53: infix fun types(text: String) { Bridge.call("type $name $text") }
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:55: infix fun expects(line: String) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:60: infix fun expectsMessage(line: String) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:65: fun eventually(line: String, timeoutMs: Long = LINE_TIMEOUT_MS) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:70: fun eventuallyMessage(line: String, timeoutMs: Long = LINE_TIMEOUT_MS) {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:75: fun eventuallyMatching(regex: Regex, timeoutMs: Long = LINE_TIMEOUT_MS): MatchResult {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:86: fun nextLine(timeoutMs: Long = LINE_TIMEOUT_MS): String {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:91: fun contactId(contact: String): Long {
|
|
android/src/androidTest/java/chat/simplex/app/ui/harness/CliPeer.kt:109: fun pending(): List<String> = synchronized(lines) { lines.take(10) }
|