美文网首页
Appium学习(三)--3种等待、AppiumGUI、模拟键盘

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

作者: 零下的雨 | 来源:发表于2019-05-14 13:52 被阅读0次

    等待元素

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

    第一种:强制等待

    • 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

    相关文章

      网友评论

          本文标题:Appium学习(三)--3种等待、AppiumGUI、模拟键盘

          本文链接:https://www.haomeiwen.com/subject/llkfnqtx.html