linux桌面qt应用程序UI自动化实现之dogtail
1. 前言
Dogtail适用于Linux 系统上进行 GUI 自动化测试,利用 Accessibility 技术与桌面程序通信;Dogtail 包含一个名为 sniff 的组件,这是一个嗅探器,用于 GUI 程序追踪;
源码下载:dogtail · PyPI
可通过sudo python setup.py install安装或sudo pip install dogtail安装,但是有用户反馈pip安装不能使用sniff命令,自己选择。
还需要安装依赖包,sudo apt install python3-pyatspi python3-pyqt5 ;
2. 代码实现
import time
from dogtail import predicate
from dogtail.tree import root
class Apps:
def __init__(self, appName, description):
# 程序启动之后获取程序对象
self.main = root.application(appName=appName, description=description)
def wait_for_child_by_property(self, max_wait_time=5, **param):
"""
通过name、roleName等属性寻找子对象,如果找不到返回None
如果无入参,返回自身
"""