使用 Appium 如何单击 "home" 按钮或在 ios 模拟器中启动主屏幕?

With Appium how to click the "home" button or launch the home screen in ios simulator?

我正在尝试使用 Appium 在 ios 模拟器中启动 "home" 屏幕,但找不到任何 api 来执行此操作。

任何建议都会有很大帮助。

ios.We 中存在限制,无法在 ios 中发送按键代码以按下主页按钮,由于此限制,我们无法在 android 中自动执行主页 button.But 我们可以使用 keycodes.In iOS 自动化来做到这一点,但我们不能那样做。

根据link: https://github.com/appium/java-client/releases/tag/v5.0.0-BETA6

添加了一项增强功能,即: [增强] iOS XCUIT 模式自动化:添加了 API 至 运行 后台应用程序。

也许你可以尝试使用 Java-Client v5.0.0-BETA6 并尝试这个 API

感谢大佬们的回复,主屏好像打不开,连java机器人键"command+shift+home"都用不了。

所以我不得不写一个苹果脚本,调用时会在模拟器中启动主屏幕。

到了

    try
    tell application "System Events"

        if exists process "Simulator" then
            tell process "Dock"
                delay 2
                set frontmost to true
                activate
                tell list 1
                    try
                        perform action "AXShowMenu" of UI element "Simulator"
                        delay 2
                        #click accssibilitytitle "Open" of menu item of menu1 -- up arrow
                        key code 126 -- up arrow

                        key code 126 -- up arrow

                        key code 126 -- up arrow
                        key code 126 -- up arrow

                        key code 126 -- up arrow
                        -- key code 125 -- down arrow                   
                        delay 2
                        key code 36 -- return key                       
                    on error errMsg
                        if errMsg contains "Simulator" then
                            log "Simulator is not present in the dock... To run the automation, add Simulator in the dock and try again!!!"

                            return
                        else
                            log errMsg

                            return
                        end if
                    end try
                end tell
            end tell
        end if


    end tell
on error errMsg
    log errMsg

end try

tell application "System Events" to tell process "Simulator"
    tell menu bar item 5 of menu bar 1
        delay 3
        click
        delay 5
        click menu item "Home" of menu 1
        delay 3
    end tell
end tell

通过右键单击停靠栏中的模拟器图标,然后从 "Hardware" 菜单(即菜单 5)中选择 "Home",可以成功地使模拟器成为焦点。

在测试您的应用期间,您可以运行您的应用在后台返回。

要执行此操作,您必须添加

protected IOSDriver iosDriver;

定义后

@Test
@Description("Some Description")
public void testSearchZeroResultAndHomeBack(){

   // run app in background for 5 seconds
    iosDriver.runAppInBackground(5);

    Assert.assertTrue(isTextDisplayedOnPage("0 ilan"));
}

// 运行 应用程序在后台运行 5 秒

    iosDriver.runAppInBackground(5);

在您当前的 appium 驱动程序上,您需要使用以下代码。 driver_iOS 是 appium 驱动程序的对象:

driver_iOS.ExecuteScript("client:client.deviceAction(\"Home\")");

如果您愿意,可以在完成工作后退出此驱动程序,即 driver_iOS.Quit();

希望对您有用。