在后台手动执行应用程序与使用appium运行AppInBackground()的差异

在后台手动执行应用程序与使用appium运行AppInBackground()的差异,appium,Appium,通过Appium为Android应用程序执行runAppInBackground()时,应用程序会重新启动,但手动执行时,无法复制相同的应用程序。我想深入研究一下runAppInBackground()方法的实现,以手动方式重现相同的问题。您需要查看 从java客户端(您的测试代码)的角度来看,它是一个到Appium服务器的: POST”/session/:sessionId/appium/app/background“ 如果您继续研究它在服务器端的实现位置,您将使用appium android

通过
Appium
为Android应用程序执行
runAppInBackground()
时,应用程序会重新启动,但手动执行时,无法复制相同的应用程序。我想深入研究一下
runAppInBackground()
方法的实现,以手动方式重现相同的问题。

您需要查看

从java客户端(您的测试代码)的角度来看,它是一个到Appium服务器的:

POST”/session/:sessionId/appium/app/background“

如果您继续研究它在服务器端的实现位置,您将使用appium android驱动程序完成

简而言之,它的作用是:

  • 得到
  • 新闻物理
  • 您提供的参数(秒)
  • 根据不同情况,;从代码中,您可以了解正在启动的活动
  • 基本上,它是一系列adb shell命令,可以从终端运行

    我的猜测是,您手动执行的步骤4可能与Appium正在执行的不同:调用了不同的活动/活动参数