`
huangqinqin
  • 浏览: 365706 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

Windows平台MonkeyTalk环境搭建

 
阅读更多

   Windows平台MonkeyTalk环境搭建

 

MonkeyTalk是款针对手机应用的自动化测试工具。

 

特性:

1》免费且开源。

2》支持AndroidIOS平台。

3MonkeyTalk主要包括:MonkeyTalk IDEMonkeyTalk AgentMonkeyTalk scripts

4MonkeyTalk Agent可以是真机或模拟器。

5》无需root权限或越狱。

6》支持录制、回放、脚本编写(支持JS)。

7》支持回放内嵌的WebViews,但暂不支持录制。

8》支持桌面网络浏览器 (Firefox only in Beta5), 基于浏览器的移动网络。

9》被测试app必须植入Agent,即必须修改app源码。

安装IDE

MonkeyTalk IDE 主要用于脚本的录制,回放,管理,适用于模拟器及真机。

1 下载MonkeyTalkzip文件。地址:http://www.gorillalogic.com/monkeytalk

2 将下载好的monkeytalk-latest-win32.zip文件解压缩,里面含有IDEAgent。如图1所示:

 

1

3 MonkeyTalkIDE 文件夹copy到你自己选好的目录下。如图2所示:

 

2

 

MonkeyTalkIDE子目录下双击MonkeyTalkIDE.exe启动IDE,如下图所示:

 

3

安装Agent

1打开Eclipse,将Android项目转化为AspectJ

右击被测试app名称,选择Configure—— Convert to AspectJ Project(若单击Configure后没有出现Convert to AspectJ Project 选择,则请参照附录一安装AspectJ插件)。如图4所示:

 

4

当成功Convert to AspectJ Project 后,app目录下会多个AspectJ Runtime Library目录,里面包含aspectjrt.jar

 

2 将上次解压缩zip包后产生的文件夹下agents目下的相关平台(此处为Android平台)下的agent.jar(此处为monkeytalk-agent-1.0.11.beta5c.jar文件)copyEclipse中你所创建的app下的libs录下。若app中没有libs目录,则新建一个。如图5,6所示:

 

 

5

 

 

6

 

3 右击libs目录下monkeytalk-agent-1.0.11.beta5c.jar—— AspectJ Tools ——

Add  to  AspectPath。如图7所示:

 

7

xxx-agent-xxx.jar 成功AddAspectpath后,app目录下会增加Referenced Libraries目录,如图8所示:

 

8

 

4 右击app项目名称——选择Properties——选择Order and Export ——勾选AspectJ Runtime Library ——点击OK按钮。如图9所示:

 

9

 

5 更改appAndroidManifest.xml文件,添加以下两行代码:

<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.GET_TASKS"/>  

添加后结果如图10所示:  

 

 

10

 

 

添加INTERENT是方便后期IDEApp通过Http通信用。

添加GET_TASKS允许程序获取当前或最近运行的应用。

 

 

连接device

启动MonkeyTalk IDE,单击工具栏中机器人小图标,选择Networked Android Device…。如下图所示:

 

11

输入设备Ip,如下图所示:

 

12

点击Ok,即可完成。若连接成功,在Console显示:

19:02:27.984: Connection set to device at [ip]。继续点击工具栏的小机器人我们将看到第三行将显示:Device at 192.168.6.236

 

13

 

附:查看设备IP

1》用usb将设备与PC机相连(已安装好设备驱动,PC能正确识别device的情况下)

2》运行cmd

3》在终端输入adb shell进入device的系统命令模式下

4》利用Linux下的ifconfig命名查看设备的Ip,如下图所示:

 

14

 

 

 

 

 

附录一 AspectJ插件的安装

在使用MonkeyTalk测试Android时,需要用到AspectJ插件,我将在另一章节降到。

1 确保你的Eclipse安装了AspectJ插件。若已装,请跳过。若未装,则右击项目名——Configure——若菜单项中没有Convert to AspectJ,如图1所示,则表明Eclipse中未装AspectJ插件。

 

 

 

1

 

2:安装AspectJ

2.1 打开Eclipse——Help——Install New Software

2.2 Work With输入框中输入:http://download.eclipse.org/tools/ajdt/37/update,等待Pedding结束,如图:

 

 

 

2

点击Next,如图:

 

 

3

选择“I accept the terms of the license agreements”,然后点击Next

 

4

正在安装,如图:

 

5

安装过程中可能会弹出一个对话框需要你确认,直接点击YesOk了。

安装成后需重启Eclipse,重启Eclpse后右击项目名——Configure,你将看到如下信息,如图6所示:

 

6

 

附录二(问题总结)

 

 1  command 'input.entertext' is illegal -- only Test, Setup, Teardown are allowed

因为在mts中执行以下脚本(应该在mt中执行),所以出错

Input username EnterText user123

Input password EnterText pw123

Button LOGIN Tap

Button LOGOUT Tap

2 右击MonkeyTalk  Projectname,选择new,没有“Test”菜单,只有“Test Suit”菜单。

最新版的“Test”菜单改成了“Script”菜单。

 

 

3  MonkeyId 的选择

MonekyIdComponentType的具体表现。比如ComponentTypeInputAndroid中的EditText,那么MonkeyId则是EditTextIdandroidid=“”)或者EditTexttextandroidtext=“”)。但我们在选择MonkeyId时尽量选择EditTextIdId是唯一的而text随时都可能发生改变,如果我们想重复执行这个script时,当EditText的值发生了改变,执行script时就会出错:Failure:Unable to find Input('PWD')

 

当我们在测试MainActivity这个界面时,设置的测试脚本中除了PasswordMonkeyId用了text,其他的ComponentTypeMonkeyId都用AndroidViewid。如下图所示:

 

 

 

 

7

注意:其中*表示第一个以“Input”为ComponentTypeMonkeyId

MonkeyId也可以用#NN为数字)表示,其中N表示所有相同的ComponentType中的第NMonkeyId,它们以(XY)的形式排序计算其N值,即从上到下,从左到右计算。如图7中的User#1表示,PWD#2表示,LOGIN#1表示,LOGOUT#2表示。如下图所示:

 

8

点击ToolBar上的绿色箭头执行脚本,如下图所示:

 

9

这次顺利执行了。当我们再次点击那个绿色箭头执行时,结果如下:

 

 

10

我们看到Console中的最后一行:Failure:Unable to find Input('PWD')脚本找不到PWD了,因为PWD被我们上次更改成了username。导致后面的两句脚本:

Button login_in Tap

Button login_out Tap

也无法执行了。

4 MonkeyTalk不能识别空格

若代码中在文字前面加空格,录制时可以通过,回放时出错,MonkeyTalk会默认把文字前的空格过滤掉,但实际上空格也是个合法字符,造成录制时与回放时的值不等,因此出错。

例如:  开始收集”Button与“开始收集”Button实际不等,但MonkeyTalk在回放时会自动将“  开始收集”Button过滤成“开始收集”Button,但录制的脚本和实际代码中都是“  开始收集”Button。因此返回不能识别的错误信息。

 

 

  • 大小: 31.8 KB
  • 大小: 31.7 KB
  • 大小: 61.9 KB
  • 大小: 42.4 KB
  • 大小: 15.4 KB
  • 大小: 29.7 KB
  • 大小: 51.7 KB
  • 大小: 26.8 KB
  • 大小: 53.8 KB
  • 大小: 22.7 KB
  • 大小: 58.5 KB
  • 大小: 21.7 KB
  • 大小: 48.3 KB
  • 大小: 57 KB
  • 大小: 47.1 KB
  • 大小: 55.2 KB
  • 大小: 32.2 KB
  • 大小: 46.1 KB
  • 大小: 24.5 KB
  • 大小: 46.1 KB
  • 大小: 44.8 KB
  • 大小: 45.5 KB
  • 大小: 51.5 KB
  • 大小: 36.2 KB
分享到:
评论

相关推荐

    Monkeytalk installation guide.

    对于 Android 平台的测试,Eclipse 集成开发环境是必不可少的。如果你已经安装了 Eclipse 和配置了 Java、SDK,可以跳过这一步。否则,你可以访问 ADT 下载链接(http://www.cnblogs.com/tc310/p/3938353.html)下载...

    Android平台下MonkeyTalk使用流程

    MonkeyTalk 是一款强大的自动化测试工具,它支持多种平台,包括 Android。本文主要介绍在 Android 平台上使用 MonkeyTalk 的详细步骤,由南京研发中心胡金广撰写。首先,我们需要进行环境准备。 1. 环境准备: - ...

    monkeytalk-test-app:具有MonkeyTalk测试的FH混合应用程序

    在FeedHenry平台(Android)上构建MonkeyTalk仪表应用在FeedHenry平台中创建一个新的应用程序(使用此存储库的副本以包含示例MonkeyTalk测试和测试运行器) 在“混合客户端”&gt;“配置”&gt;“ Android”中,选中“已启用...

    APP自动化总结.docx

    在实施APP自动化测试时,环境搭建和脚本编写是基础。例如,使用Python3进行Appium测试时,需要安装Appium库、依赖驱动(如WebDriverAgent for iOS或uiautomator2 for Android),并配置正确的设备连接和模拟器设置。...

    移动自动化

    例如,Jenkins、GitLab CI/CD可以用于构建和部署测试环境,Postman用于API测试,MonkeyTalk、UIAutomator用于界面测试。 在压缩包中的“车联网QC案例.xls”文件名,可能包含了一组与车联网相关的质量控制案例研究。...

    Android平台设备盘点客户端的设计与实现.pdf

    在Android平台上设计和实现一个设备盘点客户端涉及到多个关键知识点,这些知识点构成了移动应用开发的基础,并且对于理解如何构建这样的系统至关重要。以下是对这些核心概念的详细阐述: 1. **Android SDK**: ...

    手机终端测试,手机终端软件测试

    除此之外,还有Appium、MonkeyTalk等跨平台的自动化测试工具,它们支持多种编程语言,可以实现对不同操作系统上的应用进行测试。 对于兼容性测试,测试人员需要在多种手机模型和操作系统版本上运行应用程序,确保其...

    移动App测试中的最佳做法

    在 iPhone 平台上,有 KIF、UIAutomation、MonkeyTalk、CalabashforiOS 等自动化测试工具。 三、非功能测试 非功能测试是移动 App 测试的另一重要方面。在非功能测试中,测试员需要检查移动 App 的性能、安全性、...

    网络游戏-通过网络在线提交产品性能质量检测申请的工具与方法.zip

    4. **兼容性测试工具**:如Appium、MonkeyTalk,可以测试游戏在不同设备、操作系统上的表现。 5. **自动化测试**:通过编写测试脚本,实现对游戏功能的自动化测试,提高效率。 四、检测结果分析与改进 测试完成后...

    iOS应用UI自动化测试图文攻略

    iOS的自动化测试框架可分为两种:注入式和非...可在windows平台进行测试;但是需要在待测项目中增加第三方的部分,使得测试的内容和实际发布的内容并不一致非注入式:待测内容和最终的上线内容保持一致;测试无需源码

    软件测试app选择1

    1. 平台兼容性:确保工具支持目标平台(iOS、Android或跨平台)。 2. 技术栈:如果项目使用特定的技术(如React Native、Flutter),选择与其兼容的测试框架。 3. 自动化需求:自动化测试可以节省时间和资源,但需要...

    appium_page_object:使用页面对象模式包含appium代码

    appium_page_object 使用页面对象模式包含appium代码 ... 对iOS和以下平台上的工具Calabash,Frank,UIAutomation,ios-driver,KeepitFunctional的完整竞争分析calabash-android,MonkeyTalk,Robotium,UIAuto

    广州androidapp开发制作软件公司的方法与准则.pdf

    2. **自动化测试** - 使用JUnit、Robotium或MonkeyTalk等测试工具,可以有效地进行设备测试和自动化测试,模拟用户行为,确保应用在各种环境下的稳定性和性能。 3. **实时错误报告** - 通过BugSense和Crittercism等...

    monkey问题稳定性总结

    7. **增强Monkey测试**:为了提高测试的覆盖率和针对性,可以结合Monkey Runner、MonkeyTalk等工具,编写脚本进行定向测试,或者使用MonkeyPatcher添加过滤条件,避免无效或破坏性的操作。 8. **压力测试**:通过...

Global site tag (gtag.js) - Google Analytics