RobotFramework:App滑动屏幕

转自:http://blog.csdn.net/jgw2008/article/details/77993399

在使用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", 但是没有效果, 不知道什么地方出现了问题。

RobotFramework博科分享:

http://blog.csdn.net/jgw2008/article/category/7072077

 

posted @ 2018-02-26 11:48  悠然现南山  阅读(846)  评论(0编辑  收藏  举报