*** Settings ***
Library AppiumLibrary
Library AutoItLibrary
Library os *** Keywords ***
xpath应该匹配次数
[Arguments] ${xpath} ${count}
Xpath Should Match X Times ${xpath} ${count} 上传文件
[Arguments] ${path} ${data} ${encode}=base64
Push File ${path} ${data} ${encode} 元素不应该包含文本
[Arguments] ${locator} ${expected} ${msg}=
Element Should not Contain Text ${locator} ${expected} ${msg} 元素值应该是
[Arguments] ${locator} ${expected}
Element Value Should Be ${locator} ${expected} 元素名应该是
[Arguments] ${path} ${name}
Element Name Should Be ${path} ${name} 元素属性应该匹配
[Arguments] ${locator} ${attr_name} ${match_pattern} ${regx}=False
Element Attribute Should Match ${locator} ${attr_name} ${match_pattern} ${regx} 元素应该包含文本
[Arguments] ${locator} ${expected} ${msg}=None
Element Should Contain Text ${locator} ${expected} ${msg} 元素应该失效
[Arguments] ${locator} ${level}=INFO
Element should be disabled ${locator} ${level} 元素应该有效
[Arguments] ${locator} ${level}=INFO
Element should be enabled ${locator} ${level} 元素文本应该是
[Arguments] ${locator} ${expected} ${msg}=None
Element Text Should Be ${locator} ${expected} ${msg} 关闭当前应用
Close Application 关闭所有应用
Close All Applications 切换应用
[Arguments] ${index_or_alias}
Switch Application ${index_or_alias} 切换页面内容
[Arguments] ${webview}
Switch To Context ${webview} 卸载应用
[Arguments] ${application_id}
Remove Application ${application_id} 后台运行
[Arguments] ${sec}
Background App ${sec} 向上滚动
[Arguments] ${locator}
Scroll Up ${locator} 向下滚动
[Arguments] ${locator}
Scroll Down ${locator} 失败后运行关键字
[Arguments] ${keyword}
[Documentation] Example: # Disables run-on-failure functionality and stores the previous kw name in a variable. # Restore to the previous keyword.
...
... Register Keyword To Run On Failure \ \ \ Log Source
... \ \ \ \ \ \ \ # Run `Log Source` on failure.
...
... ${previous kw}=
... Register Keyword To Run On Failure \ \ Nothing
...
...
... Register Keyword To Run On Failure \ \ \ \ ${previous kw} \ \ \ \
Register Keyword To Run On Failure ${keyword} 打印资源
[Arguments] ${level}
Log Source ${level} 打开URL
[Arguments] ${url}
[Documentation] Example:
...
... 打开应用
... http://localhost:4755/wd/hub \ platformName=iOS \ platformVersion=7.0
... deviceName='iPhone Simulator'
... browserName=Safari
...
... 打开URL \ http://m.webapp.com
Go To URL ${url} 打开应用
[Arguments] ${url} ${platformName} ${version} ${deviceName} ${app}
[Documentation] 打开应用 ${url} ${platformName} ${version} \ \ ${devicename} ${app} @{args}
...
... 例如:
...
... 打开应用 http://localhost:4723/wd/hub Android 5.1.1 5e25d20d ${CURDIR}${/}app${/}fft.apk
...
... ${url} 是用于访问应用的地址,一般是固定的。 url 和 端口可以根据具体地址修改。
... ${version} \ 是安卓的版本
... ${devicename} 是手机的UDID, 可以打开cmd 然后用 adb devices -l \ 看到设备列表。
... UDID 是看到的第一列的内容,真机是一串字符串,模拟器是 \ ip:port \ 的形式
... ${app} 是apk 存放的路径 ${CURDIR} 系统变量,取得当前脚本路径。 ${/} 系统变量 '/'
open application ${url} platformName=${platformName} platformVersion=${version} deviceName=${deviceName} app=${app} 按关键字
[Arguments] ${keycode} ${metastate}=None
Press Keycode ${keycode} ${metastate} 摇动手机
Shake 放大元素
[Arguments] ${locator} ${percent}=200% ${step}=1
Zoom ${locator} ${percent} ${step} 敲击元素
[Arguments] ${locator}
Tap ${locator} 横屏
[Documentation] 手机设置横屏
LANDSCAPE 清除文本
[Arguments] ${locator}
Clear Text ${locator} 滑动
[Arguments] ${start_x} ${start_y} ${end_x} ${end_y}
swipe ${start_x} ${start_y} ${end_x} ${end_y} 滚动
[Arguments] ${start_locator} ${end_locator}
[Documentation] 从一个元素滚动到另一个元素
Scroll ${start_locator} ${end_locator} 点击元素
[Arguments] ${locator}
Click Element ${locator} 点击元素坐标
[Arguments] ${coordinate_x} ${coordinate_y}
Click Element At Coordinates ${coordinate_x} ${coordinate_y} 点击固定点
[Arguments] ${x} ${y} @{args}
Click A Point ${x} ${y} @{args} 点击按钮
[Arguments] ${index_or_name}
Click Button ${index_or_name} 点击文本
[Arguments] ${text} ${exact_match}=false
[Documentation] 点击匹配到文本的元素:
...
... 点击文本 "text"
... 点击文本 "text" True
...
... 默认模糊匹配所有元素,可以设置成精确匹配。
... 如果可以匹配到两个或两个以上的元素,那么需要用 click Element 元素,去处理。
Click Text ${text} ${exact_match} 睡眠
[Arguments] ${sec}
sleep ${sec} 竖屏
PORTRAIT 等待页面元素出现
[Arguments] ${locator} ${timeout}=100 ${err}=None
Wait Until Page Contains Element ${locator} ${timeout} ${err} 等待元素出现文本
[Arguments] ${text} ${timeout}=10 ${err}=None
Wait Until Page Contains ${text} ${timeout} ${err} 等待页面不包含元素
[Arguments] ${locator} ${timeout}=10 ${err}=None
Wait Until Page Does Not Contain Element ${locator} ${timeout} ${err} 等待页面不包含文本
[Arguments] ${text} ${timeout}=10 ${err}=None
Wait Until Page Does Not Contain ${text} ${timeout} ${err} 缩小元素
[Arguments] ${locator} ${percent}=200% ${step}=1
Pinch ${locator} ${percent} ${step} 获取Appium超时时间
${timeout} Get Appium Timeout
[Return] ${timeout} 获取Web元素
[Arguments] ${locator}
[Documentation] 获取匹配的定位器的第一个元素:
...
... ${element} 获取Web元素 id=name
... 点击元素 ${element}
${element} Get Webelement ${locator}
[Return] ${element} 获取元素坐标
[Arguments] ${locator}
${location} Get Element Location ${locator}
[Return] ${location} 获取元素尺寸
[Arguments] ${locator}
${size} Get Element Size ${locator}
[Return] ${size} 获取元素属性
[Arguments] ${locator} ${name_or_value}
[Documentation] 获取元素属性:(name 或者 value)
... ${val} \ 获取元素属性 ${locator} ${name_or_value}
...
... 例如:
... ${val} 获取元素属性 id=xxxx name
... ${val} 获取元素属性 id=xxxx value
${val} Get Element Attribute ${locator} ${name_or_value}
[Return] ${val} 获取匹配xpath数
[Arguments] ${xpath}
[Documentation] 例如:
...
... ${count} \ \ \ 获取匹配xpath数 \ \ //android.view.View[@text='Test']
${count} Get Matching Xpath Count ${xpath}
[Return] ${count} 获取可见文本
${contents} Get Contexts
[Return] ${contents} 获取当前文本
${context} Get Current Context
[Return] ${context} 获取所有web元素
[Arguments] ${locator}
[Documentation] @{element} 获取所有web元素 id=my_element
... 点击元素 @{element}[2]
@{element} Get Webelements ${locator}
[Return] @{element} 获取文件
[Arguments] ${file_path} ${decode}=False
pull file ${file_path} ${decode} 获取文件夹
[Arguments] ${folder_path} ${decode}=False
Pull Folder ${folder_path} ${decode} 获取文本
[Arguments] ${locator}
[Documentation] 获取符合元素的文本:
... ${text} \ 获取文本 \ //*[contains(@text,'foo')]
${text} Get Text ${locator}
[Return] ${text} 获取网络连接情况
${stat} Get Network Connection Status
[Return] ${stat} 获取资源
${source} Get Source
[Return] ${source} 设置Appium超时
[Arguments] ${sec}
Set Appium Timeout ${sec} 设置网络连接状态
[Arguments] ${sec}
Set Network Connection Status ${sec} 输入值
[Arguments] ${locator} ${val}
Input Value ${locator} ${val} 输入密码
[Arguments] ${path} ${passwd}
Input Password ${path} ${passwd} 输入文本
[Arguments] ${path} ${text}
Input Text ${path} ${text} 返回
[Documentation] 浏览器返回上一个的页面
Go Back 重置应用
Reset Application 锁屏
[Arguments] ${sec}
[Documentation] 这个方法只使用于IOS
Lock ${sec} 长按元素
[Arguments] ${locator}
Long Press ${locator} 长按关键字
[Arguments] ${keycode} ${metastate}=None
[Documentation] keycode 可以在这个网址里面找到:
... http://developer.android.com/reference/android/view/KeyEvent.html.
...
... Args:
... \ \ \ \ - keycode - the keycode to be sent to the device
... \ \ - metastate - meta information about the keycode being sent
Long Press Keycode ${keycode} ${metastate} 隐藏键盘
Hide Keyboard 页面不应该包含元素
[Arguments] ${locator} ${lvl}=INFO
Page Should Not Contain Element ${locator} ${lvl} 页面不应该包含文本
[Arguments] ${locator} ${lvl}=INFO
Page Should Not Contain Text ${locator} ${lvl} 页面应该包含元素
[Arguments] ${locator} ${lvl}=INFO
Page Should Contain Element ${locator} ${lvl} 页面应该包含文本
[Arguments] ${locator} ${lvl}=INFO
Page Should Contain Text ${locator} ${lvl} 页面截图
[Arguments] ${filename}=
Capture Page Screenshot ${filename}

