在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操作系统桌面应用在开发