我一直在构建一个测试框架,该框架提供了一个接口来执行(红宝石)测试脚本的集合。
测试脚本通常调用外部脚本(Perl / bat / ruby)以操纵测试系统。例如,重新启动所有后台进程,或从不存在的硬件上启动仿真。
所有这些都运行了好几年。外部脚本通常使用“系统”指令来调用。
现在,我最近建立了一个基于GTK2的UI,以便能够轻松地计划和启动框架中的测试脚本。
我的问题是调用外部脚本的测试脚本阻止了UI,而这些脚本又创建了仍然有效的命令窗口(例如,硬件设备的模拟器)。仅当我手动关闭外部命令窗口时,UI才会继续。
我尝试了很多事情,其中包括: -产生 -popen3 -将线程用于外部脚本 -工艺分离 -系统“开始/ c cmd#{script}” 还有
我现在完全陷入困境,正在寻找新的见解和想法。我没有GUI设计的丰富经验,因此我可能缺少一些基本知识。
我正在使用Ruby 193