在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进行使用。

标签智能推荐:

dogtail的使用方法(三)——启动应用

使用dogtail启动dogtail提供了应用启动的方法,在utils库中,使用run方法启动:首先导入方法:fromdogtail.utilsimport*调用run方法run('deepin-music')即可启动音乐这种方法的优点是采用进程的方式直接启动,不依赖与UI,无论桌面或任务栏上是否存在应用图标,都可以正常启动。但是在实际项目中,仍然存在一个问题,如果使用ssh远程调用,或者Jenk

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

在UI自动化测试中,大多数的脚本都是对元素进行操作,所以元素操作时UI自动化测试中最最核心的内容。获取应用对象dogtail获取应用对象的时候,使用的是tree库里面的application()方法:fromdogtail.treeimportrootapp_obj=root.application('deepin-music')app_obj就是应用的对象。获取元素对象1.获取元素对象,是应用对

Sikuli-基于图像识别的自动化测试框架

特性可以定位到相应的元素IDEIntegratedDevelopmentEnvironment集成开发工具sikulixIDEsikulixIDESikuli自带的集成开发工具问题在UOS操作系统桌面应用的GUI自动化测试中,通常的解决方案是对桌面应用添加Accessibility,然后通过Dogtail或LDTP这类工具去获取应用的元素,从而可以对元素进行定位和操控。UOS操作系统桌面应用在开发