应用背景 在app应用日常使用过程中,会经常用到在屏幕滑动操作。如刷朋友圈上下滑操作、浏览图片左右滑动操作等。在自动化脚本该如何实现这些操作呢? 在Appium中模拟用户滑动操
应用背景
在app应用日常使用过程中,会经常用到在屏幕滑动操作。如刷朋友圈上下滑操作、浏览图片左右滑动操作等。在自动化脚本该如何实现这些操作呢?
在Appium中模拟用户滑动操作需要使用swipe方法
滑动解析
滑动主要分为:
- 水平滑动
- 垂直滑动
- 任意方向滑动
滑动轨迹图如下:
实践应用
测试场景
- 安装启动app,手动向水平左滑动首页引导页面。
- 点击“立即体验”进入登录页面。
代码实现
fromimporttimesleep
fromimportfind_element.capabilitydriver
#获取屏幕尺寸
def get_size():
‘width‘ x=driver.get_window_size()[]
‘height‘ y=driver.get_window_size()[]
return x,y
#显示屏幕尺寸(width,height)
l=get_size()
print(l)
#向左滑动
def swipeLeft():
l=get_size()
00.9 x1=int(l[]*)
10.5 y1=int(l[]*)
00.1 x2=int(l[]*)
1000 driver.swipe(x1,y1,x2,y1,)
#向左滑动2次
forin2irange():
swipeLeft()
0.5 sleep()
‘com.tal.kaoyan:id/activity_splash_guidfinish‘driver.find_element_by_id().click()
注意:运行前记得将capablity里面的check_skipBtn()先注释掉,否则直接跳过了无法滑动引导页面。
把垂直上下滑动以及向右滑动的也封装并实践。
- def swipeUp()
- def swipeDown()
- def swipeRight()
参考答案
def swipeUp():
l = get_size()
int00.5 x1 =(l[] *)
int10.95 y1 =(l[] *)
int10.35 y2 =(l[] *)
1000 driver.swipe(x1, y1, x1, y2,)
def swipeDown():
l=get_size()
int00.5 x1 =(l[] *)
int10.35 y1 =(l[] *)
int10.85 y2 =(l[] *)
1000 driver.swipe(x1, y1, x1, y2,)
def swipeRight():
l=get_size()
int10.5 y1 =(l[] *)
int00.25 x1 =(l[] *)
int00.95 x2 =(l[] *)
1000 driver.swipe(x1, y1, x2, y1,)