探索 Tsetstand 自定义界面的奇妙世界

Tsetstand自定义界面,只需要把测试序列放在根目录下,最大支持6个UUT并行测试(可编辑指定)。 除了测试参数需要自己做并生成exe,界面其它功能都可以通过简单修改文本实现快速运行。 1.UUT图片可以指定路径 2.测试序列放到指定目录文件自动加载 3.每个Scoket都有独立的暂停,继续,终止等控制按钮 3.每个Scoket都有独立的报表显示 4.执行视图采用TS的Execution View 控件,相比较第一版的LV表格控件,它能实时显示被嵌套调用的序列执行状态。 5.界面自由增加删除用户信息 本软件依赖于teststand2019 x86 runtime

最近在研究 Tsetstand 的自定义界面,真的发现了不少有趣的地方,今天就来和大家分享分享。

一、整体架构与基本设置

Tsetstand 的这个自定义界面,设计思路非常清晰,使用起来也很方便。它只需要把测试序列放在根目录下,就能够轻松识别并运行。而且,它在并行测试方面表现出色,最大支持 6 个 UUT 并行测试,并且这个数量还可以通过编辑指定哦。

二、关键功能与实现细节

(一)测试参数与执行文件

这里需要注意的是,测试参数得自己制作并生成 exe。不过好在,除了这个,界面其它功能实现起来就轻松多啦,通过简单修改文本就能快速运行。

(二)UUT 图片路径指定

对于 UUT 图片,我们可以自由指定路径。比如说,在代码实现上,可能会有类似这样的设置:

python 复制代码
# 假设这里是配置 UUT 图片路径的代码片段
uut_image_path = "C:/test_images/uut1.png"
# 这里将路径赋值给相应的配置变量,在后续界面加载图片时就会从这个路径获取

这样,当界面需要展示 UUT 图片时,就会从我们指定的路径去寻找,方便对不同 UUT 的图片进行管理。

(三)测试序列自动加载

把测试序列放到指定目录,文件就会自动加载。这背后的实现逻辑可能类似于下面这样(以 Python 示例):

python 复制代码
import os

test_sequence_dir = "C:/test_sequences"
for root, dirs, files in os.walk(test_sequence_dir):
    for file in files:
        if file.endswith(".seq"):  # 假设测试序列文件后缀是.seq
            sequence_path = os.path.join(root, file)
            # 这里可能会调用相应的函数将序列加载到测试环境中
            load_sequence(sequence_path) 

这段代码通过遍历指定目录,找到所有符合后缀要求的测试序列文件,然后调用加载函数进行加载,实现了自动加载的功能。

(四)Socket 相关功能

  1. 独立控制按钮:每个 Socket 都有独立的暂停,继续,终止等控制按钮。这在实际操作中非常实用,比如在测试过程中,某个 Socket 的测试出现问题,我们可以单独暂停它,而不影响其他 Socket 的测试。在代码层面,可能是这样实现按钮的功能绑定:
python 复制代码
import tkinter as tk

def pause_socket(socket_id):
    # 这里添加暂停指定 socket_id 对应的测试的逻辑
    print(f"Socket {socket_id} 已暂停")

def resume_socket(socket_id):
    # 这里添加继续指定 socket_id 对应的测试的逻辑
    print(f"Socket {socket_id} 已继续")

def terminate_socket(socket_id):
    # 这里添加终止指定 socket_id 对应的测试的逻辑
    print(f"Socket {socket_id} 已终止")

# 创建按钮示例
root = tk.Tk()
socket_id = 1
pause_button = tk.Button(root, text="暂停", command=lambda: pause_socket(socket_id))
pause_button.pack()
resume_button = tk.Button(root, text="继续", command=lambda: resume_socket(socket_id))
resume_button.pack()
terminate_button = tk.Button(root, text="终止", command=lambda: terminate_socket(socket_id))
terminate_button.pack()
root.mainloop()

这段简单的 Tkinter 代码展示了如何创建与 Socket 操作对应的按钮,并绑定相应的功能。

  1. 独立报表显示:每个 Socket 还有独立的报表显示,这样可以针对每个 Socket 的测试情况进行详细分析。实现报表显示的方式可能多种多样,比如使用一些报表生成库,像 ReportLab 等,这里简单说下思路,可能会先收集每个 Socket 的测试数据,然后根据这些数据生成报表。

(五)执行视图升级

执行视图采用了 TS 的 Execution View 控件,相比于第一版的 LV 表格控件,它能实时显示被嵌套调用的序列执行状态。这对于跟踪复杂测试序列的执行情况非常有帮助,能让我们及时发现问题出在哪个环节。

(六)用户信息管理

界面还支持自由增加删除用户信息。以 Python 的字典数据结构为例,来模拟用户信息的管理:

python 复制代码
user_info = {}

def add_user(name, info):
    user_info[name] = info
    print(f"{name} 用户信息已添加")

def delete_user(name):
    if name in user_info:
        del user_info[name]
        print(f"{name} 用户信息已删除")
    else:
        print(f"{name} 用户不存在")

add_user("张三", "测试人员")
delete_user("张三")

这段代码展示了如何简单地实现用户信息的添加和删除操作,在实际界面中,可能会结合数据库或者文件存储来持久化这些用户信息。

三、软件依赖

最后要提的是,本软件依赖于 teststand2019 x86 runtime,所以在部署和运行这个自定义界面的时候,一定要确保系统中安装了相应的运行时环境,否则可能会出现各种意想不到的问题哦。

总的来说,Tsetstand 的这个自定义界面功能丰富且实用,通过合理利用这些功能和理解其背后的实现逻辑,我们能够更高效地进行测试工作。希望今天的分享对大家有所帮助呀!

相关推荐
知行EDI9 小时前
医药EDI:Cencora EDI 需求分析及解决方案
edi·需求分析·知行之桥·知行软件
workflower9 小时前
软件需求变更
嵌入式硬件·压力测试·团队开发·需求分析·规格说明书
哥谭居民00011 天前
需求分析,领域划分到选择套用业务模式到转化落地,两个基本案例
java·大数据·需求分析
黑客思维者1 天前
智能配电能源管理系统的融合安全架构设计与需求解析
安全·能源·需求分析
哥谭居民00011 天前
通用业务领域模式,和通用系统设计模式
ai·需求分析·通用·prd·业务领域模式·系统设计模式
知行EDI2 天前
驱动供应链升级:HARMAN EDI对接需求全景分析与实施规划
edi·需求分析·知行之桥·harman
咨询QQ688238863 天前
数字IC新手项目:40nm SNN加速器的奇妙之旅
需求分析
帅次4 天前
系统分析师:系统规划与分析的业务流程分析、业务流程图、数据与数据流程分析和系统方案建议
流程图·软件工程·软件构建·需求分析·敏捷流程·设计规范·规格说明书
workflower5 天前
典型用户的价值
压力测试·团队开发·需求分析·个人开发·结对编程