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

场景描述:

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

 

  解决思路:

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

 robotframework,移动端(小程序)自动化,滚动屏幕的方法_第1张图片

 

 

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

 

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

 

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

 

首先要了解屏幕坐标信息

robotframework,移动端(小程序)自动化,滚动屏幕的方法_第2张图片

 

 

 

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

 

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

 

 

 

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

 

 

 

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

 

滚动的步骤:

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

Robotframework的书写方法为

Swipe 21 900 21 698 duration=2000

 

 

 

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

 

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

 

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

你可能感兴趣的:(robotframework,移动端(小程序)自动化,滚动屏幕的方法)