【问题标题】:Appium - Which is best in case of relaunching App - LaunchApp Or StartActivityAppium - 在重新启动应用程序的情况下最好 - LaunchApp 或 StartActivity
【发布时间】:2018-06-04 02:07:37
【问题描述】:

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

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

据我所知, LaunchApp 再次启动应用程序,即杀死正在运行的应用程序并从头开始启动应用程序。但是,我最终会参加启动活动。这将释放内存空间,因此应用程序不会出现压力或内存不足的问题。 StartActivity 不会杀死应用程序,而是切换到特定的活动。这将与真实案例测试相同。

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

【问题讨论】:

    标签: c# appium appium-android


    【解决方案1】:

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

    它是如何工作的:

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

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

    startActivity 执行以下操作:

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

    现实生活中的例子,例如具有LoginActivity -> NavigationActivity -> WhateverActivity 流的应用:

    1. 您已登录应用程序

    a) launchApp() 将清理应用并移动返回LoginActivity

    b) startActivity(NavigationActivity) 将启动 NavigationActivity,因此您无需登录应用程序。

    1. 您尚未登录应用程序

    a) launchApp() 将与第一季度相同

    b) startActivity(NavigationActivity) 将失败并显示Incorrect package and activity,因为应用程序流不允许这样做。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 2018-07-06
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      相关资源
      最近更新 更多