1. 概述
工程路径:
C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 14.0.83\Programming\Python
2. 调用演示
打开工程路径文件夹显示如下。
在当前文件夹下打开 cmd 窗口。

在窗口中输入 python RunAllTests.py。

按回车键运行。在 cmd 窗口中可以看到测试用例开始执行和执行完成的打印。

在 cmd 调用 python 脚本运行期间,canoe 窗口自动打开,并自动运行测试用例脚本。执行如下所示。执行了 TestModule 和 TestUnit 两种类型的测试脚本。TestModule 是 canoe 自带的测试脚本开发方式;TestUnit 是使用 vTESTstudio 开发的测试脚本,可以在 canoe 中调用运行。

3. 程序讲解
3.1 类定义
程序中主要定义了 5 个类,分别 CanoeSync、CanoeMeasurementEvents、CanoeTestModule、CanoeTestConfiguration、CanoeTestEvents。逐个讲解下关键代码。
CanoeSync 类
主要建立与 canoe 的通信,执行打开 canoe 工程、执行测试用例等操作。
def init(self): 类初始化函数 self.Running、self.WaitForStart、self.WaitForStop:创建了 3 个匿名函数,用于监测 canoe 运行状态、开始和停止;WithEvents(self.App.Measurement, CanoeMeasurementEvents):将 canoe 的 Measurement 属性与回调函数 CanoeMeasurementEvents 绑定。这个回调函数主要用于赋值运行的变量和状态打印。
def Load(self, cfgPath): 打开指定路径 canoe 工程 COM 调用链:Application->Open()
def LoadTestSetup(self, testsetup): 在 canoe 工程中添加 Test Environment,后缀为 tseTraverseTestItem 函数:将添加的 Test Environment 中所有 Test Module 提取到一个列表里,其中可能有嵌套文件夹的,这个函数可以对文件里的嵌套 Module 都遍历出来。