AppiumLibrary用户关键字的更多相关文章

  1. RobotFramework AppiumLibrary 用户关键字

    RobotFramework AppiumLibrary 用户关键字 最近在用robotframework搞安卓app 的自动化,其中用到了 AppiumLlibrary 的关键字,我都映射成了用户关 ...

  2. Robot Framework--06 用户关键字User Keyword

    转自:http://blog.csdn.net/tulituqi/article/details/7906130 在我们做自动化案例的时候,用的最多的主要是用户关键字.说到关键字,大体上可以分为测试库 ...

  3. Robot Framework学习笔记(九)------创建资源和用户关键字

    一.测试套件下创建用户关键字 1.创建关键字测试套件右击->点击new user keyword,然后输入name,点击OK保存. 2.在用户关键字的edit点击settings,然后输入Arg ...

  4. Robot framework(RF) 用户关键字

    3.6  用户关键字 在Robot Framework 中关键字的创建分两种:系统关键字和用户关键字. 系统关键字是需要通过脚本开发相应的类和方法,从而实现某一逻辑功能. 用户关键字是根据业务的需求利 ...

  5. Robot Framework(用户关键字)

    在 Robot Framework 中关键字的创建分两种:系统关键字和用户关键字.系统关键字需要通过脚本开发相应的类和方法,这个我们将在后面的章节介绍.用户关键字的创建就要简单得多,它主要利用现有的系 ...

  6. Robot Framework(七)创建用户关键字

    2.6创建用户关键字 关键字表用于通过将现有关键字组合在一起来创建新的更高级别关键字.这些关键字称为用户关键字,以区别于 测试库中实现的最低级库关键字.创建用户关键字的语法与创建测试用例的语法非常接近 ...

  7. robotframework之用户关键字的用法

    robotframework是一个关键字驱动框架,核心在于关键字的应用 目录 1.如何创建用户关键字 2.调用用户关键字 3.用户关键字的使用场景 1.如何创建关键字 第一种:直接在项目上右键,添加用 ...

  8. Robot Framework(11)- 用户关键字的详解

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 什么是用户关键字 ...

  9. robot 如何定义用户关键字、变量

    1.用户关键字,使用robot语法定义的关键字 2.系统关键字  自带的 3.资源文件,自己定义的关键字 4.变量 自己定义的关键字,需单独建一个资源文件 自己写的关键字,需写在***Keywords ...

