Qt作为跨平台应用框架,是开发大型桌面应用的理想选择,它能够在Windows及各种Linux平台上运行,但是它的自动化测试一直是一个挑战,尤其是在存在着多种类型操作系统的国产化平台。如果要通过手工测试,重复的测试次数很多,也很难达到理想的平台覆盖率。而通过ETest与Qt的相互调用,这个挑战已经成为历史。
,时长28:04
▲ Qt与ETest的调用机制演示视频

Qt → ETest

在Qt中利用python的SDK(软件开发包工具)来实现调用ETest。
-
et_runner:执行器相关操作:初始化下位机、发送命令、关闭下位机;
-
et_netvar:系统网络变量:打开、关闭下位机网络变量监听;
-
et_db:数据库管理服务:增删改查;
-
et_state:系统状态:执行器状态、下位机报错信息。

▲python SDK

▲ 代码实现逻辑

ETest → Qt

1、在ETest平台上添加网格变量,修改脚本
1)可被赋值修改
set_value("$.data", data)
2)值被修改后发出信息
et_netvar. openVars(run_key)

▲ ETest:网格变量
2、在Qt上关联信号与槽,编写槽函数
1)信号
在特定情况下被发射的事件。
定义:sig =pyqtSignal(object)
发射:sig.emit(data)
2)槽
对信号响应的函数。
信号与槽的关联:sig.connect(slot)

文章介绍了如何通过集成ETest与Qt进行自动化测试,特别是在面对多种操作系统环境的国产化平台时,利用PythonSDK在Qt中调用ETest,实现对下位机的控制,包括执行器操作、网络变量管理和数据库交互。同时,ETest通过设置网格变量和脚本,与Qt的信号槽机制结合,确保了在Qt应用中的数据同步和响应。
337

被折叠的 条评论
为什么被折叠?



