网站按照谁建设 谁负责,wordpress 插件 缓存,龙岩网站设计培训,啤酒招商网站大全文章目录一、 API调用运行环境二、ET API帮助文档三、如何导入ET API四、 ET常用接口1、 创建用于添加测试步骤的Package2、 在Package的TestStep中添加precondition块3、 在Package的TestStep中添加Block块4、在Package的TestStep中添加PostconditionBlock块5、 在Package的Te…
文章目录一、 API调用运行环境二、ET API帮助文档三、如何导入ET API四、 ET常用接口1、 创建用于添加测试步骤的Package2、 在Package的TestStep中添加precondition块3、 在Package的TestStep中添加Block块4、在Package的TestStep中添加PostconditionBlock块5、 在Package的TestStep中调用其他package6、 创建联合仿真工具的JOB7、 创建Calculation计算模块8、 创建信号的GlobalMapping9、 创建SignalRecording模块10、 创建Wait时间延迟模块11、 VERISTAND信号读12、 VERISTAND信号写13、 ECU TEST TestStep函数提示以下是本篇文章正文内容下面案例可供参考
一、 API调用运行环境
1、 安装python 3.6 及以上
二、ET API帮助文档
1、进入ET HELP文档
2、进入API HELP
3、根据需求选择API类型 三、如何导入ET API
1、 获取ET API路径 注意调用ET的API之前需要将API路径添加至搜索路径中,这样才能成功调用API
方法1通过注册表获取API路径
reg winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, rSOFTWARE\TraceTronic\ECU-TEST 2022.1) #打开注册表
etDir winreg.QueryValueEx(reg, Path)[0] #查询ET Path的值;
reg.Close() #关闭注册表
ApiClientPath os.path.join(etDir, rTemplates\ApiClient) #路径连接#注根据版本更改ECU-TEST 2022.1值方法2在安装目录下找到API文件夹根据安装位置
ApiClientPath os.path.join(rC:\Program Files\ECU-TEST 2022.1\Templates\ApiClient)2、将ApiClient路径添加至python搜索路径
sys.path.append(ApiClientPath)3、导入ApiClient库
from ApiClient import ApiClient4、API实例化
self.api ApiClient()四、 ET常用接口
1、 创建用于添加测试步骤的Package 1pkghandle self.api.PackageApi.CreatePackage()2、 在Package的TestStep中添加precondition块 注意要先创建pkg才能添加preconditionpkghandle是创建pkg返回的句柄
1 precondition self.api.PackageApi.TestStepApi.CreateTsPreconditionBlock() #创建PreconditionBlock2pkghandle.AppendTestStep(precondition) #将block添加到pkg的TestStep中3、 在Package的TestStep中添加Block块 注意要先创建pkg才能添加Blockpkghandle是创建pkg返回的句柄
3) actionBlock self.api.PackageApi.TestStepApi.CreateTsBlock() #创建Block块4) actionBlock.SetActionColumnText(Action) #设置block的名称5) pkghandle.AppendTestStep(actionBlock) #将block添加到pkg的TestStep中4、在Package的TestStep中添加PostconditionBlock块 注意要先创建pkg才能添加Postconditionpkghandle是创建pkg返回的句柄
1) postcondition self.api.PackageApi.TestStepApi.CreateTsPostconditionBlock() #创建PostconditionBlock;2) pkghandle.AppendTestStep(postcondition) #将block添加到pkg的TestStep中5、 在Package的TestStep中调用其他package 1Tspkg self.api.PackageApi.TestStepApi.CreateTsPackage(pkgPath) #创建引用包的调用句柄2Tspkg.SetPackageParameter(paramName,paramValue) #设置被调用package的形参值3block.AppendTestStep(Tspkg) #将Job添加到Block/PostconditionBlock/PreconditionBlock模块6、 创建联合仿真工具的JOB 1 mappingitem self.api.PackageApi.MappingApi.CreateJobMappingItem(toolID, JobName, portIdNone, checkTargetTrue) #创建工具模型的mappingitem需要填写ToolID、JobNametoolID: JobName: 注意创建Job之前需要确保工具的Job MappIngItem已经创建如上所示 2 TsJob self.api.PackageApi.TestStepApi.CreateTsJob(mappingitem,generateInterfaceTrue) #创建TsJob之前mappingitem需要提前创建3 TsJob.SetParameter(name, Value) #设置Job的参数名称与值4 block.AppendTestStep(Tsjob) #将Job添加到Block/PostconditionBlock/PreconditionBlock模块7、 创建Calculation计算模块
1 TsCal self.api.PackageApi.TestStepApi.CreateTsCalculation() #创建Calculation模块2 TsCal.SetFormula(Formula) #设置Calculation模块的公式3 TsCal.SetExpectationExpression(ExpectationExpression) #添加期望结果表达式4 block.AppendTestStep(TsCal) #将Job添加到Block/PostconditionBlock/PreconditionBlock模块8、 创建信号的GlobalMapping
1mappingfile self.api.GlobalMappingApi.CreateMapping() #创建GlobalMapping文件2 mappingItem self.api.PackageApi.MappingApi.CreateModelMappingItem(systemIdentifier,
targetPath,variableTypeNone,isSignalFalse,referenceNameMappingName,checkTargetTrue)
#需要配置systemIdentifier一般为Plant modelTCF中可以修改名称targetPath是需要Mapping的信号路径referenceName是Mapping的名称3 mappingfile.AddItem(mappingItem) #添加GlobalMapping对象到Mappingfile4mappingfile.Save(filename””) #保存Mapping文件9、 创建SignalRecording模块 1 SGroupHandle self.api.PackageApi.SignalRecordingApi.CreateSignalGroup(name,description) #创建信号录制组别2 pkghandle.AppendSignalGroup(SGroupHandle, defaultRecordingGroupNone, allowNewNameFalse) #将信号组添加到pkg;3) RecordingGroup SGroupHandle.GetRecordingGroups() #获取所有信号组返回的RecordingGroup是列表4for RG in RecordingGroup: #因为RecordingGroup是列表返回了多个录制组RG.SetRecordingMode(RG.RECORDING_MODE_AUTO) #将每个组切换自动录制模式5SGroupHandle.AppendMappingItem(MappingItem) #需要先创建GlobalMapping才能将信号添加至信号录制组10、 创建Wait时间延迟模块
1 TsWait self.api.PackageApi.TestStepApi.CreateTsWait() #创建时间延时模块2 TsWait.SetDelay(value, unit) #创建延迟时间3 block.AppendTestStep(TsWait) #将TsWait添加到Block/PostconditionBlock/PreconditionBlock模块11、 VERISTAND信号读
注意这里使用的Mapping和GlobalMapping不一样
1 mappingItem self.api.PackageApi.MappingApi.CreateGenericMappingItem(referenceNamereferenceName) #创建需要读取值的信号Mappingitem;2 TsRead self.api.PackageApi.TestStepApi.CreateTsRead(mappingItem) #添加MappingItem到读取步骤3 TsRead.SetExpectationExpression(expectation) #添加期望结果4 block.AppendTestStep(TsRead) #将TsRead添加到Block/PostconditionBlock/PreconditionBlock模块12、 VERISTAND信号写
1) MappingItem self.api.PackageApi.MappingApi.CreateGenericMappingItem(referenceNamereferenceName)
#创建需要写入值的信号GenericMappingitem;2) testStep self.api.PackageApi.TestStepApi.CreateTsWrite(MappingItem) #添加MappingItem到写入步骤3) testStep.SetValue(value) #设置写入值13、 ECU TEST TestStep函数
创建IF语句
1Tsif self.api.PackageApi.TestStepApi.CreateTsIfThenElse() # 创建if..else函数2block.AppendTestStep(Tsif) # 添加if函数到block块3Tsif.SetCondition(condition) # 添加if..else条件4ThenNode Tsif.GetThenNode() # 获取Then节点5ElseNode Tsif.GetElseNode() # 获取Else节点6ThenNode.AppendTestStep()/ElseNode.AppendTestStep() #添加TestStep到Then或Else节点创建LOOP语句
1Tsloop self.api.PackageApi.TestStepApi.CreateTsLoop() #创建Loop函数2block.AppendTestStep(Tsloop) # 添加Loop函数到block块3Tsloop.SetStartCondition(loopcondition) # 设置Loop执行条件4Tsloop.SetLoopCountExpression(looptimes) # 设置Loop执行次数5Tsloop.SetSaveInVariableName(LoopCounter) # 设置Save counter in的变量创建SWITCH CASE语句
1Tsswitch_case self.api.PackageApi.TestStepApi.CreateTsSwitchCase() #创建SwitchCase函数2block.AppendTestStep(Tsswitch_case) #添加SwitchCase到block块3Tsswitch_case.SetSwitchValue(switchcondition) #添加SwitchCase的进入条件4SwitchNode Tsswitch_case.CreateCaseNode(caseValue0, insPosNone) #创建Case节点5SwitchNode.AppendTestStep() #Case节点添加步骤6GetDefaultNode Tsswitch_case.GetCaseNode() #获取Default节点7GetDefaultNode.AppendTestStep() #Default节点添加步骤以上例举了一些自动化常用的API