我使用Appium在C#中测试Android设备。
每次运行测试用例时,我都需要进入主屏幕,然后开始使用案例。这可以通过两种方式实现,使用:LaunchApp和StartActivity函数。
据我所知, LaunchApp再次启动应用程序,即杀死正在运行的应用程序并从头开始启动应用程序。但是我最终会参与启动活动。这将释放内存空间,因此应用程序不会遇到压力或内存不足问题。 StartActivity不会杀死应用程序,但会切换到特定活动。这与真实案例测试相同。
我的上述陈述是真的吗?或两者之间的确切差异是什么?
答案 0 :(得分:2)
一般来说,你做对了,但是值得在这里添加更多的上下文。
工作原理:
launchApp()
默认情况下执行以下操作:
appWaitPackage
,appWaitActivity
) startActivity
执行以下操作:
现实生活中的例子,例如有LoginActivity -> NavigationActivity -> WhateverActivity
流量的应用:
a)launchApp()
将清理应用并移动 返回至LoginActivity
b)startActivity(NavigationActivity)
只会启动NavigationActivity
,因此您无需登录该应用。
a)launchApp()
将与Q1相同
b)startActivity(NavigationActivity)将失败并显示Incorrect package and activity
,因为应用流程不允许它。
我在每次测试之前使用startActivity
来获取start point
,这有助于通过避免重新安装和重新登录多次来加速测试套件。