Qt自动化模块介绍
在CukeTest中,大部分与Qt相关的自动化的对象都在leanpro.qt
模块中,它包含以下2个类:
- QtModel: 用于加载模型文件,将模型拖拽到代码中即可自动加载;
- QtAuto: 与执行Qt自动化相关的库;
下面列出的所有方法都是同步方法,不需要await
。
QtModel
从leanpro.qt
模块中引用,用于引用可以写作如下:
const {QtModel} = require('leanpro.qt');
直接将模型从资源管理器视图中拖拽到代码中可以省去很多力气。
loadModel(modelPath): IQtModel
从模型文件中加载模型,模型中提供了各种控件的自动化API。
- modelPath:
string
类型,模型文件的路径。 - 返回值:
IQtModel
类型,模型类,包含了各类获取对象API。
QtAuto
从leanpro.qt
模块中引用,引用可以写作如下:
const {QtAuto} = require('leanpro.qt');
QtAuto
包含了用于以下几个方面:
Qt自动化的超时时间
每个Qt自动化的操作都有一个超时时间,如果操作耗费的时长超过这个时间,就会报超时错误。CukeTest中默认的超时时间为10秒。
defaultTimeout: number
获取当前的超时时间设置。单位为ms
,因此返回的默认值为10000。
setDefaultTimeout(miliSeconds)
设置超时时间,单位为ms
。
- miliSeconds:
number
类型,超时时间。
操作Qt应用
用于启动Qt应用,以及获取Qt应用的信息。
launchQtProcess(exePath, args)
启动一个Qt应用,通常用于启动被测应用。需要和启动普通应用的launchProcess()方法做区分,因为launchQtProcess()
方法会自动的为启动命令添加变量值来加载Qt Agent,而只有加载了Qt Agent才能够执行自动化。
- exePath:
string
类型,应用的路径。 - args:
string[]
类型,运行应用时的参数,比如cuketest --runjs test.js
这条命令中,后面两个就是参数,写作args
传参的形式为["--runjs", "test.js"]
。
getApplication(appName): IQApplication
获取目标应用的自动化对象,可以用于自动化操作。
- appName:
string
类型,Qt应用的名称。