RobotFramework-appiumLibrary关键字

对appiumLibrary的关键字进行重命名,翻译工作

*** Keywords ***
###常用appiumLibrary 关键字翻译,及示例

打开app
    Open Application     http://localhost:4723/wd/hub   platformName=Android
    ...                  platformVersion=8.0.0          deviceName=Android Emulator
    ...                  automationName=appium          appPackage=com.example.notes
    ...                  appActivity=.Activity.MainActivity
    wait until page contains element        com.example.notes:id/fab_expand_menu_button

关闭app
    quit application

程序放置后台几秒
     [Arguments]  ${TIME}
     background app     second = ${TIME}        #second = 5

截取当前页面并放置在logzhong
    Capture Page Screenshot

清空文本
    [Arguments]  ${locator}
    clear text          ${locator}            #自动识别为id和xpath,xpath要已//开头,后面包含locator参数的使用方法一致

点击位置
    [Arguments]   ${locator}
    Click Element       ${locator}
点击按钮
    [Arguments]   ${index_or_name}
    Click Button        ${index_or_name}     #按钮有名称才好使用,不建议使用,建议使用上面的

点击     #可以多次点击
    [Arguments]     ${locator}      ${x_offset}=None       ${y_offset}=None
    ...             ${count}=1
    Tap    ${locator}       ${count}

关闭所有程序
    Close All Applications


##验证相关操作
验证 ${locator} 是禁用的
    Element Should Be Disabled      ${locator}

验证 ${locator} 是可用的
    Element Should Be Enabled       ${locator}

验证 ${locator} 的name是 ${string}
    Element Name Should Be      ${locator}      ${srting}
    #举例
    # Element Name Should Be    xpath = //*[contains(@text,'example text')]     txt_field_name

验证 ${locator} 是可见的
    Element Should Be Visible   ${locator}

验证文本 ${text} 应是可见的
    Text Should Be Visible      ${text}


验证         #最通用的
    [arguments]    ${locator}    ${attribute}    ${string}
    Element Attribute Should Match     ${locator}       ${attribute}    ${string}
    #举例
    # Element Attribute Should Match    xpath = //*[contains(@text,'example text')]    name   txt_field_name
    #安卓支持的属性名称:contentDescription,text,className,resourceId,enabled,checkable,checked,clickable,focusable,focused,longClickable,scrollable,selected,displayed

验证 ${locator} 包含text  ${text}
    Element Should Contain Text     ${locator}      ${text}

验证 ${locator} 不包含text ${text}
    Element Should Not Contain Text    ${locator}       ${text}

验证 ${locator} 的text应该是 ${text}
    Element Text Should Be     ${locator}       ${text}

验证 ${locator} 的value应该是 ${value}
    Element Value Should Be     ${locator}      ${text}



####获取相关值或者对象
获取当前的Activity
    Get Activity     #返回当前的activity

获取当前appium的SessionId
    Get Appium SessionId   #当前appium的SessionId作为参考

获取当前上下文
    Get Current Context

获取可用的上下文      #查看源码发现两者返回的是同一个东西
    Get Contexts

获取属性值
    [Arguments]  ${locator}   ${attribute}
    Get Element Attribute  ${locator}   ${attribute}
    #举例:Get Element Attribute   locator    name

####操作
返回   #从历史记录中返回上一步
    Go Back

前往网址${Url}
    Go To Url   ${Url}

隐藏键盘   #只可在ios上使用,安卓上没有可用的参数去操作
    [Arguments]  ${key_name】
    Hide Keyboard   ${key_name}

#输入操作
在 ${locator} 输入文本 ${text}
    input text         ${locator}       ${text}

在 ${locator} 输入密码 ${password}
    #与输入文本的区别是就是输入的密码日志不打印出来。正常没什么用,使用input text就可以
    input password      ${locator}    ${password}

在 ${locator} 输入值 ${value}
    #官方文档说只在ios上使用,但实际操作中android有的输入框上用input text输入不进去,用inputv alue却是成功的
    input value         ${locator}      ${value}

横屏
    Landscape
竖屏
    Portrait

锁屏   #仅限ios
    Lock

安装app
    [Arguments]  ${app_path}     ${app_package}
    install app     ${app_path}     ${app_package}

启动app
    Launch Application     #需要启动appium时选择app='路径地址'#写在用例中

退出程序
    quit application     #与Launch Application相对,用在测试用例中启动程序

Log记录当前页面或者框架的HTML源码
    log source


长按 ${locator}
    Long Press      ${locator}

#判断页面包含,都可以设置日志等级,默认info。暂且不改动
页面应该包含 ${locator}
    Page Should Contain Element     ${locator}

页面不应该包含 ${locator}
    Page Should Not Contain Element  ${locator}

页面应该包含 ${text}
    Page Should Contain Text    ${text}

页面不应该包含文本${text}
    Page Should Not Contain Text        ${text}

缩小      #缩小一定量元素
    [Arguments]  ${locator}       ${percent}=200%   ${steps}=1
    Pinch   ${locator}      ${percent}      ${steps}

放大      #放大一定量元素
    [Arguments]  ${locator}       ${percent}=200%   ${steps}=1
    Zoom   ${locator}      ${percent}      ${steps}

摇晃设备
    Shake

关键字失败时执行
    Register Keyword To Run On Failure


#等待验证
等待活动
    [Arguments]  ${activity}    ${timeout}      ${interval}=1
    wait activity       ${activity}     ${timeout}
    #...                interval-重试之间的休眠间隔,以秒为单位,默认1s
等待直到元件可见
    [Arguments]     ${locator}      ${timeout}=None     ${error}=None
    Wait Until Element Is Visible   ${locator}      ${timeout}      ${error}
    #error 用于覆盖默认的错误消息,自定义错误消息

等待页面包含文本
    [Arguments]     ${text}      ${timeout}=None     ${error}=None
    Wait Until Page Contains      ${text}

等待页面不包含文本      #与上面相对
    [Arguments]     ${text}      ${timeout}=None     ${error}=None
    Wait Until Page Does Not Contain     ${text}

等待页面包含元件
    [Arguments]     ${locator}      ${timeout}=None     ${error}=None
    Wait Until Page Contains Element     ${locator}

等待页面不包含元件
    [Documentation]  与Wait Until Page Contains Element相对
    ...              timeout 表示超时时间
    ...              error表示错误信息用于覆盖默认的,自定义错误信息
    [Arguments]     ${locator}      ${timeout}=None     ${error}=None
    Wait Until Page Does Not Contain Element    ${locator}

Xpath应该匹配几次
    [Documentation]   error表示错误信息用于覆盖默认的,自定义错误信息
    ...               loglevel  用于设置日志等级
    [Arguments]   ${xpath}   ${count}   ${error}=None   ${loglevel}=INFO
    Xpath Should Match X Times   ${xpath}   ${count}



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

推荐阅读更多精彩内容