App 自动化测试 元素基本操作

元素点击

click() 方法使用与 Selenium 类似,一种最常见的元素操作方式,模拟人的点击行为。

既然是说元素点击,那么点击的对象是一个元素。

在点击之前,必须先通过 find_element 找到想操作的元素对象,然后执行点击。

driver.find_element_by_xpath('//*[@text="我的收藏"]').click()

多点触摸

屏幕多点点击操作 tap() 方法,和 click() 方法有很大的区别。

click() 属于页面元素类 WebElement 类的方法,必须要先找到一个元素,通过元素对象才能执行 click() 方法。click() 必须要指定点击的元素。

有时候因某些原因(无法定位、定位过于繁琐)确实无法找到一个元素,我们只有通过指定屏幕某个坐标点来点击时,或者想模拟手指同时点击多个元素的时候,就需要通过 tap() 方法。

tap() 方法是模拟多点触摸,需要指定屏幕上的多个坐标点。

手机上的坐标点与电脑上一致,一般由横坐标和纵坐标共同构成。比如一个 1080 x 1920分辨率的手机,那么左上角的点就是 (0, 0),右下角的点为(1080, 1920)

坐标点

tap() 方法定义如下:

tap(positions, duration=None)
  • positions:具体的坐标点,数据格式为一个 list 包含的多个tuple,每个tuple中包含一个横坐标和纵坐标,代表屏幕上一个具体的点,最多支持五个点;
  • duration:的点击的时长,也可以理解为手指点下去到松开手指的时间,单位为毫秒。
    用法如下:
driver.tap([(100, 20), (100, 60), (100, 100)], 500)

例子表示同时点击屏幕坐标为(100, 20)(100, 60)(100, 100)的三个点。

清除文本

清除文本 clear() 方法,与 selenium 中的方法相同,如果当前是可输入的文本元素,则清除其中的已输入内容。

主要用于去除输入框中的默认值,以免影响正常的输入。

用法如下:

driver.find_element_by_id('com.insthub.ecmobile:id/login_name').clear()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容