Appium 解决异常输入

Appium 解决异常输入

一些自动添加空格的文本框,在使用 input text [输入文本] 关键字输入的时候,总会少输入一些字符。
这个时候我们就需要另外考虑一种思路,使用 press keycode 去实现输入。
首先我们需要知道手机键对应的 keycode, 这个网上都有,我整理了一下,在 TestLibrary 中写了一个 getMobileKey 的方法,返回一个key 的字典

class TestLibrary:
    """测试库"""
    def getMobileKey(self):
        key={'0':7,'1':8,'2':9,'3':10,'4':11,'5':12,'6':13,'7':14,'8':15,'9':16,
            'A':29,'B':30,'C':31,'D':32,'E':33,'F':34,'G':35,'H':36,'I':37,'J':38,
            'K':39,'L':40,'M':41,'N':42,'O':43,'P':44,'Q':45,'R':46,'S':47,'T':48,
            'U':49,'V':50,'W':51,'X':52,'Y':53,'Z':54,
            'a':29,'b':30,'c':31,'d':32,'e':33,'f':34,'g':35,'h':36,'i':37,'j':38,
            'k':39,'l':40,'m':41,'n':42,'o':43,'p':44,'q':45,'r':46,'s':47,'t':48,
            'u':49,'v':50,'w':51,'x':52,'y':53,'z':54,
            'META_ALT_LEFT_ON':16,
            'META_ALT_MASK':50,
            'META_ALT_ON':2,
            'META_ALT_RIGHT_ON':32,
            'META_CAPS_LOCK_ON':1048576,
            'META_CTRL_LEFT_ON': 8192,
            'META_CTRL_MASK':28672,
            'META_CTRL_ON':4096,
            'META_CTRL_RIGHT_ON':16384,
            'META_FUNCTION_ON':8,
            'META_META_LEFT_ON':131072,
            'META_META_MASK':458752,
            'META_META_ON':65536,
            'META_META_RIGHT_ON':262144,
            'META_NUM_LOCK_ON':2097152,
            'META_SCROLL_LOCK_ON':4194304,
            'META_SHIFT_LEFT_ON':64,
            'META_SHIFT_MASK':193,
            'META_SHIFT_ON':1,
            'META_SHIFT_RIGHT_ON':128,
            'META_SYM_ON':4,
            'KEYCODE_APOSTROPHE':75,
            'KEYCODE_AT':77,
            'KEYCODE_BACKSLASH':73,
            'KEYCODE_COMMA':55,
            'KEYCODE_EQUALS':70,
            'KEYCODE_GRAVE':68,
            'KEYCODE_LEFT_BRACKET':71,
            'KEYCODE_MINUS':69,
            'KEYCODE_PERIOD':56,
            'KEYCODE_PLUS':81,
            'KEYCODE_POUND':18,
            'KEYCODE_RIGHT_BRACKET':72,
            'KEYCODE_SEMICOLON':74,
            'KEYCODE_SLASH':76,
            'KEYCODE_STAR':17,
            'KEYCODE_SPACE':62,
            'KEYCODE_TAB':61,
            'KEYCODE_ENTER':66,
            'KEYCODE_ESCAPE':111,
            'KEYCODE_CAPS_LOCK':115,
            'KEYCODE_CLEAR':28,
            'KEYCODE_PAGE_DOWN':93,
            'KEYCODE_PAGE_UP':92,
            'KEYCODE_SCROLL_LOCK':116,
            'KEYCODE_MOVE_END':123,
            'KEYCODE_MOVE_HOME':122,
            'KEYCODE_INSERT':124,
            'KEYCODE_SHIFT_LEFT':59,
            'KEYCODE_SHIFT_RIGHT':60,
            'KEYCODE_F1':131,
            'KEYCODE_F2':132,
            'KEYCODE_F3':133,
            'KEYCODE_F4':134,
            'KEYCODE_F5':135,
            'KEYCODE_F6':136,
            'KEYCODE_F7':137,
            'KEYCODE_F8':138,
            'KEYCODE_F9':139,
            'KEYCODE_F10':140,
            'KEYCODE_F11':141,
            'KEYCODE_F12':142,
            'KEYCODE_BACK':4,
            'KEYCODE_CALL':5,
            'KEYCODE_ENDCALL':6,
            'KEYCODE_CAMERA':27,
            'KEYCODE_FOCUS':80,
            'KEYCODE_VOLUME_UP':24,
            'KEYCODE_VOLUME_DOWN':25,
            'KEYCODE_VOLUME_MUTE':164,
            'KEYCODE_MENU':82,
            'KEYCODE_HOME':3,
            'KEYCODE_POWER':26,
            'KEYCODE_SEARCH':84,
            'KEYCODE_NOTIFICATION':83,
            'KEYCODE_NUM':78,
            'KEYCODE_SYM':63,
            'KEYCODE_SETTINGS':176,
            'KEYCODE_DEL':67,
            'KEYCODE_FORWARD_DEL':112,
            'KEYCODE_NUMPAD_0':144,
            'KEYCODE_NUMPAD_1':145,
            'KEYCODE_NUMPAD_2':146,
            'KEYCODE_NUMPAD_3':147,
            'KEYCODE_NUMPAD_4':148,
            'KEYCODE_NUMPAD_5':149,
            'KEYCODE_NUMPAD_6':150,
            'KEYCODE_NUMPAD_7':151,
            'KEYCODE_NUMPAD_8':152,
            'KEYCODE_NUMPAD_9':153,
            'KEYCODE_NUMPAD_ADD':157,
            'KEYCODE_NUMPAD_COMMA':159,
            'KEYCODE_NUMPAD_DIVIDE':154,
            'KEYCODE_NUMPAD_DOT':158,
            'KEYCODE_NUMPAD_EQUALS':161,
            'KEYCODE_NUMPAD_LEFT_PAREN':162,
            'KEYCODE_NUMPAD_MULTIPLY':155,
            'KEYCODE_NUMPAD_RIGHT_PAREN':163,
            'KEYCODE_NUMPAD_SUBTRACT':156,
            'KEYCODE_NUMPAD_ENTER':160,
            'KEYCODE_NUM_LOCK':143,
            'KEYCODE_MEDIA_FAST_FORWARD':90,
            'KEYCODE_MEDIA_NEXT':87,
            'KEYCODE_MEDIA_PAUSE':127,
            'KEYCODE_MEDIA_PLAY':126,
            'KEYCODE_MEDIA_PLAY_PAUSE':85,
            'KEYCODE_MEDIA_PREVIOUS':88,
            'KEYCODE_MEDIA_RECORD':130,
            'KEYCODE_MEDIA_REWIND':89,
            'KEYCODE_MEDIA_STOP':86,
        }
        return key

把测试库TestLibrary 放到,python_path/Lib/site-packages 目录下
在Ride 中导入TestLibrary
然后就可以使用这个方法:getMobileKey

循环${len}次,press keycode , ${key['${keys[${i}]}']} 
${keys[${i}]} 代表取出的是参数的第${i}个字符,作为字典的key
 ${key['${keys[${i}]}']} 代表取出 ${keys[${i}]} 对应的key 的值,这个值就是keycode

这里写图片描述

实际运需要注意一点,你需要再那个元素中输入,首先要点击那个元素,否则不会输入到指定的文本框里。
这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值