移动端自动化语法说明

简介:介绍移动端自动化相关的语法说明,目前仅支持在Windows环境下的安卓自动化。IOS的自动化,由于必须运行在MAC环境中,所以客户端中Windows批处理相关的命令需要重新改造,目前这一块暂时不支持,但是封装的框架代码已经集成了IOS相关的自动化。有兴趣的同学可以改造后分享出来。

1:客户配置移动端自动化

在客户端项目的根目录下,有一个appium_config.properties的配置文件,在其中对客户端即将运行的移动端自动化相关配置项进行修改。

另:因为平台集成的是APPIUM自动化框架,所以必须在客户端的环境自己先行搭建环境,搭建步骤可以参考文章: 《APPIUM自动化测试环境搭建实践》

2:关键字语法结构

包|定位路径:**语法结构 属性=对应值 示例:*xpath=.//[@id='username'] 元素在页面中的定位路径,定位属性支持请参考下面内容,如果操作不涉及页面元素,此栏为空。

id name xpath linktext tagname cssselector androiduiautomator
classname partiallinktext accessibilityid iosclasschain iosnspredicate iosuiautomation

方法|操作:自动联想出Appium封装好的操作语法

预期结果:语法结构 check(属性=对应值) 示例:check(xpath=.//*[@id='username']) 此方法用来检查步骤动作执行完成后,检查对应的元素是否存在。

示例:

3.2.3 移动端自动化语法说明 - 图1

3:其他关键字语法结构

支持与接口自动化相同关键字语法,写法一样,如:参数传递、模糊匹配预期结果步骤间休眠等,请参考接口自动化的章节,此处不再赘述。

4:移动端用例调用接口用例

当你的移动端用例需要调用接口用例的时候,提供一种runcase的方式,在【方法|操作】列选择runcase,在【参数】列输入接口用例的编号就可以了。

5:元素操作语法

语法结构:动作(方法|操作) 操作值(参数)

示例:sendKeys(方法|操作) username(参数)

下拉框类
selectbyvisibletext 通过下拉框的文本
selectbyvalue 通过下拉框的 VALUE 属
selectbyindex 通过下拉框的 index 属性,从 0 开始计数
isselect 判断是否已经被选择,同用于单选、复选框
获取对象属性值类
gettext 获取文本属性
gettagname 获取标签类型
getattribute 获取指定属性值
getcssvalue 获取CSS属性值
对象动作类
click 点击
sendkeys 输入
clear 清除输入框
longpresselement 长按页面指定元素,带参,单位:秒
isenabled 是否可用
isdisplayed 是否可见
exjsob 针对对象执行JS脚本
主对象类(无定位属性)
getcontexthandles 获取指定context的handle,带参,指定第几个窗口
exjs 执行js脚本
keycode 安卓模拟手机键盘发送,带参,按键代码
hidekeyboard 安卓隐藏手机键盘
gotocontext 跳转窗口(句柄),使用getcontexthandles传参值
getcontext 获取当前页面context
gettitle 获取当前页面title
swipeup 拖动页面向上滑动
参数格式: 持续时间(秒)|次
swipedown 拖动页面向下滑动
参数格式: 持续时间(秒)|次数
swipleft 拖动页面向左滑动
参数格式: 持续时间(秒)|次
swipright 拖动页面向右滑动
参数格式: 持续时间(秒)|次数
longpressxy 长按指定坐标 参数格式: X坐标|Y坐标|持续时间(秒
pressxy 点击指定坐标 参数格式: X坐标|Y坐标
Tapxy 轻击指定坐标 参数格式: X坐标|Y坐
jspressxy JS实现方式点击指定坐标 参数格式: X坐标|Y坐标
moveto 在屏幕指定坐标之间滑动 参数格式: X1,Y1| X2,Y2| X3,Y3|
timeout 设置全局页面加载&元素出现最大等待时间 参数单位:秒
screenshot 对当前屏幕进行截图
exAdbShell 执行安卓adb命令
弹出框类
alertaccept 点击 OK
alertdismiss 点击取消
alertgettext 获取弹出框 TEXT