Android测试之Keycode
问题:
昨天做测试Case,发现一个网游APK运行界面,uiautomator无法捕捉获取。
因而输入的时候只得运用(dut.onclick(int a, int y))坐标点击的方法来输入用户名和密码。
既无法具有屏幕的适应性,也使得输入代码繁杂,容易出错。
解决方法: 使用 UiDevice.getInstance().pressKeyCode(int x)方法
String id="inteltest";
for(int i=0;i<id.length();i++){
char c =id.charAt(i);
if(c >=48&&c <=57){
UiDevice.getInstance().pressKeyCode(c-41);
}
else
if(c >=97&&c <=122){
UiDevice.getInstance().pressKeyCode(c-68);
}
else
if(c >=65&&c <=90){
UiDevice.getInstance().pressKeyCode(59);
sleep(20);
UiDevice.getInstance().pressKeyCode(c-36);
}
else
if(c ==32){
UiDevice.getInstance().pressKeyCode(62);
}
else{}
}
Keycode:
keycode 1 = 鼠标左键
keycode 2 = 鼠标右键
keycode 3 = Cancel
keycode 4 = 鼠标中键
keycode 8 = BackSpace
keycode 9 = Tab
keycode 12 = Clear(未知)
keycode 13 = Enter
keycode 16 = Shift_L
keycode 17 = Control_L
keycode 18 = Alt_L
keycode 19 = Pause
keycode 20 = Caps_Lock
keycode 27 = Escape
keycode 32 = space
keycode 33 = Prior(PageUp键)
keycode 34 = Next(PageDown键)
keycode 35 = End
keycode 36 = Home
keycode 37 = Left
keycode 38 = Up
keycode 39 = Right
keycode 40 = Down
keycode 41 = Select(未知)
keycode 42 = Print(PrintScreen键)
keycode 43 = Execute(未知)
keycode 45 = Insert
keycode 46 = Delete
keycode 47 = Help(未知)
keycode 48 = 0 equal braceright
keycode 49 = 1 exclam onesuperior
keycode 50 = 2 quotedbl twosuperior
keycode 51 = 3 section threesuperior
keycode 52 = 4 dollar
keycode 53 = 5 percent
keycode 54 = 6 ampersand
keycode 55 = 7 slash braceleft
keycode 56 = 8 parenleft bracketleft
keycode 57 = 9 parenright bracketright
keycode 65 = a A
keycode 66 = b B
keycode 67 = c C
keycode 68 = d D
keycode 69 = e E EuroSign
keycode 70 = f F
keycode 71 = g G
keycode 72 = h H
keycode 73 = i I
keycode 74 = j J
keycode 75 = k K
keycode 76 = l L
keycode 77 = m M mu
keycode 78 = n N
keycode 79 = o O
keycode 80 = p P
keycode 81 = q Q at
keycode 82 = r R
keycode 83 = s S
keycode 84 = t T
keycode 85 = u U
keycode 86 = v V
keycode 87 = w W
keycode 88 = x X
keycode 89 = y Y
keycode 90 = z Z
keycode 96 = KP_0 KP_0(小键盘数字0)
keycode 97 = KP_1 KP_1(小键盘数字1)
keycode 98 = KP_2 KP_2(小键盘数字2)
keycode 99 = KP_3 KP_3(小键盘数字3)
keycode 100 = KP_4 KP_4(小键盘数字4)
keycode 101 = KP_5 KP_5(小键盘数字5)
keycode 102 = KP_6 KP_6(小键盘数字6)
keycode 103 = KP_7 KP_7(小键盘数字7)
keycode 104 = KP_8 KP_8(小键盘数字8)
keycode 105 = KP_9 KP_9(小键盘数字9)
keycode 106 = KP_Multiply KP_Multiply(小键盘乘)
keycode 107 = KP_Add KP_Add(小键盘加)
keycode 108 = KP_Separator KP_Separator(小键盘回车键)
keycode 109 = KP_Subtract KP_Subtract(小键盘减)
keycode 110 = KP_Decimal KP_Decimal(小键盘小数点)
keycode 111 = KP_Divide KP_Divide(小键盘除)
keycode 112 = F1
keycode 113 = F2
keycode 114 = F3
keycode 115 = F4
keycode 116 = F5
keycode 117 = F6
keycode 118 = F7
keycode 119 = F8
keycode 120 = F9
keycode 121 = F10
keycode 122 = F11
keycode 123 = F12
keycode 124 = F13
keycode 125 = F14
keycode 126 = F15
keycode 127 = F16
keycode 128 = F17
keycode 129 = F18
keycode 130 = F19
keycode 131 = F20
keycode 132 = F21
keycode 133 = F22
keycode 134 = F23
keycode 135 = F24
keycode 136 = Num_Lock
keycode 137 = Scroll_Lock(未知)
keycode 187 = acute grave(未知)
keycode 188 = comma semicolon(未知)(逗号 分号)
keycode 189 = minus underscore (减号 下划线)
keycode 190 = period colon (未知 冒号)
keycode 192 = numbersign apostrophe(未知 单引号)
keycode 210 = plusminus hyphen macron (未知 & ^)
keycode 211 =
keycode 212 = copyright registered(未知)
keycode 213 = guillemotleft guillemotright(未知)
keycode 214 = masculine ordfeminine(未知)
keycode 215 = ae AE(未知)
keycode 216 = cent yen(未知)
keycode 217 = questiondown exclamdown(未知)
keycode 218 = onequarter onehalf threequarters(未知)
keycode 220 = less greater bar(小于号 大于号 未知)
keycode 221 = plus asterisk asciitilde(加号 星号 未知)
keycode 227 = multiply division(乘 除)
keycode 228 = acircumflex Acircumflex(未知)
keycode 229 = ecircumflex Ecircumflex(未知)
keycode 230 = icircumflex Icircumflex(未知)
keycode 231 = ocircumflex Ocircumflex(未知)
keycode 232 = ucircumflex Ucircumflex(未知)
keycode 233 = ntilde Ntilde(未知)
keycode 234 = yacute Yacute(未知)
keycode 235 = oslash Ooblique(未知)
keycode 236 = aring Aring(未知)
keycode 237 = ccedilla Ccedilla(未知)
keycode 238 = thorn THORN(未知)
keycode 239 = eth ETH(未知)
keycode 240 = diaeresis cedilla currency(未知)
keycode 241 = agrave Agrave atilde Atilde(未知)
keycode 242 = egrave Egrave(未知)
keycode 243 = igrave Igrave(未知)
keycode 244 = ograve Ograve otilde Otilde(未知)
keycode 245 = ugrave Ugrave(未知)
keycode 246 = adiaeresis Adiaeresis(未知)
keycode 247 = ediaeresis Ediaeresis(未知)
keycode 248 = idiaeresis Idiaeresis(未知)
keycode 249 = odiaeresis Odiaeresis(未知)
keycode 250 = udiaeresis Udiaeresis(未知)
keycode 251 = ssharp question backslash(未知)
keycode 252 = asciicircum degree(未知)
keycode 253 = 3 sterling(未知)
keycode 254 = Mode_switch(未知)
Ascii:
Android测试之Keycode的更多相关文章
- Android无线测试之—KEYCODE键值对应大全
KEYCODE列表电话键键名 描述 键值 KEYCODE_CALL 拨号键5 KEYCODE_ENDCALL 挂机键6 KEYCODE_HOME 按键Home3 KEYCODE_ME ...
- 转——Android测试之monkey
一.为什么要用Monkey 测试? 简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一 ...
- Android测试之Monkey
自己用的测试 C:\Users\Star>adb shell monkey -p com.cmstop.android --monitor-native-crashes -- pct-touch ...
- android测试之——Instrumentation(一)
以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...
- android测试之——mokeyrunner上(二)
以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...
- Python Appium 开启Android测试之路
1.获取 Android app的Activity 打开终端cmd,先cd进入到刚才下载的“新浪.apk”目录下,然后使用aapt dump badging xxx.apk命令获取包内信息.注意,启动 ...
- Android 测试之Monkey
一.什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进 ...
- Android测试之查看package和activity名称的方法
方法一:使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 1.命令行中切换到aapt.exe目录执行:aapt dump badging + 路径 ...
- Android测试之 APK重签名方法
方法一:命令行重签名 D:\>keytool -helpkeytool 用法: -certreq [-v] [-protected] [-alias <别名>] [-sigalg & ...
随机推荐
- 分布式队列Celery
Celery是什么? Celery 是一个由 Python 编写的简单.灵活.可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具. Celery 专注于实时任务处理,支持任务 ...
- MariaDB 复合语句和优化套路
测试环境准备 本文主要围绕的对象是mariadb 高级语法, 索引优化, 基础sql语句调优. 下面那就开始搭建本次测试的大环境. 首先下载mariadb开发环境, 并F5 run起来. 具体参照 ...
- [How to]简单易用的拷贝Mac文件路径方法
效果: 在你想拷贝路径的文件夹或者文件上右键会出现 copy path 选项! 实现: 1.打开finder的的Automator组件 2.选择[服务]选项,点击[选取]按钮 3.搜索操作项目中[拷贝 ...
- openstack前期准备
. 两台虚拟机,安装Centos7系统 两个网卡 -- 一个NAT模式,一个仅主机模式 两个硬盘 -- 一个20GB,一个50GB 内存 -- 主 .6GB(根据自己的配置,大于2G即可) 从 1.6 ...
- MYSQL有外键无法删除
今天删除数据库中数据,提示因为设置了foreign key,无法修改删除 可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. SET FOREIGN_KEY_CHECKS=0; 删除 ...
- linux命令(45):diff命令
1.命令格式: diff[参数][文件1或目录1][文件2或目录2] 2.命令功能: diff命令能比较单个文件或者目录内容.如果指定比较的是文件,则只有当输入为文本文件时才有效.以逐行的方式,比较文 ...
- POJ 2387 Til the Cows Come Home(dijkstra裸题)
题目链接:http://poj.org/problem?id=2387 题目大意:给你t条边(无向图),n个顶点,让你求点1到点n的最短距离. 解题思路:裸的dijsktra,注意判重边. 代码: # ...
- Guice2.0的变化——第一部分 新的特性(上)
http://superleo.iteye.com/blog/314816 Private Modules PrivateModules 用于创建并不需要对外可见的绑定对象.当然,这样会使得封装变得更 ...
- 利用flex布局来column分布
html代码 <div class='items'> <div class='item'></div> <div class='item'></d ...
- elasticsearch更新license
Elasticsearch更新license: 初次安装Marvel,有30天的使用时间,当到期后,只保存7天的数据,所以需要注册申请一个license: 注册申请地址: https://regist ...