CN115373918A - VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法 - Google Patents

VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法 Download PDF

Info

Publication number
CN115373918A
CN115373918A CN202211019825.9A CN202211019825A CN115373918A CN 115373918 A CN115373918 A CN 115373918A CN 202211019825 A CN202211019825 A CN 202211019825A CN 115373918 A CN115373918 A CN 115373918A
Authority
CN
China
Prior art keywords
operating system
keyboard
tested
mouse
interface program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211019825.9A
Other languages
English (en)
Inventor
赵继伟
李家彦
史话
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202211019825.9A priority Critical patent/CN115373918A/zh
Publication of CN115373918A publication Critical patent/CN115373918A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法,属于嵌入式软件的开发与测试技术领域。本发明的方法通过分析VxWorks操作系统下,被测Qt界面程序与Windml接口关于键鼠交互的基本原理,构建一个VxWorks操作系统中可以依附于被测Qt界面程序的可下载内核模块;同时,利用VxWorks操作系统内建的调试功能,在不破坏原本被测Qt界面程序完整性的情况下,将可下载内核模块挂载到被测Qt界面程序的运行环境中;并设计一个运行于上位机的模块,控制运行于被测设备上模拟键鼠操作的可下载内核模块,从而实现了通过以太网对运行于VxWorks操作系统下,基于Windml接口的Qt界面程序的键鼠交互进行自动化测试。

Description

