首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appium --在重新启动App - LaunchApp或StartActivity时,哪个是最好的

Appium --在重新启动App - LaunchApp或StartActivity时,哪个是最好的
EN

Stack Overflow用户
提问于 2018-06-01 07:40:57
回答 1查看 687关注 0票数 1

我使用Appium在C#中测试安卓设备。

每次运行测试用例时,我都需要转到主屏幕,然后开始用例。这可以通过两种方式实现,使用: LaunchApp和StartActivity函数。

据我所知,LaunchApp再次发布应用程序,即扼杀正在运行的应用程序,并从一开始就启动应用程序。不过,我将在启动活动中结束。这将释放内存空间,因此应用程序不会出现压力或内存问题。StartActivity不会杀死应用程序,而是切换到特定的活动。这和实际案例测试是一样的。

我的上述说法是真的吗?或者两者之间的确切区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-03 15:42:29

一般来说,你是正确的,但在这里添加更多的上下文是值得的。

它的工作原理:

默认情况下,launchApp()执行以下操作:

  • 检查应用程序是否已安装
  • 执行快速重置(包括应用程序停止、缓存清理等)
  • 使用启动活动启动应用程序
  • 检查包+活动以匹配您在功能中设置的包+活动(appWaitPackageappWaitActivity)

startActivity做了以下工作:

  • 通过adb shell运行命令以启动指定的活动
  • 检查包+活动以匹配设置为参数的包+活动

真实生活示例,例如具有LoginActivity -> NavigationActivity -> WhateverActivity流的app:

  1. 你登录了那个应用程序

( a) launchApp()将清理应用程序,会将 you 移回LoginActivity

startActivity(NavigationActivity)只会启动NavigationActivity,这样你就不用登录应用程序了。

  1. 你没有登录到这个应用程序

( a) launchApp()将与Q1相同

startActivity(NavigationActivity)将在Incorrect package and activity上失败,因为app流不允许它。

我在每次测试之前使用startActivity来访问start point,这有助于通过避免应用程序重新安装和多次重新登录来加速测试套件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50638426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档