把前段时间的研究成果记录一下。主要是通过调用应用软件的ID进行操作软件,此操作需要用到以下类和工具:
1、安卓自有目录\tools\hierarchyviewer.bat工具可以用来查看应用程序的ID。
操作hierarchyviewer.bat工具步骤:
(1)、启动安卓模拟器,打开需要查看ID的软件界面。此处以google搜索界面为例。然后双击打开hierarchyviewer.bat,显示搜索界面的activity,即下图左侧被选中的项,表示搜索界面的完整包名。
(2)点击Load View Hierarchy按钮,展现该搜索界面的层级图。选中指定的控件,查看ID名称。
在属性显示区域可以看到各个控件所处的坐标位置,以及可以查看模拟器上任务栏的高度,这些信息可以用于坐标计算中。
2、通过EasyMonkeyDevice类和By类来调用控件ID。
一些常用控件的写法如下:
(1)输入框的ID写法:
easy_device.type(By.id('id/name_text),'zhangsan')
(2)复选框/单选/按钮的ID写法:
easy_device.touch(By.id('id/login_button'),MonkeyDevice.DOWN_AND_UP)
(3)当两个ID名称相同时,可以使用层级进行定位
easy_device.touch(By.id('id/parent_button'),MonkeyDevice.DOWN_AND_UP,By.id('id/current_button'),MonkeyDevice.DOWN_AND_UP)
通过ID进行计算器操作示例calculator.py:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice from com.android.monkeyrunner.easy import EasyMonkeyDevice from com.android.monkeyrunner.easy import By from com.android.chimpchat.hierarchyviewer import HierarchyViewer from com.android.hierarchyviewerlib.device import ViewNode device = MonkeyRunner.waitForConnection() package = 'com.android.calculator2' activity = 'com.android.calculator2.Calculator' runComponent = package + '/' + activity device.startActivity(component=runComponent) MonkeyRunner.sleep(3.0) easy_device = EasyMonkeyDevice(device) #init easymonkeydevice object must start activity at first.Because the init method will getHierarchyViewer(); easy_device.touch(By.id('id/digit7'),MonkeyDevice.DOWN_AND_UP) easy_device.touch(By.id('id/mul'),MonkeyDevice.DOWN_AND_UP) easy_device.touch(By.id('id/digit8'),MonkeyDevice.DOWN_AND_UP) easy_device.touch(By.id('id/equal'),MonkeyDevice.DOWN_AND_UP) MonkeyRunner.sleep(1.0) pic = device.takeSnapshot() pic.writeToFile('D:\\monkeyrunner\\result.png','png') print 'test finished!' |
3、运行文件模拟计算7*8=56,生成result.png。monkeyrunner calculator.py
用ID进行参数差不多都是这个思路。但是对于列表、或者弹出框则无法直接通过点击ID操作成功,需要计算ID的坐标。
相关推荐
【Android自动化测试十三之MonkeyRunner自动化框架】 MonkeyRunner是Android SDK提供的一种强大的自动化测试工具,它允许开发者通过编写Python脚本来实现对Android设备或模拟器的控制,进行UI级别的自动化测试。...
Monkey是Android系统提供的一种自动化压力测试工具,它通过向设备或模拟器发送伪随机的用户事件流,如触摸屏点击、按键、滚动等,来检测应用程序的稳定性和健壮性。这些事件是由系统自动生成的,无法进行自定义,...
基于Monkeyrunner的安卓自动化测试框架....网上关于安卓自动化测试的工具和文章少的可怜,而且大部分工具非常坑爹,一些已经成型的工具现在居然也不支持通过ID进行操作…特分享此工具,内含完整源代码可供学习.
本文将详细介绍几个常用的Android自动化测试框架,包括Monkey、MonkeyRunner、UIAutomator、Robotium和Appium。 1. **Monkey** Monkey是Android SDK自带的一个命令行工具,主要用于压力测试。它通过向系统发送随机...
UIAutomator框架是Google为了简化和增强Android自动化测试体验而推出的一个工具。与基于Python的Monkey和MonkeyRunner等早期测试工具相比,UIAutomator提供了更丰富的事件操作支持。Monkey是Android SDK自带的测试...
Monkeyrunner 是一个由 Android SDK 提供的工具,用于自动化测试 Android 应用程序。它基于 Python,允许开发者编写脚本来控制设备或模拟器的行为,并与应用程序进行交互。本篇文章将详细讲解 Monkeyrunner 的环境...
在自动化测试技术方面,文档提到了Android平台主流的几种自动化测试工具,如Monkey、MonkeyRunner、Robotium和Appium。Monkey是Android SDK自带的测试工具,它可以模拟发送随机的输入消息给应用程序,主要用于应用的...
以Appium为例,它是一个跨平台的移动自动化测试工具,支持Android和iOS。相比于其他工具,Appium的优点在于其通用性和支持原生、混合和Web应用测试,缺点可能是学习曲线较陡峭。自动化测试方案通常包括搭建测试环境...
众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本。不过,最近发现可以用java调用monkeyrunner Api,用java语言写测试脚本。 于是,就简单研究了一下。...
在自动化测试的工具选择上,传统上在Android端常用的自动化控制方法包括Robotium、MonkeyRunner、Espresso、Appium、UI Automator和TestBird等。不过,由于机顶盒的特殊性,这些方法在实际应用中会遇到一定的困难。...
使用工具如JUnitperf、MonkeyRunner等可以进行性能测试。 7. **回归测试**:每次修改或新增功能后,都需要运行自动化测试套件进行回归测试,确保原有功能不受影响。 8. **报告与分析**:测试结果需要清晰、详尽的...
5. **UI自动化测试工具**:如 Espresso(Android)和KIF(iOS)用于编写更加简洁和强大的UI测试。Espresso提供了一个强大的API来编写同步的Android UI测试,而KIF(Keep It Functional)则是iOS平台的一个用户界面...
本次教程将教大家如何用monkeyrunner进行android的自动化测试,包括环境的搭建、monkeyrunner和uiautomatorviewer工具的使用。 打开eclipse新建一个avd(android模拟器),然后运行这个模拟器。打开eclipse新建一个...
MonkeyRunner 是 Android SDK 提供的一个自动化测试工具,它允许开发者编写 Python 脚本来控制 Android 设备或模拟器,执行一系列操作,如启动应用、触摸屏幕、按键等。这个工具对于初学者来说,是一个很好的起点,...