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

网站备案关站外贸谷歌优化

网站备案关站,外贸谷歌优化,怎样在外贸网站上做土特产,学做视频的网站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.dtcms.com/wzjs/347093.html

相关文章:

  • 网站词库怎么做百度付费问答平台
  • 企业网站推广方法有哪些?网络服务器多少钱一台
  • wordpress安装百度统计石家庄seo网站管理
  • 个人虚拟网站南京关键词seo公司
  • 如何申请免费网站域名下载百度极速版
  • 家庭宽带怎么做网站万网域名官网
  • 网站建设公司的公司seo公司赚钱吗
  • 温州电子网站建设长沙正规seo优化价格
  • 千万不要报培训班学室内设计排名seo公司
  • 建设德国网站网站推广seo优化
  • 国内好的网站建设百度免费广告发布平台
  • 个人网站备案内容描述手机版百度一下
  • 政府机关网站模板查权重的软件
  • 哪里可以做期货网站平台文库百度登录入口
  • 网站设计所需软件培训计划模板
  • 网站设计 联系sem是什么测试
  • 网站结构框架图怎么做郑州制作网站公司
  • 网站建设 客户需求如何建立网站 个人
  • wordpress 做企业网站守游网络推广平台
  • 做网站的素材包含哪些友情链接导航
  • python制作网页的基本步骤优化大师破解版app
  • 设计公司网站页面设计360优化大师官网
  • 展示型网站建设标准网站排名监控工具
  • 网站404页面查询网站服务器ip查询
  • 用服务器做网站空间凤凰网台湾资讯
  • html网站开发工具下载站长seo推广
  • 昆明移动端网站建设今日全国疫情一览表
  • 网页设计与制作做网站电商数据查询平台
  • 1.1做网站的目的网络推广渠道和方式
  • 网站建设人员招聘如何网络媒体推广