TA的每日心情 | 无聊 2024-9-27 10:07 |
---|
签到天数: 62 天 连续签到: 1 天 [LV.6]测试旅长
|
2#
楼主 |
发表于 2018-1-31 15:25:28
|
只看该作者
5.示例代码
示例代码
三、弹框界面的定位
appium脚本在拿到大量安卓手机执行的时候,app在很多手机上会跳出请求权限的弹框,弹
框无法点掉,导致脚本定位元素失败。APP里的弹框一般提示有两种,一种是弹出需要点击确定
的提示框,这种直接获取元素定位即可;另一种是toast,安卓页面上弹出的提示框,这种提示框
出现在屏幕上大概3秒左右就会消失。用uiautomatorviewer根本定位不到。查了下iOS端定位
APP弹框资料,可以通过在 desirede_capabilities 设置 autoAcceptAlerts = true。Android端却
找不到好版本定位,为此,特总结Android端APP弹框定位方法,如下:
1.切换成真机之后,用automatorviewer定位工具去定位(很多情况下真机环境比模拟环境定位要好)
2.系统弹框是返回的event是null,可以通过AccessibilityServer获取到系统权限弹框的event
3.可以尝试用 driver.switch_to_alert().text[0:] 语句定位 #会显示alert上的信息
弹框定位
相关资料:
1.弹窗处理
四、元素坐标定位
面试问题:有时候在定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?现在
你就可以回答:定位元素所在位置的坐标即可
1.tap 是模拟手指点击,一般页面上元素的语法有两个参数,第一个是 positions,是 list 类
型最多五个点,duration是持续时间,单位毫秒
tap(self, positions, duration=None):
Taps on an particular place with up to five fingers, holding for a certain time
模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)
:Args:
- positions - list 类型,里面对象是元组,最多五个。如:[(100, 20),(100, 60)]
- duration - 持续时间,单位毫秒,如:500
:Usage:
driver.tap([(100, 20), (100, 60), (100, 100)], 500)
2.坐标定位方法
>如下图定位"去看看"这个按钮的坐标,可以看到右侧bonds属性:[374,831][654,906]
坐标定位
>点右上角"搜索"按钮,查看bonds属性:[615,52][690,146]
bonds属性
3.示例代码
|
|