Appium学习(三)--3种等待、AppiumGUI、模拟键盘输入

等待元素

等待元素加载有三种办法:

第一种:强制等待

  • sleep
    Thread.sleep(60000)
    用在执行查找元素之前强制等待60s

第二种:隐式等待,全局等待,写在setup的初始化方法中,每次查找元素时最长等待30s,在30s内找到元素就接着执行

  • implicitlyWait

隐式等待,全局等待30s,在30s内找到元素就接着执行

 driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 

第3种:显示等待,一般和util配合使用,在规定的超时等待时间中元素出现就行,如果不出现就会报错。

  • WebDriverWait 显示等待,这个需要增加一定等待时间,显示等待时间可以通过WebDriverWait 和util来决定,比如这个timeOut是2s,在2s内不停的找这个元素超过2s找不到就报错了。
            new WebDriverWait(androidDriver,2000).until(ExpectedConditions.presenceOfElementLocated(by));

封装了一个方法:

    //等待某个元素出现,等待时间为1秒
    public void waitforelementpresent(By by){
        try{
            new WebDriverWait(androidDriver,1000).until(ExpectedConditions.presenceOfElementLocated(by));
        }catch (Exception e){
            e.printStackTrace();

        }
    }

注:测试中强制等待和显示等待配合着使用,这样就不会出现浪费时间的问题。

appium GUI

因用的是windows所以只能测试安卓手机,ios需要用mac测试
appium GUI 是下载AppiumForWindows-1.3.4.1.zip直接打开appium.exe就可以进入appiumGUI图形化界面


image.png

如果在代码中执行自动化测试,需要提前点击小三角符号把appium服务启动起来:


image.png

也可以先停止appium服务,在appium GUI界面设置设备和启动app的包名、启动项,来启动app:


image.png

image.png

点击小三角符号就能启动设备中的app:


image.png

image.png

appium GUI运行inspector

在uiautomator viewer中定位不了,可以通过在inspector中定位。
首先要设置Android参数:


image.png

Application path 是apk安装文件所在的路径,选择路径之后,下面的package、Lanuch Activity会自动加载进来,按着图中所示都勾选上。
勾选如下图3个选项:


image.png

点击启动符号,启动appium,会自动安装app。
然后再点击搜索符号:
image.png

如果没有内容就点击刷新按钮:


image.png

模拟键盘输入:

appium执行时会调起键盘,键盘上的信息无法定位到id或class,只能通过猜测坐标去点击, 比如下图中w的坐标猜测可能是150,1200


image.png

driver.tap(1,150,1200,1);
就能代码点击键盘上的w键去输入。

注意:要打开键盘时setup方法中的如下两行代码要注释掉:
//使用Unicode编码方式发送字符串
//capabilities.setCapability("unicodeKeyboard","True");
//隐藏键盘 ,这样才能输入中文
//capabilities.setCapability("resetKeyboard","True");

模拟Android key的输入:

代码就一句话:
driver.sendKeyEvent(54); //54代表keycode的值。
也可以写成:
driver.sendKeyEvent(AndroidKeyCode.BACK); //模拟返回键
跟上面讲到的键盘设置没有关系,只是Android自带的key
下面提供Android keycode参考表:

电话键

KEYCODE_CALL 拨号键 5

KEYCODE_ENDCALL 挂机键 6

KEYCODE_HOME 按键Home 3

KEYCODE_MENU 菜单键 82

KEYCODE_BACK 返回键 4

KEYCODE_SEARCH 搜索键 84

KEYCODE_CAMERA 拍照键 27

KEYCODE_FOCUS 拍照对焦键 80

KEYCODE_POWER 电源键 26

KEYCODE_NOTIFICATION 通知键 83

KEYCODE_MUTE 话筒静音键 91

KEYCODE_VOLUME_MUTE 扬声器静音键 164

KEYCODE_VOLUME_UP 音量增加键 24

KEYCODE_VOLUME_DOWN 音量减小键 25

控制键

KEYCODE_ENTER 回车键 66

KEYCODE_ESCAPE ESC键 111

KEYCODE_DPAD_CENTER 导航键 确定键 23

KEYCODE_DPAD_UP 导航键 向上 19

KEYCODE_DPAD_DOWN 导航键 向下 20

KEYCODE_DPAD_LEFT 导航键 向左 21

KEYCODE_DPAD_RIGHT 导航键 向右 22

KEYCODE_MOVE_HOME 光标移动到开始键 122

KEYCODE_MOVE_END 光标移动到末尾键 123

KEYCODE_PAGE_UP 向上翻页键 92

KEYCODE_PAGE_DOWN 向下翻页键 93

KEYCODE_DEL 退格键 67

KEYCODE_FORWARD_DEL 删除键 112

KEYCODE_INSERT 插入键 124

KEYCODE_TAB Tab键 61

KEYCODE_NUM_LOCK 小键盘锁 143

KEYCODE_CAPS_LOCK 大写锁定键 115

KEYCODE_BREAK Break/Pause键 121

KEYCODE_SCROLL_LOCK 滚动锁定键 116

KEYCODE_ZOOM_IN 放大键 168

KEYCODE_ZOOM_OUT 缩小键 169

组合键

KEYCODE_ALT_LEFT Alt+Left

KEYCODE_ALT_RIGHT Alt+Right

KEYCODE_CTRL_LEFT Control+Left

KEYCODE_CTRL_RIGHT Control+Right

KEYCODE_SHIFT_LEFT Shift+Left

KEYCODE_SHIFT_RIGHT Shift+Right

基本

KEYCODE_0 按键’0’ 7

KEYCODE_1 按键’1’ 8

KEYCODE_2 按键’2’ 9

KEYCODE_3 按键’3’ 10

KEYCODE_4 按键’4’ 11

KEYCODE_5 按键’5’ 12

KEYCODE_6 按键’6’ 13

KEYCODE_7 按键’7’ 14

KEYCODE_8 按键’8’ 15

KEYCODE_9 按键’9’ 16

KEYCODE_A 按键’A’ 29

KEYCODE_B 按键’B’ 30

KEYCODE_C 按键’C’ 31

KEYCODE_D 按键’D’ 32

KEYCODE_E 按键’E’ 33

KEYCODE_F 按键’F’ 34

KEYCODE_G 按键’G’ 35

KEYCODE_H 按键’H’ 36

KEYCODE_I 按键’I’ 37

KEYCODE_J 按键’J’ 38

KEYCODE_K 按键’K’ 39

KEYCODE_L 按键’L’ 40

KEYCODE_M 按键’M’ 41

KEYCODE_N 按键’N’ 42

KEYCODE_O 按键’O’ 43

KEYCODE_P 按键’P’ 44

KEYCODE_Q 按键’Q’ 45

KEYCODE_R 按键’R’ 46

KEYCODE_S 按键’S’ 47

KEYCODE_T 按键’T’ 48

KEYCODE_U 按键’U’ 49

KEYCODE_V 按键’V’ 50

KEYCODE_W 按键’W’ 51

KEYCODE_X 按键’X’ 52

KEYCODE_Y 按键’Y’ 53

KEYCODE_Z 按键’Z’ 54

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容