问题:

昨天做测试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的更多相关文章

  1. Android无线测试之—KEYCODE键值对应大全

    KEYCODE列表电话键键名 描述 键值 KEYCODE_CALL 拨号键5    KEYCODE_ENDCALL 挂机键6    KEYCODE_HOME 按键Home3    KEYCODE_ME ...

  2. 转——Android测试之monkey

    一.为什么要用Monkey 测试?   简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性.号称最快速有效的方法.有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一 ...

  3. Android测试之Monkey

    自己用的测试 C:\Users\Star>adb shell monkey -p com.cmstop.android --monitor-native-crashes -- pct-touch ...

  4. android测试之——Instrumentation(一)

    以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...

  5. android测试之——mokeyrunner上(二)

    以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...

  6. Python Appium 开启Android测试之路

    1.获取 Android app的Activity 打开终端cmd,先cd进入到刚才下载的“新浪.apk”目录下,然后使用aapt dump badging xxx.apk命令获取包内信息.注意,启动 ...

  7. Android 测试之Monkey

    一.什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进 ...

  8. Android测试之查看package和activity名称的方法

    方法一:使用aapt    //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 1.命令行中切换到aapt.exe目录执行:aapt dump badging + 路径  ...

  9. Android测试之 APK重签名方法

    方法一:命令行重签名 D:\>keytool -helpkeytool 用法: -certreq [-v] [-protected] [-alias <别名>] [-sigalg & ...

随机推荐

  1. 【Python学习笔记】Coursera之PY4E学习笔记——File

    1.打开文件 使用handle=open(filename,mode)打开文件.这一函数将会返回一个handle(应该翻译为“柄”吧)用来操控文件,参数filename是一个字符串.参数mode是可选 ...

  2. C++学习之路(三):volatile关键字

    volatile是c++中的一个关键字.用volatile修饰的变量,具有三个性质:易变性 (一)易变性: 由于编译器对代码执行的优化,两条赋值语句,下一条语句可能会直接从上一条语句使用的寄存器中取得 ...

  3. Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数

    这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...

  4. 1.Firedac开门篇

    firedac是Delphi开发跨平台的数据库应用程序的通用数据访问组件,同样适用于C++ Builder和FreePascal.firedac可以高速直接访问: 1.InterBase 2.SQLi ...

  5. Pretrained models for Pytorch (Work in progress)

    The goal of this repo is: to help to reproduce research papers results (transfer learning setups for ...

  6. win7下安装 LINUX虚拟机

    文件名: VMware-workstation-full-10.0.6-2700073.exe 百度云共享链接: pan.baidu.com/s/1o6McGmI VMware workstation ...

  7. js 获取html5的data属性

    我以前一直以为只能用jquery的data()来获取 哈哈 是我太弱了 <!DOCTYPE html> <html> <head> <title>dat ...

  8. python基础(2)---数据类型

    1.python版本间的差异: 2.x与3.x版本对比 version 2.x 3.x print print " "或者print()打印都可以正常输出 只能print()这种形 ...

  9. hadoop3.1集成yarn ha

    1.角色分配

  10. Delphi获取毫秒级时间戳

    function GetJavaTime( d: TDateTime ): Int64; var dJavaStart: TDateTime; begin //java里的时间是从1970年1月1日0 ...