Qt自动化模块介绍

在CukeTest中,大部分与Qt相关的自动化的对象都在leanpro.qt模块中,它包含以下2个类:

  1. QtModel: 用于加载模型文件,将模型拖拽到代码中即可自动加载;
  2. QtAuto: 与执行Qt自动化相关的库;

下面列出的所有方法都是同步方法,不需要await

QtModel

leanpro.qt模块中引用,用于引用可以写作如下:

  1. const {QtModel} = require('leanpro.qt');

直接将模型从资源管理器视图中拖拽到代码中可以省去很多力气。

loadModel(modelPath): IQtModel

从模型文件中加载模型,模型中提供了各种控件的自动化API。

  • modelPath: string类型,模型文件的路径。
  • 返回值: IQtModel类型,模型类,包含了各类获取对象API

QtAuto

leanpro.qt模块中引用,引用可以写作如下:

  1. 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应用的名称。