认识模型文件
在使用 CukeTest 录制测试时,工具会自动将所有涉及的控件对象保存到一个模型文件(.tmodel
)中。模型文件保存了控件的唯一标识属性,使测试在运行时能够精确找到并操作这些控件。
什么是模型文件?
模型文件(.tmodel
)是一个存储应用程序控件信息的文件。在录制过程中,CukeTest 会自动记录控件及其属性。这些属性包括控件的唯一标识信息,有助于自动化测试脚本在运行时精确定位和操作目标控件。
为什么需要模型文件?
模型文件的存在简化了测试的管理,使您可以在一个文件中集中管理应用中的所有控件。这样一来,即便应用控件布局发生变化,您只需更新模型文件中的相关属性,而不需要在测试脚本中反复修改控件定位代码。
如何加载模型文件
在录制测试时,CukeTest 会自动在脚本开头生成加载模型文件的代码,以便您在脚本中引用模型中的控件。以下是 JavaScript 和 Python 的示例:
let modelWin = WinAuto.loadModel(__dirname + "/recording.tmodel");
modelWin = WinAuto.loadModel(os.path.dirname(os.path.realpath(__file__)) + "/recording.tmodel")
在这段代码中,通过 WinAuto.loadModel()
方法加载模型文件,modelWin
变量将用于后续的控件操作。
如何使用录制生成的模型文件
1. 直接使用模型文件
录制生成的模型文件可以直接使用。为便于管理,建议为模型文件赋予描述性的名称(例如 notepad.tmodel
),然后通过 WinAuto.loadModel()
方法加载该文件。这样能够简化多个脚本对不同控件的管理。
注意:如需使用模型文件中的控件截屏,例如图像检查点
checkImage()
,请确保在修改*.tmodel
文件名时同步修改对应的*_files
文件夹名称。例如,如果模型文件改名为notepad.tmodel
,则控件截图文件夹需为notepad_files
。
2. 合并多个模型文件
如果项目中已有其他模型文件,可以将新录制的模型文件合并到现有文件中,以便集中管理所有控件。
合并步骤
- 打开模型文件:在 CukeTest 中分别打开已有模型文件和新录制的模型文件。
- 拖拽合并:将新模型文件中的根节点拖拽到已有模型文件的树状结构中。
- 合并控件节点:右键点击需要合并的控件节点,选择合并到兄弟节点,将新控件合并到现有控件树中。
这种方式避免了项目中产生过多的模型文件,使测试脚本的维护更为便捷。
如何在录制时将控件保存到已有模型文件
在录制新控件时,您可以直接选择将它们保存到已有的模型文件,而无需录制后再进行合并。为此,在开始录制之前,请打开“录制到已有模型”选项,指定模型文件,这样录制的新控件对象将自动保存到该模型文件中。
模型文件的管理技巧
合理管理模型文件有助于提高测试项目的可维护性。以下是一些实用建议:
- 清晰命名:为模型文件使用描述性名称,以便后期查找和维护。
- 定期合并:将新录制的模型文件定期合并到已有文件中,避免项目中过多模型文件导致混乱。
- 精简控件:在录制后检查模型文件,删除不必要的控件对象,确保文件简洁易维护。
总结
通过本文,您学会了如何创建、加载和管理模型文件。模型文件的合理管理不仅能提高测试脚本的可读性,还能有效减少重复操作,使测试流程更高效、易维护。