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