VxWorks操作系统下基于Windml的界面程序的键鼠交互自动 测试方法
技术领域
本发明属于嵌入式软件的开发与测试技术领域,具体涉及一种VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法。
背景技术
VxWorks操作系统是高实时性需求下的常见的嵌入式操作系统。尽管VxWorks 7操作系统已经推出,但是目前VxWorks 6系列的操作系统依旧有很多应用,6.9版本依旧是风河公司(VxWorks操作系统的开发公司)保持更新与维护的版本。
在VxWorks 6系列操作系统下,开发者一般采用基于Windml技术的图形框架来开发界面程序。Windml全称为WindRiver Media Library,意为风河媒体库,其为2D图形界面提供了一套软件接口,以供上层图形框架使用。在众多图形框架中,Qt是一种在VxWorks系统广泛使用的图形框架。其可以让开发者在Windml接口之上,方便的开发出界面程序。
尽管现在基于触屏的界面程序的交互方式较为流行,但是其一很多交互场景依旧采用键盘鼠标的方式更加方便,其二很多触屏模式的软件底层接口依旧采用的是鼠标点击,因此对于键鼠交互方式的自动化测试方法依旧是代替人工操作测试的重要技术。
很多采用键鼠交互方式的设备,其键盘鼠标和设备本身是一体的,这在嵌入式场景中较为常见,而且受限于成本考虑往往不会引出额外的键盘鼠标接口。而这样的设备一般都会通过以太网的方式与外界通信。因此,设计一种通过以太网对运行于VxWorks操作系统下,基于Windml接口的Qt界面程序的键鼠交互进行自动化测试的方法,是十分有意义的。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种通过以太网对运行于VxWorks操作系统下,基于Windml接口的Qt界面程序的键鼠交互进行自动化测试的方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法,该方法通过上位机和被测设备实现,上位机与被测设备通过以太网连接;被测设备上运行VxWorks操作系统,被测Qt界面程序基于Windml接口,运行于VxWork操作系统中;
该方法中,构建一个VxWorks操作系统中可以依附于被测Qt界面程序的可下载内核模块,用于接收来自上位机的通过以太网发送的指令,插入键鼠测试信息,形成键盘鼠标模拟指令;同时,利用VxWorks操作系统内建的调试功能,将所述可下载内核模块挂载到被测Qt界面程序的运行环境中;最终,再实现一个运行于上位机的控制模块,用于控制运行于被测设备上模拟键鼠操作的所述可下载内核模块。
优选地,在被测设备中,将来自以太网的键盘鼠标模拟指令,转换成键盘和鼠标消息队列所能够识别的格式,分别发送到键盘和鼠标消息队列中,使得能够在不改变Qt界面程序的情况下,键盘鼠标模拟指令通过键盘和鼠标消息队列驱动Qt界面程序。
优选地,所述可下载内核模块能够与上位机通过以太网通信,且能够采用校验网络信息,对上位机的指令的执行成功与否进行反馈。
优选地,利用VxWorks操作系统内建的调试功能,将所述可下载内核模块挂载到被测Qt界面程序的运行环境中,具体是利用VxWorks操作系统的Workbench集成开发环境,通过以太网,将所述可下载内核模块动态地挂载到被测设备运行的VxWorks操作系统中,从而实现所述可下载内核模块在被测设备中的动态加载。
优选地,所述控制模块,用于接收更上层的测试软件的指令,从而控制运行于被测设备上模拟键鼠操作的所述可下载内核模块。
优选地,所述控制模块采用动态链接库的形式,实现了一套通过以太网控制被测设备的键盘鼠标模拟指令的软件接口,以供更上层的测试软件调用。
优选地,所述控制模块还能够实现连接确认、回令校验、错误反馈功能。
优选地,所述VxWorks操作系统为VxWorks 6操作系统或VxWorks 7操作系统。
本发明还提供了一种用于实现所述方法的自动化测试系统。
本发明还提供了一种所述方法在嵌入式软件的开发与测试技术领域中的应用。
(三)有益效果
本发明的方法通过分析VxWorks操作系统下,被测Qt界面程序与Windml接口关于键鼠交互的基本原理,构建一个VxWorks操作系统中可以依附于被测Qt界面程序的可下载内核模块;同时,利用VxWorks操作系统内建的调试功能,在不破坏原本被测Qt界面程序完整性的情况下,将可下载内核模块挂载到被测Qt界面程序的运行环境中;并设计一个运行于上位机的模块,控制运行于被测设备上模拟键鼠操作的可下载内核模块,从而实现了通过以太网对运行于VxWorks操作系统下,基于Windml接口的Qt界面程序的键鼠交互进行自动化测试。
附图说明
图1为本发明实施例提供的嵌入式软件开发涉及的软硬件关系示意图;
图2为本发明实施例提供的基于Windml接口的Qt界面程序的键鼠操作原理图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供的一种通过以太网的VxWorks操作系统下基于Windml的Qt界面程序的键鼠交互自动化测试方法,涉及VxWorks操作系统下的界面程序的自动化测试技术。如图1所示,基于VxWorks操作系统的嵌入式软件开发一般通过上位机和被测设备实现。在本发明中,上位机与被测设备通过以太网连接;被测设备上运行VxWorks操作系统,被测Qt界面程序基于Windml接口,运行于VxWork操作系统中。
本发明的方法通过分析VxWorks操作系统下,被测Qt界面程序与Windml接口关于键鼠交互的基本原理,选择合理的位点,构建一个VxWorks操作系统中可以依附于被测Qt界面程序的可下载内核模块(Downloadable Kernel Module),用于接收来自上位机的通过以太网发送的指令,插入键鼠测试信息,形成键盘鼠标模拟指令;同时,利用VxWorks操作系统内建的调试功能,在不破坏原本被测Qt界面程序完整性的情况下,将所述可下载内核模块挂载到被测Qt界面程序的运行环境中;最终,再实现一个运行于上位机的软件模块,用于接收更上层的测试软件的指令,控制运行于被测设备上模拟键鼠操作的所述可下载内核模块。
如图2所示,键盘、鼠标硬件产生的信号,通过驱动程序,发送到VxWorks操作系统的Windml中,Windml再将这些信号重新包装,发送到键盘和鼠标的消息队列中,Qt界面程序周期性地访问并获取键盘和鼠标消息队列中的消息,继而作为键盘和鼠标的事件,驱动Qt界面程序的动作。
在这样的键鼠基本原理下,最合理且不影响原本Qt界面程序完整性的方法,就是将来自以太网的键盘鼠标模拟指令,转换成键盘和鼠标消息队列所能够识别的格式,分别发送到键盘和鼠标消息队列中。这样做,可以在不改变Qt界面程序的情况下,键盘鼠标模拟指令可以和真实指令一样,通过键盘和鼠标消息队列驱动Qt界面程序。
在实现以上功能的前提下,依附于被测Qt界面程序的可下载内核模块还需要实现与上位机通过以太网的通信,包括采用校验网络信息,对上位机的指令的执行成功与否的反馈等功能。
VxWorks操作系统一般采用风河公司配套的Workbench集成开发环境,来进行软件开发。Workbench内建有可以通过以太网,将可下载内核模块动态地挂载到被测设备运行的VxWorks操作系统中的功能。借于此,实现了动态的将上文中描述的可下载内核模块,在被测设备中的动态加载。
在上位机上,本发明实现的软件模块采用动态链接库的形式,实现了一套通过以太网控制被测设备的键盘鼠标模拟指令的软件接口,以供更上层的测试软件调用。这个运行于上位机的软件模块,需要实现连接确认、回令校验、错误反馈等功能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法,其特征在于,该方法通过上位机和被测设备实现,上位机与被测设备通过以太网连接;被测设备上运行VxWorks操作系统,被测Qt界面程序基于Windml接口,运行于VxWork操作系统中;
该方法中,构建一个VxWorks操作系统中可以依附于被测Qt界面程序的可下载内核模块,用于接收来自上位机的通过以太网发送的指令,插入键鼠测试信息,形成键盘鼠标模拟指令;同时,利用VxWorks操作系统内建的调试功能,将所述可下载内核模块挂载到被测Qt界面程序的运行环境中;最终,再实现一个运行于上位机的控制模块,用于控制运行于被测设备上模拟键鼠操作的所述可下载内核模块。
2.如权利要求1所述的方法,其特征在于,在被测设备中,将来自以太网的键盘鼠标模拟指令,转换成键盘和鼠标消息队列所能够识别的格式,分别发送到键盘和鼠标消息队列中,使得能够在不改变Qt界面程序的情况下,键盘鼠标模拟指令通过键盘和鼠标消息队列驱动Qt界面程序。
3.如权利要求1所述的方法,其特征在于,所述可下载内核模块能够与上位机通过以太网通信,且能够采用校验网络信息,对上位机的指令的执行成功与否进行反馈。
4.如权利要求1所述的方法,其特征在于,利用VxWorks操作系统内建的调试功能,将所述可下载内核模块挂载到被测Qt界面程序的运行环境中,具体是利用VxWorks操作系统的Workbench集成开发环境,通过以太网,将所述可下载内核模块动态地挂载到被测设备运行的VxWorks操作系统中,从而实现所述可下载内核模块在被测设备中的动态加载。
5.如权利要求1所述的方法,其特征在于,所述控制模块,用于接收更上层的测试软件的指令,从而控制运行于被测设备上模拟键鼠操作的所述可下载内核模块。
6.如权利要求5所述的方法,其特征在于,所述控制模块采用动态链接库的形式,实现了一套通过以太网控制被测设备的键盘鼠标模拟指令的软件接口,以供更上层的测试软件调用。
7.如权利要求6所述的方法,其特征在于,所述控制模块还能够实现连接确认、回令校验、错误反馈功能。
8.如权利要求1所述的方法,其特征在于,所述VxWorks操作系统为VxWorks 6操作系统或VxWorks 7操作系统。
9.一种用于实现如权利要求1至8中任一项所述方法的自动化测试系统。
10.一种如权利要求1至8中任一项所述方法在嵌入式软件的开发与测试技术领域中的应用。
CN202211019825.9A 2022-08-24 2022-08-24 VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法 Pending CN115373918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211019825.9A CN115373918A (zh) 2022-08-24 2022-08-24 VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211019825.9A CN115373918A (zh) 2022-08-24 2022-08-24 VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法

