问题标签 [monkeytalk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 通过使用 Ant 的工具将 MonkeyTalk 代理集成到 APK 中(Android Studio 之外)
我正在使用 Android Studio,并尝试将 MonkeyTalk 代理与 Ant 集成到 APK 中。
基本上我遵循了以下步骤:
1.下载MonkeyTalk 2.0.1 Pro Beta
2.在桌面上创建一个新的空文件夹,标题为“example”或任何你喜欢的
3.将monkeytalkpro/agents/android/monkeytalk-agent-2.0.1.jar复制到“example”目录下
4.将monkeytalkpro/ant/monkeytalkpro-ant-2.0.1.beta.jar复制到“example”目录
5.将您的apk文件复制到“example”目录(本例中命名为myapp.apk)
6. 在“example”目录中创建一个名为 build.xml 的新文件,并填写以下内容:
7.打开终端并 cd 进入您的“示例”目录
8.发布命令ant instru -lib monkeytalkpro-ant-2.0.1.beta.jar
9.该命令应该运行,然后在您的“示例”目录中生成一个与monkeytalk兼容的apk,标题为“myapp-post-instrumented.apk”</p>
警告:似乎存在一个错误,检测过程还将在您的“示例”目录中放置另一个名为“myapp-instrumented.apk”的文件,但该文件将为空。因此,请确保您的目标文件在您的 build.xml 文件中没有标题为“myapp-instrumented.apk”,否则这个空文件将覆盖您的 monkeytalk 兼容文件。
资料来源:http ://w3facility.org/question/android-studio-and-monkeytalk/#answer-23016422
我已经完成的步骤与原始步骤有两个不同之处:
MonkeyTalk代理和ant jar的实际版本是2.0.10,不是2.0.1
使用编译工具 21.1.2,monkeytalkpro-ant-2.0.10.beta.jar 中集成的 APKTool 无法提取文件。所以,我更新了 APKTool 并生成了一个新的 jar。你可以在这里找到它: https ://www.dropbox.com/s/qsjaz5g15hy9i7k/monkeytalkpro-ant-2.0.10.beta.mod.jar?dl=0
但是如果有了这个修复,ant 将无法“检测”APK。Ant 无法对文件进行 dex 处理。
任何帮助和建议表示赞赏。
Pd1:我尝试使用来自uphyca(v0.9.7)的aspectj的gradle android插件编译Android studio,但它不起作用。它编译了项目,但是当我尝试启动它时它崩溃了。
Pd2:这里有一些日志:
-预编译:
-编译:
-编译后:
- 混淆:
weaved-0d60e12eb7c45a42662ee42c5398a922.jar [dx] [dx] 模拟例外:[dx] 本地 0005:无效 [dx] [dx] ...在字节码偏移量 0000000b [dx] 本地 [0000]:Landroid/support/v7/widget /动作菜单视图;[dx] 本地 [0001]: Landroid/view/ViewGroup$LayoutParams; [dx] locals[0002]: [dx] locals[0003]: [dx] locals[0004]: [dx] locals[0005]: [dx] ...同时处理块 000b [dx] ...同时处理方法 generateLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)Landroid/support/v7/widget/ActionMenuView$LayoutParams; [dx] ...同时处理 generateLayoutParams (Landroid/view/ViewGroup$LayoutParams;)Landroid/support/v7/widget/ActionMenuView$LayoutParams; [dx] ... 在处理 android/support/v7/widget/ActionMenuView.class [dx] [dx] 1 错误时;中止
BUILD FAILED /private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/build_master.xml:892: The following error occurred while executing this line: /private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1 /app-debug/build_master.xml:894:执行此行时出现以下错误:/private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/build_master.xml:906:出现以下错误时执行此行:/private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/build_master.xml:283:返回空值:1
总时间:14 秒:错误:进程因错误退出:1(退出值:1)
检测的 APK 文件未在以下位置创建:/private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/bin/app-debug-debug.apk
检测 apk '/Users/monkeyTalk/app-debug.apk' 时出错:检测的 APK 文件未在以下位置创建:/private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/bin/app-debug-debug .apk
com.gorillalogic.monkeytalk.instrumentor.android.AndroidInstrumentor$InstrumentationException:检测的 APK 文件未在以下位置创建:/private/var/folders/fb/xhjph6n17sl_tnc7gfs_0ny80000gp/T/tmp_AndroidInstrumentor1423638478563_1/app-debug/bin/app-debug-debug.apk在 com.gorillalogic.monkeytalk.instrumentor.android.AndroidInstrumentor.copyInstrumentedApk(AndroidInstrumentor.java:244) 在 com.gorillalogic.monkeytalk.instrumentor.android.AndroidInstrumentor.beginInstrumentation(AndroidInstrumentor.java:173) 在 com.gorillalogic.monkeytalk.instrumentor .android.AndroidInstrumentor.instrumentApk(AndroidInstrumentor.java:130) 在 com.gorillalogic.monkeytalk.ant.InstrumentTask.execute(InstrumentTask.java:62) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291 ) 在 sun.reflect.NativeMethodAccessorImpl。在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:43) 的 invoke0(Native Method) 606) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache.tools.ant .Target.execute(Target.java:390) 在 org.apache.tools.ant.Target.performTasks(Target.java:411) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 在org.apache.tools.ant.Project.executeTarget(Project.java:1368) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project。在 org.apache.tools 执行目标(Project.java:1251)。ant.Main.runBuild(Main.java:809) at org.apache.tools.ant.Main.startAnt(Main.java:217) at org.apache.tools.ant.launch.Launcher.run(Launcher.java: 280)在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
这是完整的日志: https ://www.dropbox.com/s/y3mo9ifgalpzf29/log.txt?dl=0
更新
这是 build.gradle 文件的内容。
automation - 如何在初始阶段启用猴子谈话中的录制按钮(用于启动应用程序)
我需要录制脚本以启动(启动屏幕)应用程序,但无法在 Monkey talk 上执行此操作。
谢谢问候, 阿里汉特
android - 如何在monkeytalk中获取自定义视图的ID(使用画布完成的绘图)并自动化它?
我们如何在 monkeytalk 中测试自定义视图?(android 和 ios 应用程序自动化)我尝试为某些视图提供内容描述并获取 id,它工作正常,但是当涉及到一些涉及画布绘图的复杂视图时,我无法获取身份证!请任何人都可以建议如何去做吗?
下面是我正在使用的 android 代码片段
我们如何获取在 monkeytalk 中绘制的画布的 id?
automation - 我们可以在猴子谈话工具中编写脚本时从移动应用程序导航到移动网络,反之亦然?
我正在使用monkey talk 自动化我的移动应用程序。但我也想从移动应用程序导航到网络,反之亦然,这样我也可以在录制时自动化移动应用程序的管理部分。简而言之,我想在记录猴子谈话中的场景时从移动应用程序到网络来回切换,反之亦然。请尽快协助
谢谢瓦伦
testing - 如何在 iOS 的猴子谈话自动化工具中将一个脚本调用到另一个脚本
是否有任何解决方案:如何在 iOS 的猴子谈话自动化工具中将一个脚本调用到另一个脚本
谢谢,阿里汉特
javascript - 出现错误:'No Button found with monkeyID "LOGIN" 记录
出现错误:'No Button found with monkeyID "LOGIN" 记录
在一个项目中的录制脚本中,按钮名称为登录,但在另一个项目中,按钮名称更改为登录。所以脚本失败了。有什么方法可以运行名称转换的脚本(不区分大小写)。请建议我,提前谢谢。
谢谢,阿里汉特。
android - 猴子谈话中的思考时间和超时有什么区别
在我编写测试用例的猴子谈话中,有两个时间可用,一个是思考时间,另一个是超时。思考时间是程序等待的时间,其他时间是超时时间,我对这两个与猴子谈话工作有关的时间感到困惑。任何人都可以帮助我理解吗?
ios - 如何在真实 iOS 设备中自动化“设置”应用程序?
我尝试使用 Appium、UI 自动化和 Monkey Talk 来自动化真实 iOS 设备的原生应用自动化。提到的工具不支持真正的 iOS 原生应用程序自动化。
是否有(免费软件)工具可以自动化真实 iOS 设备的本机应用程序?
android - 使用monkeytalk测试android app,录制按钮被禁用
我们使用的是eclipse luna 4.4.1,linux系统上安装了adb来测试android app。我按照以下步骤操作:
- 在eclipse中导入一个android项目
- 在android项目中创建libs文件夹并将monkeytalk代理复制到libs文件夹中(monkeytalk-agent-2.1.10.jar)
- 右键单击项目并配置为 Configur -> Convert to AspectJ Project
- 右键单击项目并选择 AspectJ Tools -> Add to AspectJpath
- 打开 AndroidManifest.xml 并在该 xml 文件中复制以下两行以授予权限
- 右键单击android项目并导航到项目属性-> Java Build Path-> Order and Export选项卡->选中AspectJ Runtime Library。
- 右键单击项目 -> 运行 -> Android 应用程序。
- 之后我在 MonkeyTalkIDEProfessional 中创建了一个示例项目
- 然后我在项目中创建了一个示例测试脚本(右键单击项目并导航到新建 - >脚本)。
- 单击android连接图标并选择选项(Android Emulator)选项。在这种情况下,MonkeyTalkIDEProfessional 的 RECORD BUTTON 被禁用。
android - 如何每次使用新数据运行monkeytalk脚本?
我们使用的是eclipse luna 4.4.1,linux系统上安装了adb来测试android app。
我录制了一个monkeytalk脚本。所以我的问题是如何运行该 monkeytalk 录制的脚本 500 次。但是在每个循环中,输入数据的值应该是变化的(验证的东西)。例如:我记录了注册帐户。所以需要运行 500 次才能创建 500 个不同的帐户。
提前致谢。