Robot Framework如何在Android中实现滚屏

来源:互联网 发布:淘宝游戏扶持号 编辑:程序博客网 时间:2024/06/05 00:20

在之前的博客“Robot Framework + Appium测试Android设备”,我们已经介绍了如何使用Robot Framework和Appium测试Android设备,如果对这部分还不熟悉的童鞋,可以参考本人之前的博客。


在使用Robot Framework测试Android机器过程中, 经常要用到滚屏操作, 改如何实现这个效果呢?

其中一个方法, 就是使用关键字"Swipe", 这个关键字的效果类似模拟操作人员滑动屏幕的效果, 它有5个参数

----start_x: 滑动开始的X坐标;

----start_y: 滑动开始的Y坐标;

----end_x: 滑动结束的X坐标;

----end_y: 滑动结束的Y坐标;

----duration: 滑动持续的时间, 默认是1000ms;

(提醒: RIDE文档说明中, 第三/四参数标注为X/Y滑动的距离, 而非滑动结束的坐标点. 但通过实验, 确认在Android机器中, 第三/四参数应该为滑动结束的坐标点.)

举例如下, 下面的代码表示, 滑动坐标从(400, 1000)开始, 结束于(400, 500), 滑动持续时长为200ms. 只是一个向上滑动的动作.

Swipe    400    1000    400    500    200

在实际操作过程中, 我们也发现下列情形也经常出现, 即滑动到某个控件出现的位置.

如果滑动太少, 则看不到这个控件; 如果滑动太多, 则会划过这个控件.

这时, 我们可以考虑每次滑动的幅度小一些, 同时通过关键字"Get Matching Xpath Count"查看该控件是否已经出现在当前屏幕.

示例代码如下,

下面的代码表示, 每次向上划动一点, 然后查看"About phone"是否出现, 如果出现, 则退出循环停止滑动; 否则继续滑动.

    : FOR    ${i}    IN RANGE    20    \    Swipe    400    1000    400    800    400    \    ${count}    Get Matching Xpath Count    xpath=//*[contains(@text, 'About phone')]    \    Exit For Loop If    ${count}>0
另外, 也尝试了关键字"Scroll Up"和"Scroll Down", 但是没有效果, 不知道什么地方出现了问题.


好了, 今天分享到此结束, 童鞋们可以发表一下自己的看法.


文末列出最近整理的Robot Framework相关的文章,

1.Robot Framework 介绍 

2.Robot Framework + Appium测试Android设备 

3. Robot Framework如何向Android发送keycode键盘事件 

4.Robot Framework如何判断Android屏幕是否含有某个控件 

5.Robot Framework如何等待Android屏幕中的某个控件出现 

6.Robot Framework如何在Android中实现滚屏

7.Robot Framework如何对Android的控件定位

8.Robot Framework+Appium案例分享一: 验证版本信息

9.Robot Framework+Appium案例分享二: Camera测试

10.Robot Framework+Appium案例分享三: WiFi测试

11.Robot Framework+Appium案例分享四: Bluetooth测试

12.RobotFramework AppiumLibrary 用户关键字