前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >appium+python自动化37-adb模拟点击事件(input tap)

appium+python自动化37-adb模拟点击事件(input tap)

作者头像
上海-悠悠
发布2018-07-25 15:46:04
2.6K0
发布2018-07-25 15:46:04
举报

前言

appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其它的方法去点击,比如我们可以用adb去执行点击事件

input事件

1.先查看input事件语法有哪些,首先确保手机连上电脑(我这里是电脑上打开的手机模拟器)

代码语言:javascript
复制
> adb device
> adb shell
> input
代码语言:javascript
复制
C:\Users\Gloria>adb devices
List of devices attached
127.0.0.1:52007 device

C:\Users\Gloria>adb shell
root@android:/ # input
Usage: input [<source>] <command> [<arg>...]

The sources are:
      trackball
      joystick
      touchnavigation
      mouse
      keyboard
      gamepad
      touchpad
      dpad
      stylus
      touchscreen

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)
root@android:/ #

2.input可以实现的功能

  • 输入文本信息:input text yoyo
  • 物理按键操作: input keyevent KEYCODE_VOLUME_DOWN
  • 点击(DOWN_UP)操作:input tap 500 500
  • 模拟滑动操作:input swipe 200 500 400 500
  • 模拟轨迹球操作 input roll 100 200

input tap

1.input tap实现的是DOWN_UP事件,也就是点击操作,后面两个参数是点击的坐标x,y

2.举个例子:点击淘宝app的icon图标,先查看坐标[149,388][290,618],大概可以算出需要点击的点为(200, 500)

打开cmd,输入adb执行,这个时候可以看到淘宝app已经启动了

代码语言:javascript
复制
> adb shell input tap 200 500

3.再继续点击淘宝上的‘我的淘宝’按钮 (600, 1250)

代码语言:javascript
复制
> adb shell input tap 600 1250

python执行adb命令

1.回到手机的home首页,执行以下python脚本,也能达到同样效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • input事件
  • input tap
  • python执行adb命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档