Android 如何在后台推送应用程序并使用selenium从Appium的同一屏幕启动

Android 如何在后台推送应用程序并使用selenium从Appium的同一屏幕启动,android,selenium,appium,Android,Selenium,Appium,在android自动化系统中,有没有办法使用Appium和android驱动程序执行以下过程 从某个特定屏幕按home(主页)按钮。 将应用程序放在后台。 在一段时间间隔后从同一屏幕打开应用程序 如果有人知道,请提供帮助。iOS和Android都支持以下方法: (AppiumDriver)driver.runAppInBackground(10);//put app in background for 10 seconds (AppiumDriver)driver.launchApp();//l

在android自动化系统中,有没有办法使用Appium和android驱动程序执行以下过程

从某个特定屏幕按home(主页)按钮。 将应用程序放在后台。 在一段时间间隔后从同一屏幕打开应用程序


如果有人知道,请提供帮助。

iOS和Android都支持以下方法:

(AppiumDriver)driver.runAppInBackground(10);//put app in background for 10 seconds
(AppiumDriver)driver.launchApp();//launch the app again

希望有帮助

iOS和Android都支持以下方法:

(AppiumDriver)driver.runAppInBackground(10);//put app in background for 10 seconds
(AppiumDriver)driver.launchApp();//launch the app again
希望有帮助

  • 试着把注意力集中在当前的活动上:

    (AppiumDriver)驱动程序。运行appinbackground(10);
    (AppiumDriver)驱动程序。currentActivity()

  • 尝试开始与您相同的活动:

    (AppiumDriver)驱动程序。运行appinbackground(10)
    (AppiumDriver)driver.startActivity(“appPackage”,“com.example.android.api”,null,null)

      • 试着把注意力集中在当前的活动上:

        (AppiumDriver)驱动程序。运行appinbackground(10);
        (AppiumDriver)驱动程序。currentActivity()

      • 尝试开始与您相同的活动:

        (AppiumDriver)驱动程序。运行appinbackground(10)
        (AppiumDriver)driver.startActivity(“appPackage”,“com.example.android.api”,null,null)


        • 驱动程序运行应用程序背景(持续时间为秒(10))

          driver.runAppInBackground(持续时间为10秒)

          appium_lib
          ruby客户端允许您使用


          background\u应用程序5
          其中5是您希望应用程序处于后台的秒数。这将自动在同一屏幕上恢复应用程序。

          appium_lib
          ruby客户端允许您使用


          background\u应用程序5
          其中5是您希望应用程序处于后台的秒数。这将自动在同一屏幕上恢复应用程序。

          这里是它的工作原理

        • 在后台运行应用程序的代码

          ((AppiumDriver)driver).runAppInBackground(Duration.ofSeconds(10));
          
        • 再次回到当前活动

          ((StartsActivity)driver).currentActivity();
          

        • 这就是它的工作原理

        • 在后台运行应用程序的代码

          ((AppiumDriver)driver).runAppInBackground(Duration.ofSeconds(10));
          
        • 再次回到当前活动

          ((StartsActivity)driver).currentActivity();
          
        • 您必须输入应用程序包名称和活动名称才能最大化应用程序。 例如:

          这肯定会奏效的

          您必须输入应用程序包名称和活动名称才能最大化应用程序。 例如:


          这肯定会奏效。

          将应用程序置于后台:

          ((AndroidDriver)driver).runAppInBackground(Duration.ofSeconds(20));
          
          要从后台启动应用程序,请执行以下操作:

          driver.activateApp("app package name");
          

          将应用程序置于后台:

          ((AndroidDriver)driver).runAppInBackground(Duration.ofSeconds(20));
          
          要从后台启动应用程序,请执行以下操作:

          driver.activateApp("app package name");
          
          适合我:(Appium 1.10,Android 8.1

          2种选择:

          第一个解决方案:

          driver.runAppInBackground(Duration.ofMillis(300));
          
          关闭弹出窗口后,您使用这一行,您的应用程序将转到后台并返回,您将返回应用程序的焦点

          Activity activity = new Activity("com.google.android.gm", "com.google.android.gm.ConversationListActivityGmail");
          activity.setStopApp(false);
          ((AndroidDriver<MobileElement>) driver).startActivity(activity);
          
          第二种解决方案:更好的解决方案:)

          将此行添加到设置:

          capability.setCapability("noReset", true);
          
          从现在起,您的应用程序将像普通应用程序一样启动,无需设置“重置”,即无需弹出窗口,您就不会有焦点问题

          我希望它也能对你起作用!:)

          适合我:(Appium 1.10,Android 8.1

          2种选择:

          第一个解决方案:

          driver.runAppInBackground(Duration.ofMillis(300));
          
          关闭弹出窗口后,您使用这一行,您的应用程序将转到后台并返回,您将返回应用程序的焦点

          Activity activity = new Activity("com.google.android.gm", "com.google.android.gm.ConversationListActivityGmail");
          activity.setStopApp(false);
          ((AndroidDriver<MobileElement>) driver).startActivity(activity);
          
          第二种解决方案:更好的解决方案:)

          将此行添加到设置:

          capability.setCapability("noReset", true);
          
          从现在起,您的应用程序将像普通应用程序一样启动,无需设置“重置”,即无需弹出窗口,您就不会有焦点问题


          我希望它也能对你起作用!:)

          这将在执行Appium脚本时导航到Gmail应用程序。您只需更改应用程序的程序包名称和活动

          Activity activity = new Activity("com.google.android.gm", "com.google.android.gm.ConversationListActivityGmail");
          activity.setStopApp(false);
          ((AndroidDriver<MobileElement>) driver).startActivity(activity);
          
          Activity活动=新活动(“com.google.android.gm”、“com.google.android.gm.ConversationListActivityGmail”);
          activity.setStopApp(假);
          ((AndroidDriver)driver)。开始触觉(活动);
          
          这将在执行Appium脚本时导航到Gmail应用程序。您只需更改应用程序的程序包名称和活动

          Activity activity = new Activity("com.google.android.gm", "com.google.android.gm.ConversationListActivityGmail");
          activity.setStopApp(false);
          ((AndroidDriver<MobileElement>) driver).startActivity(activity);
          
          Activity活动=新活动(“com.google.android.gm”、“com.google.android.gm.ConversationListActivityGmail”);
          activity.setStopApp(假);
          ((AndroidDriver)driver)。开始触觉(活动);
          
          您可以使用这段代码

          ((AppiumDriver)driver).runAppInBackground(Duration.ofSeconds(10));
          ((StartsActivity)driver).currentActivity();
          
          如果不起作用,请使用最新版本更新您的
          appium
          ,并尝试使用相同的代码片段


          谢谢

          您可以使用这段代码

          ((AppiumDriver)driver).runAppInBackground(Duration.ofSeconds(10));
          ((StartsActivity)driver).currentActivity();
          
          如果不起作用,请使用最新版本更新您的
          appium
          ,并尝试使用相同的代码片段


          谢谢

          driver.runAppInBackground(10);使应用程序在后台运行10秒,10秒后从主屏幕启动。但是我想从我进入后台的同一屏幕启动它。为此,您必须在您的功能中使用no reset as true,如下所示:capabilities.setCapability(“--no reset”,true);它要求我增加演员阵容。如果我添加一个,它将不工作。driver.runAppInBackground(10);使应用程序在后台运行10秒,10秒后从主屏幕启动。但是我想从我进入后台的同一屏幕启动它。为此,您必须在您的功能中使用no reset as true,如下所示:capabilities.setCapability(“--no reset”,true);它要求我增加演员阵容。如果我添加一个,它将不起作用。