当前位置: 首页 > news >正文

朗格手表网站seo优化搜索结果

朗格手表网站,seo优化搜索结果,宁夏干部网络教育培训学院,社区团购最新模式TestStand API编程:在SequenceFile中操作Sequence和Step 一、Sequence 介绍 在TestStand测试框架中,Sequence(序列)是构成测试流程的核心单元。一个Sequence包含一系列按顺序执行的Step(步骤)&#xff0c…

TestStand API编程:在SequenceFile中操作Sequence和Step

一、Sequence 介绍

在TestStand测试框架中,Sequence(序列)是构成测试流程的核心单元。一个Sequence包含一系列按顺序执行的Step(步骤),用于定义具体的测试逻辑。每个Sequence有唯一的名称和索引,可通过TestStand API进行动态创建、修改和执行。Sequence支持参数传递、流程控制(如分支、循环)以及与外部模块(如C#、Python代码)的交互,是实现自动化测试逻辑的基础。

二、Step 介绍

Step(步骤)是Sequence的最小执行单元,用于定义具体的操作(如仪器控制、数据采集、逻辑判断等)。每个Step包含以下关键属性:

  • Step Type:指定步骤的类型(如ActionSequenceCallLoop等)。
  • Module Name:执行步骤时调用的模块名称(如C#程序集名称)。
  • Entry Point:模块中具体的方法或函数名。
  • Parameters:步骤执行时所需的输入/输出参数。
    通过TestStand API,可以动态创建Step、设置属性,并将其添加到Sequence中,实现灵活的测试流程编排。

三、获取SequenceFile中的Sequence

核心思路

通过SequenceFile对象的方法获取序列列表,支持按索引或名称检索。

代码示例

using NationalInstruments.TestStand.Interop.API;var engine = new Engine();// 加载序列文件
var sequenceFile = engine.GetSequenceFileEx("YourSequenceFile.seq");// 方法1:通过索引获取序列(索引从0开始)
var sequenceIndex = 0;
var sequence = sequenceFile.GetSequence(sequenceIndex);// 方法2:通过名称获取序列
var sequenceName = "MyTestSequence";
var namedSequence = sequenceFile.GetSequenceByName(sequenceName);// 输出序列名称
Console.WriteLine($"Sequence Name: {sequence.GetName()}");

四、向SequenceFile中添加Sequence

核心思路

使用InsertSequenceEx方法插入新序列,需指定序列类型和名称。

C#代码示例

using NationalInstruments.TestStand.Interop.API;var engine = new Engine();// 加载序列文件
var sequenceFile = engine.GetSequenceFileEx("YourSequenceFile.seq");// 插入新序列
var sequenceIndex = 0;
var sequence = engine.NewSequence();
// 设置序列属性,如Name:
sequence.Name = "YourSequenceName";
sequenceFile.InsertSequenceEx(sequenceIndex,  // 序列索引sequence // 序列
);

五、获取SequenceFile中的Step

核心思路

先获取目标Sequence,再通过Sequence对象的Steps集合访问步骤。

C#代码示例

using NationalInstruments.TestStand.Interop.API;
var engine = new Engine();
var sequenceFile = engine.GetSequenceFileEx("YourSequenceFile.seq");// 获取序列,以MainSequence为例
var targetSequence = sequenceFile.GetSequenceByName("MainSequence");// 方法1:通过步骤索引获取Step
var stepIndex = 0;
var firstStep = targetSequence.GetStep(stepIndex, StepGroups.StepGroup_Main);// 方法2:通过步骤名称获取Step
var stepName = "InitializeInstrument";
var namedStep = targetSequence.GetStepByName(stepName, StepGroups.StepGroup_Main);// 获取Step列表
var steps = Enumerable.Range(0, targetSequence.GetNumSteps(StepGroups.StepGroup_Main)).Select(i => targetSequence.GetStep(i, StepGroups.StepGroup_Main)).ToList()

六、向SequenceFile中添加Step

核心思路

通过Sequence对象的Steps.Add方法动态添加步骤,需指定步骤类型和模块信息。

C#代码示例

using NationalInstruments.TestStand.Interop.API;
var engine = new Engine();
var sequenceFile = engine.GetSequenceFileEx("YourSequenceFile.seq");// 获取序列,以MainSequence为例
var targetSequence = sequenceFile.GetSequenceByName("MainSequence");// 创建新步骤,Action为StepType
var step = engine.NewStep("","Action");
step.Name = "NewStep";// 插入Step
var stepIndex = 0;
targetSequence.InsertStep(step, stepIndex, StepGroups.StepGroup_Main);

下面是StepType列表,具体含义请参考steptypes:

StepType_Action –(Value: "Action")
StepType_Break –(Value: "NI_Flow_Break")
StepType_CallExecutable –(Value: "CallExecutable")
StepType_Case –(Value: "NI_Flow_Case")
StepType_Continue –(Value: "NI_Flow_Continue")
StepType_DoWhile –(Value: "NI_Flow_DoWhile")
StepType_Else –(Value: "NI_Flow_Else")
StepType_ElseIf –(Value: "NI_Flow_ElseIf")
StepType_End –(Value: "NI_Flow_End")
StepType_For –(Value: "NI_Flow_For")
StepType_ForEach –(Value: "NI_Flow_ForEach")
StepType_Goto –(Value: "Goto")
StepType_If –(Value: "NI_Flow_If")
StepType_Label –(Value: "Label")
StepType_LimitLoader –(Value: "LimitLoaderStep ")
StepType_MessagePopup –(Value: "MessagePopup")
StepType_MultiNumericMeasurement –(Value: "NI_MultipleNumericLimitTest")
StepType_NumericMeasurement –(Value: "NumericLimitTest")
StepType_PassFailTest –(Value: "PassFailTest")
StepType_PropertyLoader –(Value: "NI_VariableAndPropertyLoader")
StepType_PropertyLoaderEx –(Value: "NI_PropertyLoader")
StepType_Select –(Value: "NI_Flow_Select")
StepType_SequenceCall –(Value: "SequenceCall")
StepType_Statement –(Value: "Statement")
StepType_StreamLoop –(Value: "NI_Flow_StreamLoop")
StepType_StringMeasurement –(Value: "StringValueTest")
StepType_SweepLoop –(Value: "NI_Flow_SweepLoop")
StepType_Wait –(Value: "NI_Wait")
StepType_While –(Value: "NI_Flow_While")

七、设置Step的RunMode

在 TestStand 进行脚本编辑时,经常需要对 Step 的 RunMode 进行设置,以下是使用 Api 设置 RunMode 的具体过程:

using NationalInstruments.TestStand.Interop.API;
var engine = new Engine();
var step = engine.NewStep("", stepType);// 设置为Skip,该Step不执行
step.SetRunModeEx("Skip");
// 设置为Normal,该Step执行
step.SetRunModeEx("Normal");

八、添加Sequence并使用Step调用

完整流程示例

using NationalInstruments.TestStand.Interop.API;
var engine = new Engine();
var sequenceFile = engine.GetSequenceFileEx("YourSequenceFile.seq");// 插入Sequence
var index = sequenceFile.NumSequences;
sequenceFile.InsertSequenceEx(index, sequence);// 获取MainSequence
var mainSequence = sequenceFile.GetSequenceByName("MainSequence");
var stepIndex = mainSequence.GetNumSteps(StepGroups.StepGroup_Main);// 创建Step
var stepType = "SequenceCall";
var step = engine.NewStep("", stepType);
step.Name = sequence.Name;// 设置Step属性
var property = step.Module.AsPropertyObject();
property.SetValBoolean("UseCurFile", 0, true);
property.SetValString("SeqName", 0, sequence.Name);// 插入Step
mainSequence.InsertStep(step, stepIndex, StepGroups.StepGroup_Main);

九、总结

通过TestStand API操作SequenceFile中的SequenceStep,可以实现以下能力:

  • 动态生成测试流程,无需手动编辑序列文件。
  • 批量管理序列和步骤,提升自动化测试脚本的灵活性。
  • 结合C#等编程语言,实现复杂的测试逻辑与外部系统集成。

注意事项

  • 操作前需确保TestStand引擎已正确初始化,并获取Engine对象引用。
  • 步骤的模块路径和入口点需与实际部署的程序集一致,避免运行时错误。
  • 建议在代码中添加异常处理,捕获COMException等可能的运行时异常。

通过以上实践,可充分发挥TestStand API的可编程能力,构建高效、可扩展的自动化测试解决方案。

http://www.cadmedia.cn/news/13054.html

相关文章:

  • 俄语购物网站建设视频广告
  • 载带 东莞网站建设seo品牌推广方法
  • 西安市城乡建设管理局网站6厦门seo搜索排名
  • 通州住房城乡建设委员会网站建设网站的十个步骤
  • 个人免费域名空间建站seo还可以做哪些推广
  • 建设部网站危险性较大做任务赚佣金一单10块
  • 京东旗下的企业网站有哪些seo关键字排名优化
  • 建设局网站投诉网络推广策划
  • 网站建设沈阳最近的新闻事件
  • 营销活动seo在线诊断工具
  • 深圳建网站多少钱一年徐州seo建站
  • 东莞房价2023年最新房价走势搜索优化网络推广
  • 东莞高端商城网站建设自媒体平台注册官网
  • 建立网站 用英语惠州seo网站推广
  • 如何做网站的链接结构深圳市文化广电旅游体育局
  • 上海企业网站制作多少钱最新国际要闻
  • 潍坊网站设计在线培训网站次要关键词
  • 郴州装修公司排名前十口碑推荐厦门seo排名
  • 手机大型网站seo推广人员
  • 大作设计网站官网登录入口百度推广客服投诉电话
  • 什么是网络营销方法seo大全
  • 深圳建站公司哪个济南兴田德润简介排名第一的助勃药
  • 信誉好的天津网站建设搜索引擎排名优化seo课后题
  • logo设计公司有哪些职位山东seo
  • 大埔网站建设企业培训公司
  • 福州阿里巴巴网站建设如何提高seo关键词排名
  • 360网站建设企业市场调研报告内容
  • 网站如何做后台网站建设公司推荐
  • 兰州市建设局网站国贸大厦网络营销推广方案ppt
  • 美食网站的建设论文河南网站公司