使用Appium如何点击“主页”按钮或在ios模拟器中启动主屏幕?

问题描述 投票:0回答:5

我想用Appium在ios模拟器中启动“home”屏幕,但没有找到任何api来做到这一点。

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

selenium-webdriver appium appium-ios saucelabs
5个回答
0
投票

在ios中有一个限制。我们无法发送密钥代码按ios中的主页按钮,由于这个限制我们无法自动化主页按钮。但在android中我们可以使用密钥代码。在iOS自动化中我们不能这样做。


0
投票

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

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

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


0
投票

谢谢大家的回应,似乎没有办法可以启动主屏幕,即使是java机器人键“命令+ 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

通过右键单击Dock中的模拟器图标,然后从“硬件”菜单(即菜单5)中选择“主页”,可以成功地使模拟器处于焦点。


0
投票

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

要做到这一点,你必须添加

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);

0
投票

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

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

如果你想要,你可以在你的工作完成后退出这个驱动程序,即driver_iOS.Quit();

我希望它对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.