移动端自动化语法说明

2018-03-15 16:57:42    admin    5802

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


评论列表
cliao777 2019-07-10 10:03:43
App元素定位语法是怎么样的,按照手册上的说明和截图,尝试了多次都是定位元素失败,各种报错,
如:id=元素resourceid,Locator Strategy 'css selector' is not supported for this session
xpath=元素xpath,An element could not be located on the page using the given search parameters
等等,麻烦提供一下各种元素定位的例子,谢谢。
Seagull 2019-07-12 13:57:50
回复
如果定位失败,得具体看失败的日志
查看全部 条评论
Carol 2019-05-28 15:55:35
使用androidkeycode发送键盘事件,但无效;编写如下
id=edCode click
id=edCode androidkeycode KEYCODE_ENTER
han 2018-12-07 15:53:03
图片太小了,看不清~
Seagull 2018-12-09 10:10:21
回复
嗯,回头有时间我换高清图片
小于 2019-07-29 09:24:16
回复
这个可以右键点击,然后在另外窗口打开。虽然不太方便,但是可以看清楚,作为临时处理方式~
查看全部 条评论
zane001 2018-08-15 11:50:54
图片太小了,看不清~
Seagull 2018-08-15 15:02:10
回复
不好意思,后续再补上高清一点的图
查看全部 条评论
1/ 1