【问题标题】:How does Monkey talk agents work without source code modification in the appMonkey talk 代理如何在不修改应用程序源代码的情况下工作
【发布时间】:2013-11-21 12:17:06
【问题描述】:

当我们为 android 或 ios 应用程序安装代理时,我们通常会添加一些库并更改一些配置设置。仅添加一个库如何使该应用程序记录事件并将其推送到monkey talk IDE。

通常我们在项目中添加一个库的时候,如果需要使用它,我们必须先导入它,然后在代码中使用它。但是这个代理是如何在不修改源代码的情况下完成所有工作的呢?

【问题讨论】:

    标签: android testing mobile monkeytalk fonemonkey


    【解决方案1】:

    Monkey talk 库正在使用 AOP 和 aspectJ 组合来获取当前任务,这就是他们添加 <uses-permission android:name="android.permission.GET_TASKS" /> 权限的原因。现在使用此权限,他们可以访问应用程序当前的 Activity 及其视图。因此,他们每次更改当前视图时都会对其进行解析。并为这些视图添加新的监听器。

    有关更多信息,您可以下载并研究其代码是开源的。

    【讨论】:

      【解决方案2】:

      neeraj t 是正确的:在 Android 中,MonkeyTalk 代码由 AspectJ 方面调用 - 一些代码被“编织”到应用程序中并在调用 cerain 方法时被调用。 在 iOS 中,MonkeyTalk 是静态初始化的,通过使用“-all_load”链接器标志强制执行。

      【讨论】:

        【解决方案3】:

        简单的答案是否定的,FoneMonkey 必须编译到被测应用程序中才能工作。所以是的,有人必须有权访问应用程序源。但是一旦 FoneMonkey 被编译到应用程序中,您就不再需要源代码了,您可以将 APK 交给 QA

        Ref - Source

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-13
          • 2017-02-04
          • 1970-01-01
          • 1970-01-01
          • 2019-04-29
          相关资源
          最近更新 更多