monkeyrunner_控件坐标获取

1.Pointer location获取坐标

通过模拟器中的设置-开发者选项,找到“指针位置”的选项,勾选上。如下图所示。

勾选后,模拟器的最顶部则显示坐标,比如点击模拟器上的任一应用,最顶部显示X、Y的值即该应用的坐标;同理,如果想要获取任一应用中的任一位置的坐标,也可用此方法。

2、MonkeyRecorder获取坐标

MonkeyRecorder是一个比较好用的获取坐标的工具,它是用来获取真机或模拟器上坐标的工具,当我们点击真机或模拟器上的空间时,就能显示真机或模拟器上的点击点的坐标。

(1)MonkeyRecorder的启动

首先安卓手机连接上电脑,并保证以下两个条件成立:

a.终端USB调成开发者模式

b.电脑安装手机驱动

手机连接成功后,打开cmd窗口,输入adb devices查看已连接真机或模拟器设备的名称。

之后,在cmd窗口,输入monkeyrunner后,启动Monkeyrunner。做以下操作:导入MonkeyRecorder包、连接模拟器设备、以MonkeyRecorder方式启动模拟器,并依次输入

如下命令:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice

from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder

device=MonkeyRunner.waitForConnection()

recorder.start(device)

到此,MonkeyRecorder正式启动。截图如下:

(2)MonkeyRecorder的使用

我们这里只是使用MonkeyRecorder来记录坐标,获取坐标的方式很简单。比如上图,点击“打开”按钮,右侧就会显示该按钮的坐标;这个坐标就是我们需要获得的坐标。同时,MonkeyRecorder中的界面是同模拟器页面保持一致的,在MonkeyRecorder中触发任一操作,模拟器上会有相应的触发。如果两者没有保持一致,则点击MonkeyRecorder右上角的Refresh Display即可刷新页面。

时间: 2024-12-29 01:10:03

monkeyrunner_控件坐标获取的相关文章

monkeyrunner之坐标或控件ID获取方法

Monkeyrunner的环境已经搭建完成,现在对Monkeyrunner做一个简介. Monkeyrunner工具提供了一套API让用户/测试人员来调用,调用这些api可以控制一个Android设备或模拟器,而不需要了解对应的源码. 有了Monkeyrunner,我们可以编写python脚本来控制apk包的安装和卸载.启动app.向app发送各种动作事件.截取图片并保存. 除此之外,MonkeyRunner是Google提供的一个基于坐标点的Android黑盒自动化测试工具.所以,要使用Mon

monkeyrunner之坐标或控件ID获取方法-续

在之前的文章中,介绍过控件坐标和ID的获取方法,这里,我们再介绍一个新的工具-uiautomatorviewer. Uiautomatorviewer是Android sdk自带的工具,位置在sdk/tools下. 工具打开方法: 1.sdk/tools下,找到uiautomatorviewer,双击打开 2.在cmd命令行,直接输入uiautomatorviewer,打开该工具 打开该工具后,我们就可以开始使用了. 运行环境:Windows 使用方法: 1.连接模拟器或真机(我们这里使用模拟器

Robotium源码解读-native/webview控件的获取和操作

之前基本上没接触过移动端的UITest测试,之前因为一些需求临时赶鸭子上架采用了UIAutomator,但是后来发现webview没办法识别,在预研过程中,发现Robotium跟Appium这两个神器.由于Robotium提供了webview的解析方式,遂决定研究一下. 一.环境准备以及初始化 用来说明的用例采用的是Robotium官网的一个tutorial用例-Notepad @RunWith(AndroidJUnit4.class) public class NotePadTest { pr

NX二次开发-Block UI C++界面Specify Point(指定点)控件的获取(持续补充)

Specify Point(指定点)控件的获取 1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_ui.h> 5 6 7 UF_initialize(); 8 9 //获取点XYZ坐标 10 PropertyList *SelectPoint1Props = point0->GetProperties(); 11 Point3d SelectPoint1 = SelectPoint1Props->GetPoint("

安卓Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集

界面虽然被我弄的很难看,但功能还可以 里边注册表的路径自己设置一下,或者加一个创建注册表的语句,不然会报错 前台: Html代码   <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="FPSZ.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

C#后台创建控件并获取值的方法

本文实例讲述了C#后台创建控件并获取值的方法.分享给大家供大家参考.具体实现方法如下: 前台代码: 代码如下: <form id="form1″ runat="server"> <div> <div class="item"> Please input a number: <asp:TextBox runat="server" CssClass="item" ID="

NX二次开发-Block UI C++界面Face Collector(面收集器)控件的获取(持续补充 )

Face Collector(面收集器)控件的获取 1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_obj.h> 5 6 7 UF_initialize(); 8 9 //面收集器控件 10 PropertyList* FaceSelectProps = face_select0->GetProperties(); 11 std::vector<NXOpen::TaggedObject *> faces = Face