动机解释 本来直接使用 adb shell -> input 即可模拟 键盘事件,触屏事件keyevent ,text,tap 但是手上的这台目标Android机4.0.3系统的input只支持text和keyevent,不支持tap,无法模拟触屏点击事件. usage: input [text|keyevent] input text <string> input keyevent <event_code> 于是开始寻找模拟触屏的替代解决方案. 最新的Android API…
本文转载自:http://blog.csdn.net/yuanzihui/article/details/52871652 常用的 input上报命令: input text 1234 实际向界面注入1234文字,有输入框,能明显看到效果 input keyevent 4 键盘事件,4 为返回 input tap 100 300 单击触屏事件 ,模拟点击x=100 y = 300 位置 input swipe 100 300 500 300 触屏滑动事件,模拟滑动,从x =100 y = 300…
# -*- coding:utf-8 -*- from appium import webdriver from time import sleep desired_caps ={ 'platformName':'Android', 'deviceName':'127.0.0.1:62001', 'platformVersion':'4.4.2', 'appPackage':'com.baidu.yuedu', 'appActivity':'com.baidu.yuedu.splash.Spla…
当常使用的查找点击元素的方法name.id.classname等无法使用时,我们将会采取坐标的点击来实现操作,同样存在一个问题,当手机的分辨率.屏幕大小不一致时,坐标的定位也会不同,因此将采用相对坐标来实现点击. 1.appium/webdriver底层给出的写法示例如下,详细的方法介绍自行查看底层介绍,这里不给出说明. :Usage: driver.tap([(, ), (, ), (, )], ) 2.常见写法中出现的问题:  手机中查看坐标的方法:开启手机指针位置(设置--关于手机--开发…
在Android中如何用代码触发按钮点击事件?我想要触发代码执行按钮点击.实现对于单击按钮事件的模拟,触发单击按钮进入另一个界面. 就是声明一下什么moonlightcheese被声明了:在android中用代码触发一个按钮的点击事件的代码是: buttonName.performClick(); 在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: onClick(View v)一个普通的点击按钮事件 boolean onKeyMult…
一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) { long downTime = SystemClock.uptimeMillis(); final MotionEvent downEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_DOWN, x, y, ); downTime +=…
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上打开的手机模拟器) > adb device > adb shell > input C:\Users\Gloria>adb devices Li…
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点.好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作. 但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug.查看代码发现,原来是执行了下面的代码才模拟出在屏幕上的点击事件. Runtime.getRuntime().e…
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件 input事件 1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上打开的手机模拟器) > adb device > adb shell > input C:\Users\Gloria>adb devices Li…
前言:appium定位也不是万能的,有些元素还是定位不到,这个时候只能换一个方式定位了,可以使用这个adb shell模拟点击. 1.input可以实现的功能 输入文本信息:input text guolinli 物理按键操作: input keyevent KEYCODE_VOLUME_DOWN 点击(DOWN_UP)操作:input tap 500 500 模拟滑动操作:input swipe 200 500 400 500 模拟轨迹球操作 input roll 100 200 2.inpu…