为什么要使用模型管理器
在桌面应用的自动化测试中,精准地识别和操作控件是测试成功的关键因素之一。控件的准确定位和操作不仅直接影响测试的稳定性,还关乎整体的测试效率。然而,随着应用的不断更新和迭代,保持测试脚本与界面同步变得越来越困难。如何在应用界面变化时快速维护测试脚本,成为了开发者和测试工程师的主要挑战。
传统做法是将控件的定位方法直接硬编码到脚本中。这种方法虽然在短期内可以工作,但随着应用版本的更新,每次界面变动都可能导致控件属性发生变化,进而引发脚本中的错误。为了修复这些问题,测试人员通常需要手动修改大量脚本,这不仅费时,还容易引入新的错误,增加了测试的复杂性与维护难度。
为了解决这些问题,CukeTest 引入了模型文件(.tmodel)和模型管理器(Model Manager),提供了一种集中管理控件信息的方式,以提高测试脚本的维护效率。
模型文件与模型管理器的作用
.tmodel
文件是 CukeTest 中的控件对象信息存储中心,记录了测试过程中涉及的所有对象信息。模型管理器则帮助您高效维护和更新这些信息。当应用界面发生变化时,只需更新少量控件信息,而无需大规模修改测试脚本。通过这种方式,模型文件和模型管理器不仅减少了脚本维护的工作量,还确保了测试过程的灵活性和稳定性。
除了管理控件信息,模型管理器还提供了调试控件操作和代码生成的功能,能够自动生成调用控件的脚本代码,大幅降低脚本编写的难度。即便是初学者,也能通过这些功能快速生成高效的测试脚本。\
如何打开模型管理器?
您可以通过以下两种方式打开模型管理器:
- 在 CukeTest 主界面右上角,点击 模型管理器图标 。
- 在项目文件夹中,双击模型文件
*.tmodel
图标 。
模型文件的工作机制
在录制测试的过程中,CukeTest 会自动将操作涉及的控件对象保存到模型文件(.tmodel)中。每个控件对象都会保存一个唯一标识属性,用于后续的识别。您还可以通过模型管理器的侦测功能手动添加控件对象。当新的控件被添加时,CukeTest 会自动对比模型文件中已有的对象,避免重复保存。
在测试运行时,CukeTest 会依据模型文件中的标识属性定位控件。如果控件的属性发生变化,或有多个控件匹配相同的标识属性,CukeTest 可能无法正确识别对象,此时测试将失败。您需要更新控件的标识属性,以确保其唯一性和稳定性。
为什么使用树状结构管理控件?
大多数桌面应用的界面都可以表示为控件树,类似于网页的 DOM 结构。CukeTest 采用这种树状结构来管理应用界面的控件,使得控件管理更加直观和高效。
网页中的 DOM | 模型管理器中的树状结构 |
---|---|
根节点为 <html> 标签 |
根节点通常为应用的窗口控件 window |
使用 id/class 选择器定位元素 | 使用控件的标识属性定位对象 |
获取元素属性 | 获取控件属性或执行控件操作 |
树状结构的应用不仅能直观展示控件的层次关系,还能够帮助测试脚本更加准确地识别和操作各个控件,大幅提升了自动化测试的效率和可靠性。