Platform function (Vision)

Conditional branches are required on specific test situation. You can use platform functions.

functions

function description
android The code block is executed on android
ios The code block is executed on iOS
emulator The code block is executed on Android emulator
simulator The code block is executed on iOS simulator
virtualDevice The code block is executed on virtual device
realDevice The code block is executed on real device

Sample code

Getting samples

BranchFunctionsOnAndroid.kt

(src/test/kotlin/tutorial/basic/BranchFunctionsOnAndroid.kt)

    @Test
    @Order(10)
    fun branch_platform_device() {

        scenario {
            case(1) {
                condition {
                    it.screenIs("[Android Settings Top Screen]")
                }.action {
                    android {
                        virtualDevice {
                            describe("This is called on android emulator")
                        }
                        realDevice {
                            describe("This is called on android real device")
                        }
                    }
                    ios {
                        virtualDevice {
                            describe("This is called on iOS simulator")
                        }
                        realDevice {
                            describe("This is called on iOS real device")
                        }
                    }
                }.expectation {
                    it.screenIs("[Android Settings Top Screen]")
                }
            }
            case(2) {
                action {
                    emulator {
                        describe("This is called on android emulator")
                    }
                    simulator {
                        describe("This is called on iOS simulator")
                    }
                    realDevice {
                        describe("This is called on real device")
                    }
                }.expectation {
                    it.screenIs("[Android Settings Top Screen]")
                }
            }
        }
    }

Spec-Report(Normal mode)

Spec-Report(No-Load-Run mode)

Link