本发明涉及hid设备模拟技术领域,具体为一种hid人机交互场景用例通用自动化测试设备。
背景技术:
传统的ipkvm(keyboardvideomouseoverip)技术需要在主板bios(basicinputoutputsystem)及ipmi(intelligentplatformmanagementinterface)的支持下,在局域网内,通过应用软件模拟键盘、鼠标事件,对待测设备进行测试、操作。
现有技术方案的缺点如下:
1、一套测试方案只能在指定的平台上运行:当待测设备或者待测软件需要切换平台运行时,则现有的键鼠模拟自动化测试软件无法兼容。
2、需要在待测设备上运行:
现有的键鼠模拟自动化测试软件需要在待测设备上安装并执行,不能远端控制。
3、只支持脚本回放,不能进行数据校验:
现有的键鼠模拟自动化测试软件只能进行脚本录制和脚本回放操作,至于脚本执行的结果则需要人工判断。
针对以上缺陷,本发明的目的,旨在提供一种“跨平台的、无设备依赖的、支持数据校验的”hid人机交互场景用例通用自动化测试技术方案。可广泛应用于人机交互测试、自动化测试等领域。
技术实现要素:
本发明的目的在于提供一种hid人机交互场景用例通用自动化测试设备,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种hid人机交互场景用例通用自动化测试设备,包括:
录制工具,安装在待测设备上,用于捕获鼠标坐标,鼠标点击,键盘输入事件,生成python脚本;
测试控制模块,用于接收录制工具录制生成的python脚本按照测试条件控制usb键鼠模拟设备,执行测试项;
usb键鼠模拟设备,用于接收测试控制模块发送过来的键盘、鼠标的操作数据,转换后发送到待测设备,实现回放键盘、鼠标操作;以及
所述测试控制模块在每项测试操作结束后,访问待测设备服务端的数据库,校验对应数据值,输出测试结果。
优选的,所述测试控制模块先同待测设备的数据库建立连接,再同usb键鼠模拟设备建立连接,然后将键盘、鼠标的数据以json串的格式通过http协议发给usb键鼠模拟设备,usb键鼠模拟设备收到数据包之后开始执行,等待执行完成后,查询数据库对应表值,通过与预期值是否一致输出测试结果。
优选的,所述usb键鼠模拟设备包括网卡以及usb芯片,其中所述usb芯片通过网卡与交换机网络通信连接,所述usb芯片通过otg转换线与待测设备连接。
优选的,所述测试设备还包括交换机,用于所述测试控制模块分别与usb键鼠模拟设备、待测设备之间的数据包交换及数据转发。
优选的,所述录制工具包括但不限于hidrecorder,所述待测设备包括但不限于windows系统或ubuntu系统。
与现有技术相比,本发明的有益效果是:
1、不依赖于指定平台,可覆盖windows,linux以及各种浏览器等运行平台;
2、待测设备只需要接入专用设备,无需安装额外的软件;
3、支持远端键盘鼠标仿真;
4、支持同数据库通信,验证数据,自动输出测试结果。
附图说明
图1为本发明整体架构结构示意图;
图2为本发明usb键鼠模拟设备架构及与交换机和待测设备通信原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图1至图2,本发明提供一种技术方案:
一种hid人机交互场景用例通用自动化测试设备,包括:
录制工具,安装在待测设备上,用于捕获鼠标坐标,鼠标点击,键盘输入事件,生成python脚本;
测试控制模块,用于接收录制工具录制生成的python脚本按照测试条件控制usb键鼠模拟设备,执行测试项;
usb键鼠模拟设备,用于接收测试控制模块发送过来的键盘、鼠标的操作数据,转换后发送到待测设备,实现回放键盘、鼠标操作;
所述测试控制模块在每项测试操作结束后,访问待测设备服务端的数据库,校验对应数据值,输出测试结果。
下面结合具体实施例进行进一步说明:
各模块详细说明如下:
1、hidrecorder(hid记录器)
录制工具,安装在待测设备上(windows系统或ubuntu系统),该工具运行后,可以捕获鼠标坐标,鼠标点击,键盘输入事件,生成python脚本。
2、专用设备(即usb键鼠模拟设备)
usb键鼠模拟设备,启动后,可以接收测试控制程序(即测试控制模块)发送过来的键盘、鼠标的操作数据,经过otg线缆发送到待测设备,实现回放键盘、鼠标操作。
3、测试控制程序
1)将hidrecorder录制生成的python脚本按照测试条件修改后上传至测试控制程序,测试控制程序通过网络控制专用设备,执行这些测试项。
2)每项测试操作结束后,测试控制程序会通过网络访问待测设备服务端的数据库,校验对应数据值,输出测试结果。
所述试控制程序(即测试控制模块)工作流程具体为:
1.测试控制程序启动后,先同待测设备的数据库建立连接,再同专用设备建立连接;
2.然后将键盘鼠标的数据以json串的格式通过http协议发给专用设备;
3.专用设备收到数据包之后开始执行;
4.等待执行完成;
5.然后测试控制程序查询数据库对应表值,通过与预期值是否一致输出测试结果。
本发明,通过usb键鼠模拟设备,采用了专用设备usb外设模拟技术,解除了对bios及ipmi的依赖。同时支持键盘、鼠标功能的单个复合usb设备模拟技术。
本发明:
1、使用专用设备模拟usb键鼠,解除平台依赖性
基于一款专用的嵌入式设备,通过otg线缆连接到待测设备(目标计算机),以硬件的方式模拟usb键鼠。
2、键鼠事件生成python脚本技术,支持hid人机交互灵活定制
通过pythonpynput控制和监控输入设备,从而将键盘鼠标事件录制为python脚本。
3、数据库校验技术
使用pythonsqlalchemy访问数据库,校验数据值,输出测试结果。
传统的键鼠模拟自动化测试技术是在待测设备上安装一款软件,通过软件录制键鼠操作脚本再执行回放操作。这种传统的方案,存在如下技术问题:
1、只支持指定平台,例如操作系统要求是windows,浏览器要求是chrome等;
2、需要在待测设备上安装软件;
3、只能在待测设备上运行,不能远端控制;
4、只支持脚本回放,不能进行数据校验;
本发明解决的技术问题如下:
1、不依赖于指定平台,可覆盖windows,linux以及各种浏览器等运行平台;
2、待测设备只需要接入专用设备,无需安装额外的软件;
3、支持远端键盘鼠标仿真;
4、支持同数据库通信,验证数据,自动输出测试结果。
本发明实现了:
1、不依赖于指定平台,可在windows,linux以及各种浏览器等运行平台进行人机交互自动化测试;
2、待测设备只需要接入专用设备,无需安装额外的软件,最大程度地还原了人机交互测试场景且不受其他因素干扰;
3、支持远端键盘鼠标仿真,只要保证网络互连,可以随时随地进行测试,大大节约了测试的人力和资源;
4、支持同数据库通信,验证数据,自动输出测试结果,有效提升测试效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。