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

相关推荐
云捷配低代码1 天前
新零售行业低代码平台应用实践
低代码·自动化·需求分析·零售·数字化·数字化转型
vx_bisheyuange4 天前
【源码免费送】计算机毕设精选项目:基于SpringBoot的汽车租赁系统的设计与实现
spring boot·汽车·毕业设计·需求分析
黄焖鸡能干四碗7 天前
智慧电力解决方案,智慧电厂解决方案,电力运维方案
大数据·人工智能·安全·需求分析
明月看潮生7 天前
编程与数学 03-008 《看潮企业管理软件》项目开发 01 需求分析 3-1
c#·.net·需求分析·erp·企业开发·项目实践·编程与数学
明月看潮生7 天前
编程与数学 03-008 《看潮企业管理软件》项目开发 01 需求分析 3-2
需求分析·erp·企业开发·项目实践·编程与数学·.net开发·c#编程
云捷配低代码8 天前
低代码项目需求分析:与传统开发差异
低代码·自动化·需求分析·数字化·敏捷流程·数字化转型
rolt8 天前
利用AI识别损毁程度是愿景吗《软件方法》第2章
产品经理·需求分析·uml
:mnong9 天前
跟着《软件需求分析和设计实践指南》成长
学习·需求分析·uml·软件需求
YounGp_oo10 天前
使用 AI 编程工具的一点实践体会:为什么要减少对话轮次、一次把需求说清楚
软件工程·需求分析·开发经验·工程实践·ai 编程
workflower11 天前
软件需求规约的质量属性
java·开发语言·数据库·测试用例·需求分析·结对编程