ETestDEV是一款面向测试系统的测试软件开发环境主要应用于嵌入式软件测试、快速原型验证、硬件在环测试、工业自动化测试等场景。本教程针对ETestDEV5的使用方法进行详细说明。若有疑问欢迎留言。文章目录1 执行程序表格创建2 动作说明2.1 常用动作2.2 输入2.3 输出2.4 测试2.5 对话框2.6 流程控制2.7 流程控制2.8 基本操作2.9 全局配置3 术语3.1 常用动作3.1.1 声明3.1.2 标签3.1.3 打印3.1.4 延时3.1.5 当前时刻3.1.6 退出3.1.7 自定义脚本3.2 输入3.2.1 数据接收3.2.2 报文接收3.2.3 模拟量采集3.2.4 数字量采集3.3 输出3.3.1 数据发送3.3.2 报文发送3.3.3 模拟量输出3.3.4 数字量输出3.4 测试3.4.1 合格/失败测试3.4.2 数值限度测试3.4.3 多数值限度测试3.5 消息对话框3.6 流程控制3.6.1 If3.6.2 If-else3.6.3 While执行程序表格是将一系列动作的集合以表格的形式展现通过一种图形化的方式来搭建的测试脚本它能够将执行序列自动转化成Lua脚本非常适合从上到下顺序执行一系列固化逻辑。1 执行程序表格创建执行程序表格创建过程可参考8.2.3节。完成创建后打开生成的执行程序表格内容如下图所示。2 动作说明2.1 常用动作常用动作菜单如下图所示。常用动作作用如下表所示。2.2 输入输入动作菜单如下图所示。输入动作作用说明如下表所示。2.3 输出输出动作菜单如下图所示。输出动作作用说明如下表所示。2.4 测试测试动作菜单如下图所示。测试动作作用说明如下表所示。2.5 对话框对话框动作菜单如下图所示。对话框动作作用说明如下表所示。2.6 流程控制流程控制动作菜单如下图所示。流程控制动作作用说明如下表所示。2.7 流程控制流程控制动作菜单如下图所示。流程控制动作作用说明如下表所示。2.8 基本操作基本操作如下表所示。2.9 全局配置拟绑定设备只有在此处绑定设备后动作设置-通道选择时才显示对应设备下的通道选择正确的通道进行数据的收发如下图所示。3 术语3.1 常用动作3.1.1 声明功能定义local变量并添加初始值。声明动作的配置如下图所示。【标题】可以填写适当的内容也可以为空。【初始值】可以填写各种类型的内容也可空着不填写。在【声明】里添加的变量属于本地local变量只能在当前表格使用。在表格中使用的变量需要【声明】里添加定义。如没有声明直接使用某变量那么该变量的值为nil。3.1.2 标签相当于lua脚本的注释如下图所示。3.1.3 打印对应APIprint(v1v2…)。【标题】填写的内容显示在表格的【标题】栏。【打印内容】:遵循print()的Lua语言语法。例如“ucdata”,ucdata,“pram”,pram,“msg”,msg,“data”,data如下图所示。3.1.4 延时功能延长一段时间。对应APIetimer.delay(tout_ms)。【标题】可以填写适当的内容也可以为空。【延时时间】整数类型大于等于零的整数。例20010000如下图所示。3.1.5 当前时刻功能程序启动后至当前点的时长。对应APIvalue etimer.now(format)【标题】可以填写适当的内容也可以为空。【变量赋值】可为空。可填写【声明】中的local变量。【执行完当前时刻】后该变量的值为程序启动后至当前点的时长。如下图所示。3.1.6 退出功能退出执行程序。对应APIexit()。3.1.7 自定义脚本功能可以自定义Lua脚本内容使用方法灵活。可以填写一条或多条代码内容不限定义局部变量或者调用API等。建议一个【自定义脚本】只写一条代码。如下图所示。3.2 输入3.2.1 数据接收功能异步读取通信通道的输入数据。适用于总线型通道。对应APIresult read_buff(channelsizetout_msoption)。【字节长度】integer 类型读取数据的字节长度0 表示全部读取。【超时时长】当超过输入的时间就停止接收。单位msnumber类型(双精度浮点型)。【通道参数选项】k-v键值对缺省参数nil根据不同的通道类型填写对应的参数。可以为空。【通道参数选项】和流程图的【IO选项】是一样的只是叫法不同它们都对应API的参数option。【变量赋值】需要事先在【声明】里定义该变量然后在【变量赋值】中填写该变量。如上图接收数据后将接收的数据赋值给变量data。3.2.2 报文接收功能异步读取通信通道的输入数据并按照协议解析。适用于总线型通道。对应APIresult read_msg(channelprotocoldataoption)。3.2.3 模拟量采集功能异步读取模拟量输入通道的采集结果。对应APIresult read_analog(channel)。【通道】模拟通道【变量赋值】【声明】中定义的变量名称3.2.4 数字量采集功能异步读取数字量(开关量)输入通道的采集结果。对应APIresult read_digital(channel)。【通道】数字通道。【变量赋值】【声明】中定义的变量名称。3.3 输出3.3.1 数据发送功能异步输出缓冲区数据。适用于总线型通道。对应APIresult write_buff(channelbuffoption)。【标题】可以填写适当的内容也可以为空。【数据格式】与【数据】。【数据格式】有两种十六进制字符串。选择【十六进制】时对应的【数据】输入如下“112233”或“11 22 33”选择【字符串】时候对应【数据】输入如下‘我是zifuchuan’。【通道参数选项】k-v键值对缺省参数 nil。根据不同的通道类型填写对应的参数。可以为空。【通道参数选项】和流程图的【IO选项】是一样的只是叫法不同它们都对应API的参数option。3.3.2 报文发送功能使用协议打包报文数据并在通信通道异步输出。适用于总线型通道。对应APIresult write_msg(channelprotmsgis_strictoption)。【报文数据】:根据【协议】内容填写【报文数据】以下面协议为例说明报文数据可填写的几类内容。如下图所示。【报文数据】填写内容空{}所有协议字段为协议的【自动值】。仅指定协议中个别字段的值{header0xABCD}未指定的协议字段为协议的【自动值】。十六进制数据{header0xABCD,data11,tail12}。十进制数据{header43981,data11,tail12}。【通道参数选项】k-v键值对缺省参数 nil。根据不同的通道类型填写对应的参数。可以为空。【通道参数选项】和流程图的【IO选项】是一样的只是叫法不同它们都对应API的参数option。3.3.3 模拟量输出功能模拟量通道异步输出。对应APIresult write_analog(channelvalue)。【数据】类型为number也就是双精度的实浮点数。例021.2-10如下图所示。3.3.4 数字量输出功能数字量通道异步输出。对应APIresult write_digital(channelvalue)。【数据】输出的状态值。3.4 测试3.4.1 合格/失败测试功能当条件成立返回true当条件不成立返回false。对应APIpassed verify(conditionfail_tip)。【测试条件】填写条件。例如ab。【测试失败信息】string 类型条件不成立时的提示信息。3.4.2 数值限度测试功能当【测试数据源】值在范围内的时候返回true值不在范围内时候返回false。对应APIpassed verify(conditionfail_tip)。输入值conditionboolean类型预期结果为true的表达式。fail_tipstring类型断言失败时的提示信息。返回值passedboolean类型断言是否通过。【测试数据源】要判定的变量名称。【测试失败信息】条件失败时的提示信息。输入字符串时需要加上英文引号也可以输入变量名。【结果赋值】就是变量赋值可以进行打印输出或其他操作。3.4.3 多数值限度测试功能判定【多数值】的每个元素的值是否全部在范围内。【测试数据源】要判定的【多数值】的名称。【测试失败信息】string 类型条件失败时的提示信息。3.5 消息对话框对应apiask(‘OK’,option)超时时间单位是ms如填写1000意味着1s后自动确认。为空的时候代表一直等待直到用户提交交互结果。3.6 流程控制3.6.1 If功能if条件判断【条件】填写判定表达式即可。data0data~10data3.83.6.2 If-else功能if-else条件判断支持嵌套使用。3.6.3 While功能条件循环【条件】填写判定表达式即可。data0data~10data3.8