Publications (1)

Publication Number Publication Date
CN115373918A true CN115373918A (zh) 2022-11-22

Family

ID=84067051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211019825.9A Pending CN115373918A (zh) 2022-08-24 2022-08-24 VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法

Country Status (1)

Country Link
CN (1) CN115373918A (zh)

Similar Documents

Publication Publication Date Title
CN110909460B (zh) 车联网v2x仿真测试方法、装置、设备和存储介质
US5600579A (en) Hardware simulation and design verification system and method
US6188975B1 (en) Programmatic use of software debugging to redirect hardware related operations to a hardware simulator
US7127641B1 (en) System and method for software testing with extensible markup language and extensible stylesheet language
KR20110134582A (ko) 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법
CN111651366A (zh) Sdk测试方法、装置、设备及存储介质
CN108460199B (zh) Cni建模系统
CN111459506B (zh) 深度学习平台集群的部署方法、装置、介质及电子设备
US7380168B2 (en) System development tool
US11958511B2 (en) Train signal system and linkage method therefor
CN101706750A (zh) 一种基于嵌入式模拟器的测试桩获取方法
CN111367579B (zh) 一种基于v-rep插件的处理器在环仿真方法
CN111488275B (zh) Ui自动化测试方法、装置、存储介质及电子设备
CN113626317A (zh) 一种自动驾驶软件调测系统、方法、介质和设备
US20030106042A1 (en) System and method for animating state diagram through debug connection
CN117370093B (zh) 一种芯片调试方法、装置、设备及存储介质
CN103425055A (zh) 一种半虚拟式的控制系统功能测试装置及方法
CN114661614B (zh) 面向云环境的fpga硬件设计能力评测系统和方法
CN115373918A (zh) VxWorks操作系统下基于Windml的界面程序的键鼠交互自动测试方法
CN112231165B (zh) 基于链接库注入和内存映射方式的内存故障模拟方法
CN114925516A (zh) 一种自动建模并仿真的方法和装置
KR102371701B1 (ko) 인공지능 장치의 소프트웨어 디버깅 방법 및 장치
CN111338761B (zh) 一种51单片机虚拟中断控制器及实现方法
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
Ziegler et al. An Ada based real-time closed-loop integration and regression test tool

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination