【问题标题】:Appium - Close one iOS application and reopen another applicationAppium - 关闭一个 iOS 应用程序并重新打开另一个应用程序
【发布时间】:2016-08-09 11:03:49
【问题描述】:

我有以下场景要自动化。如何通过 Appium 实现这一点。

1. Launch my application register a user with an gmail id.
2. Close the application.
3. Launch Safari browser and navigate to gmail login
4. Click on the registration link.

在这里,具有挑战性的部分是第 2 点和第 3 点。 Appium会话可以断开连接吗? Appium 可以为 Safari 等预安装的应用程序启动新会话吗?

【问题讨论】:

    标签: appium appium-ios


    【解决方案1】:

    您可以只使用相同的 appium 服务器实例。无需终止服务器,但您可能需要使用两个不同的驱动程序实例。

      AppiumDriverLocalService service;
    
        IOSDriver iosDriver;
    
            public void setUp() throws IOException {
                service = AppiumDriverLocalService.buildDefaultService();
                service.start();
            }    
    
            public void startMyApplication(){
                DesiredCapabilities dc = new DesiredCapabilities();
                dc.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone");
                dc.setCapability(MobileCapabilityType.UDID, "3838n838fn38jf8n838ffabcdefg");
                dc.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.IOS);
                dc.setCapability(MobileCapabilityType.APP, "com.your_package.name");
    
                iosDriver = new IOSDriver("http://localhost:4723/wd/hub", dc);
            }
    
            public void testMyGoogleLoginOnMyApplication(){
              //I intend to do something here
              //Once i am finished, I close my application
              iosDriver.quit();
            }
    
            public void startSafari(){
                DesiredCapabilities dc = new DesiredCapabilities();
                dc.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone");
                dc.setCapability(MobileCapabilityType.UDID, "3838n838fn38jf8n838ffabcdefg");
                dc.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.IOS);
                dc.setCapability(MobileCapabilityType.APP, "com.safari_package.name");
    
                iosDriver = new IOSDriver("http://localhost:4723/wd/hub", dc);
            }
    
            public void testSafari(){
              //I intend to go to google and do stuff
              //Once i am finished, I close my application
              iosDriver.quit();
            }
    
            public void finished(){
                service.stop();
            }
    

    【讨论】:

    【解决方案2】:

    刚刚遇到一个适用于所有 iOS 版本和 Xcode 版本的解决方案:

    driver.background_app(-1) 从跳板中,找到图标并单击它!

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多