lf知识星球banner

移动端自动化语法说明

2018-03-15 16:57:42
admin
25774
最后编辑:Seagull 于 2020-11-25 18:40:17
简介:介绍移动端自动化相关的语法说明。

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

手指向下滑动 

参数格式:  持续时间(秒)|次数

swipeleft

手指向左滑动 

参数格式:  持续时间(秒)|次

swiperight

手指向右滑动 

参数格式:  持续时间(秒)|次数

swipepageup

拖动页面向上滑动 

参数格式:  持续时间(秒)|次

swipe pagedown

拖动页面向下滑动 

参数格式:  持续时间(秒)|次数

swipe pageleft

拖动页面向左滑动 

参数格式:  持续时间(秒)|次

swipe pageright

拖动页面向右滑动 

参数格式:  持续时间(秒)|次数

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


评论列表
icode 2023-07-07 10:25:09 回复
可以集成uiautomator2吗?
张sir 2020-03-31 10:26:24 回复
我用id定位,却提示我用的时css_selector

Calling AppiumDriver.findElement() with args: ["css selector","#tvOpen","82aa9647-c876-46af-9e0a-7d5897ebe097"]
[BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator

我明明写的是id=tvOpen,在appium日志中打印的这个??

Seagull 2020-04-03 17:06:02 回复
升级版本到3.2,同时把appium服务的版本也升到最新即可解决
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
发表评论
评论通过审核后显示。
付费知识圈