dogtail的使用方法(二)——元素操作

在UI自动化测试中,大多数的脚本都是对元素进行操作,所以元素操作时UI自动化测试中最最核心的内容。

获取应用对象

dogtail获取应用对象的时候,使用的是tree库里面的application()方法:

from dogtail.tree import root
app_obj = root.application('deepin-music')

app_obj就是应用的对象。

获取元素对象

1.获取元素对象,是应用对象使用child()方法:

element = app_obj.child('element_name')

我们可以通过传入元素的Name,获取到相应元素的对象。Name可以通过sniff查看。

2.获取元素对象列表:

element_list = element.children

获取到这个元素下面所有的元素列表。

这个方法适用于有些标签没有添加,但是位置是固定的,我们通过索引可以取得元素。

element_list[0]

对元素的操作

在获取到元素之后,我们就可以对元素进行相应的操作。

单击

element.click(button=1)

button 1 —>左键,2—>滚轮,3—>右键,默认为1

双击

element.doubleClick(button=1)

鼠标悬停

element.point()

鼠标移动到元素中心位置

文本输入

element.typeText(string)

向元素对象输入字符串 ,比如输入框

组合键

element.keyCombo(comboString)

这个方法实际是调用的rawinput.keyCombo(comboString),使用方法参考我的另外一篇博客:

dogtail的使用方法(四)——实现鼠标和键盘的操作

dogtail对元素直接的操作比较少,如果涉及到一些比较复杂的业务逻辑,建议结合rawinput或pyautogui或xdotool进行使用。

没伞的孩子,就要学会在雨中奔跑!
原文地址:https://www.cnblogs.com/mikigo/p/14155885.html