Robot Framework 常用关键字(2-1)

*** 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 C U R D I R {CURDIR} CURDIR{/}app${/}fft.apk

… ${url} 是用于访问应用的地址,一般是固定的。 url 和 端口可以根据具体地址修改。
… ${version} \ 是安卓的版本
… ${devicename} 是手机的UDID, 可以打开cmd 然后用 adb devices -l \ 看到设备列表。
… UDID 是看到的第一列的内容,真机是一串字符串,模拟器是 \ ip:port \ 的形式
… ${app} 是apk 存放的路径 ${CURDIR} 系统变量,取得当前脚本路径。 ${/} 系统变量 ‘/’
open application u r l p l a t f o r m N a m e = {url} platformName= urlplatformName={platformName} platformVersion= v e r s i o n d e v i c e N a m e = {version} deviceName= versiondeviceName={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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值