代码生成
在开发自动化脚本时,生成和调试代码是确保开发效率的重要环节。本章将详细介绍如何生成模型加载代码和控件操作代码,以及如何进行控件调试。
生成模型加载代码
对象模型保存后是以 *.tmodel
为后缀的文件。在自动化脚本中,如要使用这个模型,需要加载模型文件。模型管理器可以生成加载模型的代码,避免手动输入。生成模型加载代码有两种方式:
方法一:拖拽文件
将模型文件从文件浏览面板拖拽到代码编辑器中,将自动生成加载该模型的代码。
方法二:复制代码
在模型管理器中,选中一个控件,切换到方法面板,点击
复制模型代码到剪贴板
按钮,自动将全局加载代码方法拷贝到剪贴板。打开代码编辑器,粘贴代码,会生成如下代码:
JavaScriptconst { WinAuto } = require("leanpro.win"); let model = WinAuto.loadModel("C:\\temp\\vbtest\\BuildYourOffice.tmodel");
注意: 根据控件类型会生成不同的模型加载代码,因此应该选中控件对象后再点击“复制模型代码”。例如,如果选中的是跨平台Qt对象,加载的就是leanpro.qt库。
生成控件操作代码
模型管理器可以生成两种类型的控件操作代码:
模型操作代码
这类代码需要加载模型,调用语句通过名称寻找模型中的对象。例如:
JavaScript
await model.getWindow("SimpleStyles").getCheckBox("Normal1").click();
SimpleStyles
的窗口对象,然后在这个父对象下找名为Normal1
的复选框对象,找到后点击这个复选框。
描述模式代码
描述模式是指被测对象的属性信息都在代码中描述。勾选描述模式框 后,生成的就是基于描述模式的代码。
生成方式
1. 拖拽方法名
选中“控件操作”页面中的一个方法,将其拖拽到CukeTest编辑器中,即可自动生成代码。
在 JavaScript 模式下,如果将异步方法拖拽到编辑器中并放在函数体外,编辑器会自动将其包裹在一个立即执行函数表达式(IIFE)中,使该异步方法能够立即执行,方便进行脚本调试。
2. 复制/粘贴
选中“控件操作”页面中的一个方法,点击 按钮,将生成的代码复制到剪贴板中。打开编辑器,粘贴代码。
3. 拖拽控件节点
将对象模型树中的节点直接拖拽到编辑器中。拖拽生成的代码只包含控件对象,没有方法调用。可以在对象后点击".",根据智能提示选择需要的方法。