如何使用 Bittly 进行基于串口的自动化测试

串口通信是一种常见的通信方式,广泛用于嵌入式设备、传感器及其他硬件设备的数据交互与控制。通过串口通信,我们能够实时监控设备状态、发送指令并接收反馈。在自动化测试场景中,Bittly 提供了一套灵活高效的工具,能够快速创建和管理自动化测试任务,简化复杂的测试流程。同时,Bittly 的使用有助于提升系统的稳定性与可用性,减少人为干预带来的误差。本文将详细介绍如何使用 Bittly 进行基于串口的自动化测试,实现高效的设备通信与验证。

安装 Bittly

在开始之前, 您需要安装 Bittly 的最新版本,您可在 Bittly 官网 中下载并安装适合您系统的安装包。

模拟场景

假设我们的设备是一台检测设备, 需要执行的操作如下:

  1. 设备初始化
  2. 添加样本任务
  3. 执行样本检测任务
  4. 获取样本检测结果
  5. 推出样本

并且以上操作已经封装成指令,可通过串口进行使用, 我们先根据上述步骤来建立一个最基础的测试用例。

新建测试用例

在 Bittly 中, 将多个指令组合进行测试需要使用 功能测试 模块, 与 动作流程 模块不同的是,功能测试模块不支持手动交互, 即所有的输入项都是在测试开始前确定的或者由其他方式生成的,以此来保证每次测试结果的一致性。

要创建新的测试用例,首先切换到测试模块,然后在功能测试顶部的工具栏中点击新建按钮,即可打开一个新的标签页用于编辑测试用例。

测试用例由多个测试步骤组成,每个测试步骤用于执行一个特定的任务,例如执行指令,执行自定义脚本或者对变量赋值,又或者对变量进行验证等操作, 通过将步骤的组合来完成测试用例的编辑。

首先,我们以 设备初始化 指令为例, 在右侧指令列表中选中 设备初始化 指令,然后将其拖拽到左侧测试用例中, 例如:

将指令拖拽到测试用例后,默认采用的指令当前配置的请求参数进行发送。 但我们还需要对指令响应内容进行验证, 例如指令响应内容是否正确, 状态码是否正确等, 例如:

同样,我们将剩余步骤依照上述方式进行配置,完成后的配置如下:

当指令配置完成后, 切换到运行模式即可运行改测试用例, 例如:

如果在测试用例执行过程中某一个步骤出现错误,例如指令响应验证失败, 则测试步骤将会停止执行不再继续, 例如:

变量使用

当在测试用例中需要使用上一条指令的响应结果或者其他步骤的结果时,可通过变量来临时进行数据存储。

例如,在上述场景中,新的测试任务检测任务添加后, 会返回测试任务ID, 我们需要在获取测试结果时根据这个任务ID来拿到结果。 那么, 在添加任务的步骤中,我们需要将响应的任务ID解析到变量中以供后续使用, 在此之前我们需要先建立一个变量, 例如:

接着将指令的响应任务ID解析到刚才新建的变量中:

最后,我们在获取任务时, 将任务ID改为变量引用, 例如:

这样我们在每次测试的时候便可以动态的根据任务ID来获取相应的任务结果。 我们切换到运行模式, 再次执行该测试用例,例如:

步骤循环

如果需要在测试用例中重复执行某些步骤,可通过循环步骤执行, 例如计数循环,条件循环或者变量循环等。 以上述场景为例, 在检测任务提交后,我们需要等待一段时间之后方可进行后续的获取检测结果操作, 如果固定一个等待时间的话, 过长则浪费时间, 过短则检测任务未完成无法获取结果, 所以这里我们可以采用循环的方式来等待,当获取到任务完成后,立即跳出循环。

首先,我们先创建一个变量用于存储任务是否完成, 名称为 任务状态 。 例如:

接着我们添加一个 条件循环 步骤,并且条件为任务状态等于0时一直循环, 例如:

现在切换到运行模式测试一下:

结束

通过以上步骤,我们使用 Bittly 创建了一个完整的基于串口的自动化测试用例。利用 Bittly 的功能测试模块,我们能够灵活组合指令,解析变量,甚至实现复杂的循环控制,确保测试流程的稳定性与可控性。这种自动化方式不仅减少了人工干预,还能够通过动态变量、条件判断等机制提升测试的效率和精确度, 从而实现更全面的设备测试,提升系统的可靠性。

相关推荐
祁白_5 小时前
nmap工具笔记整理
笔记·web安全·测试
嵌入式小企鹅10 小时前
嵌入式面试宝典
学习·面试·嵌入式·嵌入式工程师·高薪offer
星瞳科技OpenMV10 小时前
国家级高新技术企业星瞳科技,定义嵌入式机器视觉行业新标杆
人工智能·嵌入式·图像识别·机器视觉·openmv·星瞳科技·星瞳科技openmv
Hello_Embed11 小时前
【无标题】
网络·笔记·网络协议·tcp/ip·嵌入式
XD74297163612 小时前
001. MSP430G2553 入门总述:从零开始学习这颗单片机
单片机·嵌入式硬件·学习·嵌入式·msp430g2553
CinzWS12 小时前
A53 FPGA原型验证:从RTL到可运行系统的挑战
arm开发·嵌入式·芯片验证·原型验证·a53
Freak嵌入式13 小时前
亲测可用!可本地部署的 MicroPython 开源仿真器
ide·驱动开发·嵌入式·仿真·micropython·upypi
嵌入式小企鹅17 小时前
CPU供需趋紧、DeepSeek V4全链适配、小米开源万亿模型
人工智能·学习·开源·嵌入式·小米·算力·昇腾
FreakStudio1 天前
亲测可用!可本地部署的 MicroPython 开源仿真器
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
飞凌嵌入式1 天前
保姆级教程 | i.MX 93开发板适配Zephyr RTOS全解析
科技·嵌入式