zoukankan      html  css  js  c++  java
  • Appium——api常用函数

    appium常用函数介绍:
     
    获取页面信息:
     
    1、 def get_current_activity(cls, driver):
    '''
    获取当前页面的activity
    :param driver:
    :return:
    '''
    return driver.current_activity
    2、 def get_current_pagesource(cls, driver):
    '''
    获取当前页面源码
    :param driver:
    :return: 返回数据类型为str
    '''
    return driver.page_source
    3、 def get_contexts(cls, driver):
    '''
    获取当前窗口的所有context名称
    :param driver:
    :return: 返回当前所有窗口context,可以进行切换,switch_to_context()
    '''
    return driver.contexts
    更多的api可以查看webdriver源码
     
    获取元素:
    在appium定位中已经介绍了几种常见的定位方式了,再介绍在appium中特殊的定位方式:
    1、find_element_by_accessibility_id ,在uiautomatorviewer中,content-desc内容即为accessibility_id
    2、find_elements_by_android_uiautomator,使用android内带的uiautomator来定位元素
    ①text属性
    driver.find_element_by_android_uiautomator('new UiSelector().text("CustomView")').click()         #text
    driver.find_element_by_android_uiautomator('new UiSelector().textContains("View")').click()        #textContains
    driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("Custom")').click()    #textStartsWith
    driver.find_element_by_android_uiautomator('new UiSelector().textMatches("^Custom.*")').click()    #textMatches
    ②class属性
    driver.find_element_by_android_uiautomator('newUiSelector().className("android.widget.TextView").text("Custom View")').click()     #className
    ③resourceId属性
    driver.find_element_by_android_uiautomator('newUiSelector().resourceId("android:id/text1")').click()     #resourceId
    更多方法根据实际查找
     
    控件操作:
    1、输入
    send_keys()
    2、点击
    单击:click()
    3、滑动
    driver.swipe(x1, y1, x2, y2), x1 y1为起始位置 x2 y2为结束位置
    swipe还有个参数是滑动时间,duration
    4、缩放
    pinch() 默认缩小一半
    zoom() 默认放大一倍
    5、触摸
    long_press() 长按
    press() 短按
    release() 释放
    wait() 等待
    cancel() 取消
    perform() 执行
    这种事件的操作跟selenium中webdriver一样,有个action类,在Appium中是TouchAction
    action = TouchAction(driver)
    action.long_press().wait(1000).perform() 默认单位是毫秒
    6、android keyevent值
    KEYCODE_UNKNOWN=0;
    KEYCODE_SOFT_LEFT=1;
    KEYCODE_SOFT_RIGHT=2;
    KEYCODE_HOME=3;
    KEYCODE_BACK=4;
    KEYCODE_CALL=5;
    KEYCODE_ENDCALL=6;
    KEYCODE_0=7;
    KEYCODE_1=8;
    KEYCODE_2=9;
    KEYCODE_3=10;
    KEYCODE_4=11;
    KEYCODE_5=12;
    KEYCODE_6=13;
    KEYCODE_7=14;
    KEYCODE_8=15;
    KEYCODE_9=16;
    KEYCODE_STAR=17;
    KEYCODE_POUND=18;
    KEYCODE_DPAD_UP=19;
    KEYCODE_DPAD_DOWN=20;
    KEYCODE_DPAD_LEFT=21;
    KEYCODE_DPAD_RIGHT=22;
    KEYCODE_DPAD_CENTER=23;
    KEYCODE_VOLUME_UP=24;
    KEYCODE_VOLUME_DOWN=25;
    KEYCODE_POWER=26;
    KEYCODE_CAMERA=27;
    KEYCODE_CLEAR=28;
    KEYCODE_A=29;
    KEYCODE_B=30;
    KEYCODE_C=31;
    KEYCODE_D=32;
    KEYCODE_E=33;
    KEYCODE_F=34;
    KEYCODE_G=35;
    KEYCODE_H=36;
    KEYCODE_I=37;
    KEYCODE_J=38;
    KEYCODE_K=39;
    KEYCODE_L=40;
    KEYCODE_M=41;
    KEYCODE_N=42;
    KEYCODE_O=43;
    KEYCODE_P=44;
    KEYCODE_Q=45;
    KEYCODE_R=46;
    KEYCODE_S=47;
    KEYCODE_T=48;
    KEYCODE_U=49;
    KEYCODE_V=50;
    KEYCODE_W=51;
    KEYCODE_X=52;
    KEYCODE_Y=53;
    KEYCODE_Z=54;
    KEYCODE_COMMA=55;
    KEYCODE_PERIOD=56;
    KEYCODE_ALT_LEFT=57;
    KEYCODE_ALT_RIGHT=58;
    KEYCODE_SHIFT_LEFT=59;
    KEYCODE_SHIFT_RIGHT=60;
    KEYCODE_TAB=61;
    KEYCODE_SPACE=62;
    KEYCODE_SYM=63;
    KEYCODE_EXPLORER=64;
    KEYCODE_ENVELOPE=65;
    KEYCODE_ENTER=66;
    KEYCODE_DEL=67;
    KEYCODE_GRAVE=68;
    KEYCODE_MINUS=69;
    KEYCODE_EQUALS=70;
    KEYCODE_LEFT_BRACKET=71;
    KEYCODE_RIGHT_BRACKET=72;
    KEYCODE_BACKSLASH=73;
    KEYCODE_SEMICOLON=74;
    KEYCODE_APOSTROPHE=75;
    KEYCODE_SLASH=76;
    KEYCODE_AT=77;
    KEYCODE_NUM=78;
    KEYCODE_HEADSETHOOK=79;
    KEYCODE_FOCUS=80;//*Camera*focus
    KEYCODE_PLUS=81;
    KEYCODE_MENU=82;
    KEYCODE_NOTIFICATION=83;
    KEYCODE_SEARCH=84;
    KEYCODE_MEDIA_PLAY_PAUSE=85;
    KEYCODE_MEDIA_STOP=86;
    KEYCODE_MEDIA_NEXT=87;
    KEYCODE_MEDIA_PREVIOUS=88;
    KEYCODE_MEDIA_REWIND=89;
    KEYCODE_MEDIA_FAST_FORWARD=90;
    KEYCODE_MUTE=91;
     
    其它相关:
    1、reset() 重置应用,如首次登录app的导航页
    2、is_app_installed() 判断app是否安装,返回布尔值
    例如:使用微信登录时判断是否安装微信
    3、install_app()

    需要注意的是一个是app名字,而安装app给的参数是app路径
    4、remove_app() 卸载app
    5、close_app() 关闭app
    6、wait_activity() 隐式等待 需要等待的activity 超时时间 检测时间间隔三个参数
    7、get_screenshot_as_file() 截屏 保存图片路径
  • 相关阅读:
    express如何使用cors插件、body-parser插件
    如何让xshell关闭后依然运行node项目
    nuxt命令和部署
    Python—函数的名称空间
    Python—生成器
    Python—闭包
    Python入门-字符串常用方法
    Python入门-函数
    Python入门-文件操作
    Python入门-三级菜单
  • 原文地址:https://www.cnblogs.com/dreamyu/p/8038970.html
Copyright © 2011-2022 走看看