当我们为Android或ios app安装代理时,我们通常会添加一些库并更改一些配置设置。如何添加库可以使该应用程序记录事件并将其推送到Monkey talk IDE。
通常当我们向项目添加库时,如果我们需要使用它,我们必须导入它然后在代码中使用它。但是,如果没有任何源代码修改,这个代理如何完成所有工作呢?
答案 0 :(得分:2)
Monkey talk库正在使用AOP和aspectJ组合来获取当前任务,这就是他们添加<uses-permission android:name="android.permission.GET_TASKS" />
权限的原因。现在使用此权限,他们可以访问应用程序当前活动及其视图。因此,每次更改时,它们都会解析当前视图。并为这些视图添加新的侦听器。
有关详细信息,您可以下载并研究其代码是开源的。
答案 1 :(得分:1)
neeraj t是正确的:在Android中,MonkeyJ代码由AspectJ方面调用 - 代码的一些代码被“编织”到应用程序中并在调用cerain方法时被调用。 在iOS中,通过使用“-all_load”链接器标志强制静态初始化MonkeyTalk。
答案 2 :(得分:0)
简单的答案是否,FoneMonkey必须编译到被测试的应用程序中才能工作。所以是的,有人必须有权访问应用程序源。但是一旦将FoneMonkey编译到应用程序中,您就不再需要源代码,并且可以将APK移交给QA