移动端自动化语法说明
简介:介绍移动端自动化相关的语法说明,目前仅支持在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:其他关键字语法结构
支持与接口自动化相同关键字语法,写法一样,如:参数传递、模糊匹配预期结果步骤间休眠等,请参考接口自动化的章节,此处不再赘述。
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 |