Selenium Webdriver 3.X源码分析之移动触摸动作touch_actions.py

2019-09-26 16:35:07 浏览数 (1)

> Selenium Webdriver 3.X源码分析系列第10篇,该系列原则上会将整个源码分享一遍

在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 类似的原理,这里不一一说明了

0 人点赞