在selenium webdriver Python代码提供了完整的移动设备端触摸能力的支持,其代码定义实现在如下路径:
这就意味着我们可以基于selenium webdriver像做web自动化测试一样写Python脚本驱动设备端进行自动化测试,下面我们看一个基本的代码实例:
其他几行代码同常规做web自动化测试一样,主要是:
第一:7-10行要初始化一个设备信息。
第二:17行要注意的是构建一个TouchActions对象。
下面我们看下在touch_actions.py中的TouchActions类提供了哪些设备触摸动作API出来,如下图所示:
对上述API功能进行简要说明如下:
- double_tap(on_element) #双击
- flick(xspeed, yspeed) # 在任意位置开始以指定的速度移动
- flick_element(on_element, xoffset, yoffset, speed) #从元素开始以指定的速度移动
- long_press(on_element) #长按不释放
- move(xcoord, ycoord) #移动到指定的位置
- perform() #执行链中的所有动作
- release(xcoord, ycoord) #在某个位置松开操作
- scroll(xoffset, yoffset) #滚动到某个位置
- scroll_from_element(on_element, xoffset, yoffset) #从某元素开始滚动到某个位置
- tap(on_element) #单击
- tap_and_hold(xcoord, ycoord) #某点按住
下面我们看一下构建一个TouchActions对象,其初始化源码,即__init__源码,如下:
需要传入一个webdriver对象,用于构建一个TouchActions对象,其他方法与前面 Selenium Webdriver 3.X源码分析之ActionChains 类似的原理,这里不一一说明了