robot 拖动_robotframework,移动端(小程序)自动化,滚动屏幕的方法

场景描述:

小程序端定位元素有无法定位弹出层内容的问题(自动化工具只能识别到背景主层,无法识别到弹出层)

解决思路:

1、弹出层元素与背景主层元素位置一致,当点击出弹出层时,在定位背景主层即可定位到弹出层元素

52e784b04f53ccced105ad00d585bdfe.png

如上,弹层红色箭头指向“红色”规格按钮,常规定位方法是无法点击到的。该按钮坐标背景层对应元素为“¥500.00”,则先点开弹出层,在定位“¥500.00”即可实现对“红色”的点击

问题的关键在于,“红色”的坐标与“¥500.00”并不会完全一致,遇到对应的坐标无其他元素的情况,则需要滑动屏幕,使“¥500.00”位置刚好与“红色”一致。

Robotframework提供“Swipe”指令来操纵屏幕滑动。

首先要了解屏幕坐标信息

93009a1e8ef91c1babb0badcdc882a9c.png

上图为手机屏幕坐标XY轴图,最左上角是0点,X向右,Y向下延伸

我们通过uiautomatorviewer定位到元素会查看到一个坐标值

c4299a43d9eac21f145b15f86105d0d6.png

如上图“小程序自动化店铺”元素定位后,查看坐标值如下

30ed52723499bc55c3af183afdefb472.png

两个括号里对应的是两个点,左边括号对应的是左上角的点,右边对应的是右下角点,通过两个点来实现整个区域的定位

滚动的步骤:

原理:首先获取滚动前元素坐标,滚动后,再获取原元素坐标。

Robotframework的书写方法为

Swipe 21 900 21 698 duration=2000

35e3a8451c566a8f5a8e48dca6d013df.png

[21,900]对应滚动前的坐标[21,689]对应滚动后的坐标duration=2000表示滚动预定延时2000ms

如此,即显示了屏幕画面的滚动操作。进而实现坐标值对应,完成后续点击操作

特别注意,弹出层的元素定位一定是通过定位背景层元素实现的,所以弹出层通过元素内容定位的方式是无效的,得着到背景层内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值