首页 > 其他分享 >如何使用 Bittly 进行基于串口的自动化测试

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

时间:2024-09-22 14:23:53浏览次数:11  
标签:步骤 串口 Bittly 任务 测试用例 指令 测试 自动化

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

在这里插入图片描述

安装 Bittly

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

模拟场景

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

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

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

新建测试用例

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

变量使用

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

步骤循环

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

结束

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

标签:步骤,串口,Bittly,任务,测试用例,指令,测试,自动化
From: https://blog.csdn.net/qq_35274961/article/details/142434658

相关文章

  • 电脑串口和手机蓝牙BLE串口数据包通信调试工具
    1,支持HEX收发2,支持文本收发3,支持自定义按钮发送自定义命令和数据包4,支持自定义解析包内任意位置1~4字节转int并显示5,自定义json举例说明[{"name":"1234命令","type":"button","cmd":"1234","data":"01020304"},{"name":"1......
  • 数据飞轮实现游戏行业市场主导:自动化营销的新典范
    在现代的数据驱动时代,游戏行业特别依赖于数据分析和数据驱动的决策制定。从数据仓库出发,经过数据中台的发展,最终到达了数据飞轮模式。这一系列的进步显著提高了游戏公司在市场竞争中的敏捷性和效率。本文将深入探讨这一转变如何在游戏行业中实现自动化营销、提供全景客户视图,并有效......
  • 软件测试笔记|web自动化测试|Web 自动化测试中,闭环有哪些?闭环的目的是什么?
    在Web自动化测试中,常见的闭环有以下几种:一、业务流程闭环例如,对于一个电商网站的购物流程,可以包括以下闭环:1.用户登录->商品搜索->添加商品到购物车->结算->支付->订单确认。2.用户注册->完善个人信息->浏览商品->下单->查看订单状态。二、数据操作......
  • 软件测试笔记|web自动化测试|自动化测试中,模块封装有哪些?封装的目的是什么?
    在自动化测试中,常见的模块封装有以下几种:一、页面元素定位封装将页面上的各种元素定位方式(如通过ID、Name、XPath、CSS选择器等)进行封装,形成统一的元素定位方法。例如,可以创建一个函数,传入定位方式和定位表达式,返回定位到的元素对象。二、操作封装1.把对页面元素的常见......
  • 软件测试笔记|web自动化测试|Selenium 提供了哪些断言?
    Selenium主要通过与测试框架(如TestNG、JUnit等)结合使用来实现断言,本身并没有内置断言方法。以下是一些常用的结合测试框架实现的断言:一、TestNG框架中的断言:1.assertEquals(expected,actual):比较两个值是否相等。例如:importorg.testng.Assert;publicclassTestSel......
  • 职业技能大赛-自动化测试笔记分享-2
    一、时间等待处理1、强制等待(无条件等待)使用方法:time.sleep(delay)        delay的单位为秒,delay设置多少秒页面就会等待多长时间,容易让线程挂掉,使程序抛异常,所以要慎用此方法。#导入强制等待模块importtimefromseleniumimportwebdriverwd=webdriver.Ch......
  • Java后端中的持续交付:如何构建从开发到上线的自动化流程
    Java后端中的持续交付:如何构建从开发到上线的自动化流程大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代软件开发中,持续交付(ContinuousDelivery)是实现快速、高效发布的重要方法。它使得软件的发布过程变得更加自动化、可重复和可靠。本文将探讨......
  • D13【python接口自动化学习】-python基础之内置数据类型
    day13集合学习日期:20240920学习目标:内置数据类型--22常见常新:集合的常见操作学习笔记:集合与set对象创建set对象set对象的常用操作#使用set对象对元组去重color=('r','g','b','g','b','b')#创建元组new_color=set(color)#转换set对象去重print(new_color)#......
  • D14【python接口自动化学习】-python基础之内置数据类型
    day14字典的定义学习日期:20240921学习目标:内置数据类型--23字典:如何处理映射类型的数据?学习笔记:映射与字典字典的定义字典的删除总结字典用于存储键值对,键值对之间有关联字典键要求可哈希,一般采用字符串,元组做字典的键值可以使用dic()函数、推导式和花括号{}三......
  • docker阶段03 docker容器内hosts文件, DNS, 查docker空间占用, 部署自动化运维平台spu
    容器内部的hosts文件容器会自动将容器的ID加入自已的/etc/hosts文件中,并解析成容器的IP范例:修改容器的hosts文件[root@ubuntu1804~]#dockerrun-it--rm--add-hostwww.wangxiaochun.com:6.6.6.6--add-hostwww.wang.org:8.8.8.8busybox/#cat/etc/hosts127.0.0......