在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对元素直接的操作比较少,如果涉及到一些比较复杂的业务逻辑,建议结合rawinput或pyautogui或xdotool进行使用。