随机推荐

  1. javascript 保护变量不被随意修改------优雅的编程

    /* * 1.如果在renderTitle,renderContent里面,这样总数据谁都能修改,不安全 * 改进 * 1.规定一个专门修改数据的方法,如果想修改数据只能走这个方法 * * actio ...

  2. CF778A:String Game

    给出字符串s和t,以及s的长度n的一个全排列,求按照这个排列依次删除s的字符,删到何时s中不含子序列t. 解法一: t中的每个字符的位置在s中跳啊跳,合法的情况下t中的字符在s中的位置应该是单调递增的 ...

  3. C#的特性学习草稿

    原文发布时间为:2008-11-22 -- 来源于本人的百度文章 [由搬家工具导入] 举个简单的例子: 先定义个特性 从Attribute继承,并标明用法 [AttributeUsage(Attrib ...

  4. Educational Codeforces Round 37 (Rated for Div. 2) G

    G. List Of Integers time limit per test 5 seconds memory limit per test 256 megabytes input standard ...

  5. mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样

    Mybatis批量更新数据 mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样 mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样 mybatis批 ...

  6. Scala入门到精通——第十六节 泛型与注解

    本节主要内容 泛型(Generic Type)简单介绍 注解(Annotation)简单介绍 注解经常使用场景 1. 泛型(Generic Type)简单介绍 泛型用于指定方法或类能够接受随意类型參数 ...

  7. ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展

    关于ExtJS对javascript中的Object的扩展.能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  8. Deepin-文件目录介绍

    请参见这篇文件:来自一个强大的网站 我主要介绍的就是: 下面所列文件,全部添加进了path目录(Linux查找命令,请参见man.linux,无论是find 或者是 which等) Deepin默认可 ...

  9. ZXing-core生成二维码和解析

    如今二维码这么流行的时刻.也必须知道二维码是怎么生成.如今我们就来看看,是怎么生成的. 事实上主要是利用goggle公布的jar来使用:本文转自点击打开链接 1.二维码的生成 将Zxing-core. ...

  10. 利用wxpython编写GUI

    首先建立一个简单的布局合理的图形界面,但是其中按下按键没有事情发生 #encoding=utf-8 __author__ = 'heng' #编写一个GUI import wx app = wx.Ap ...