一种自动化测试方法及装置与流程

文档序号:31049976发布日期:2022-08-06 06:42阅读:95来源:国知局
一种自动化测试方法及装置与流程

1.本发明涉及自动化测试技术领域,具体涉及一种自动化测试方法及测试装置。


背景技术:

2.传统的测试工具,只能手动一一进行登录,点击检测选项和扫描设备按钮,等待工作站app(application,应用程序)进行扫描,并人为观察扫描结果是否正确,这种测试方式耗费了大量的时间,并且工作量繁琐,导致操作人员容易肉眼疲劳而产生失误,影响检测准确性。


技术实现要素:

3.有鉴于此,本发明提供了一种自动化测试方法及测试装置,解决了传统的测试工具只能人为操作,耗时大、准确性低的问题。
4.本发明一实施例提供的一种自动化测试方法包括:获取端口设备列表,所述端口设备列表包括所有已连接设备的端口;基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息;扫描所有设备以得到第二设备信息;基于所述第一设备信息和所述第二设备信息进行一致性校验。
5.在一种实施方式中,所述获取端口设备列表,包括:调用操作系统预置的软件开发工具包获取端口列表。
6.在一种实施方式中,所述基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息,包括:向端口设备列表中的第一端口发送配置文件中的第一设备提供的命令提示字符串进行询问;接收所述第一设备返回的第一字符串,将所述第一字符串和配置文件中第一设备的确认字符串进行比对;若所述第一字符串和所述确认字符串匹配,确定所述第一端口对应的第一设备信息;若所述第一字符串和所述确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确认到所述第一端口连接的设备信息或完成所述配置文件中所有设备的询问为止。
7.在一种实施方式中,所述扫描所有设备以得到第二设备信息,包括:将预先生成的测试脚本对应的管理员账号和密码自动输入登录窗口,以登录目标账号;在所述目标账号登录成功的情况下,扫描所有设备以得到第二设备信息。
8.在一种实施方式中,所述扫描所有设备以得到第二设备信息的步骤包括:检验端口是否打开:若端口打开,向所述端口设备列表中的第二端口发送配置文件中第二设备提供的命令提示符字符串进行询问;接收所述第二设备返回的第二字符串,将所述第二字符串和配置文件中所述第二设备的确认字符串进行比对;若所述第二字符串和所述确认字符串匹配,确定所述第二端口对应的第二设备信息;若所述第二字符串和所述确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确定所述第二端口连接的第二设备信息或完成所述配置文件中所有设备的询问为止。
9.在一种实施方式中,所述扫描所有设备以得到第二设备信息的步骤包括:若端口
无法打开,检查所述配置文件,判断所述第二设备是否支持第二连接模式;若所述第二设备支持所述第二连接模式,通过所述第二连接模式连接所述第二设备;接收所述第二设备通过所述第二连接模式发送的所述第二设备信息。
10.在一种实施方式中,所述方法还包括:若在预设时间内未接收到所述第二设备返回的第二字符串,则向第二端口重复发送配置文件中的所述第二设备提供的命令提示符字符串,并等待所述预设时间;若发送预设次数所述第二设备提供的命令提示符字符串后,仍未接收到所述第二设备返回的第二字符串,则所述第二端口的第二设备信息扫描失败。
11.在一种实施方式中,所述方法还包括:接收预设的定时任务发送的启动指令;在接收到所述启动指令的情况下,执行获取端口设备列表的步骤。
12.在一种实施方式中,在获取端口设备列表之前,还包括:启动或禁用部分端口,实现不同设备连接的测试场景。
13.在一种实施方式中,还包括:设计测试场景并编写相应的自动化脚本,对编写的所述自动化脚本进行调试生成测试脚本。
14.在一种实施方式中,所述方法还包括:在完成测试之后,退出至登录窗口,并清除缓存。
15.本发明一实施例提供的自动化测试装置,包括:串口配置调试单元,用于获取端口设备列表,所述端口设备列表包括所有已连接设备的端口;基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息;工作站应用软件操作模拟单元,用于扫描所有设备以得到第二设备信息;校验单元,用于基于所述第一设备信息和所述第二设备信息进行一致性校验。
16.在一种实施方式中,所述串口配置调试单元还用于启用或禁用特定端口,以实现不同设备连接的场景。
17.本发明一实施例提供的一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如上述所述的自动化测试方法。
18.本发明一实施例提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被一个或多个处理器执行时用以实现如上述所述的自动化测试方法。
19.本发明实施例提供的一种自动化测试方法及装置,通过自动调用第一设备信息,自动启动并登陆工作站应用软件,开始自动扫描设备以获得第二设备信息,并将第一设备信息和第二设备信息进行自动校对,从而实现自动化测试。能够节省手动操作时间,减少了手工连接校验测试的人力资源成本和时间成本,并使测试结果的校验更加精准,提高了工作的效率和质量。
附图说明
20.图1所示为本发明一实施例提供的一种自动化测试方法的流程示意图。
21.图2所示为本发明一实施例提供的一种获取第一设备信息的流程示意图。
22.图3所示为本发明一实施例提供的一种获取第二设备信息的流程示意图。
23.图4所示为本发明一实施例提供的一种自动化测试装置的结构示意图。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.本实施例提供一种自动化测试方法,该自动化测试方法基于自动化测试装置实现,如图1所示,该自动化测试方法包括:
26.步骤01:获取端口设备列表,所述端口设备列表包括所有已连接设备的端口。
27.自动化测试装置接收启动指令,通过调用操作系统预置的软件开发工具包(software development kit,sdk)获取端口设备列表;其中,可通过我的电脑-》管理-》设备管理器-》端口查看可用端口列表,所述端口设备列表是所有已连接设备的端口信息。
28.步骤02:基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息。
29.每个设备的厂商都会提供设备对应的设备指令,该设备指令用于确认设备是否连接正常。如图2所示,基于端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息,包括:
30.步骤021:向端口设备列表中的第一端口发送配置文件中的第一设备提供的命令提示字符串进行询问;
31.步骤022:接收第一设备返回的第一字符串,将第一字符串和配置文件中第一设备的确认字符串进行比对;
32.步骤023若第一字符串和所述确认字符串匹配,确定第一端口对应的第一设备信息;
33.步骤024:若第一字符串和确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确认到第一端口连接的设备信息或完成配置文件中所有设备的询问为止。
34.如我们开始遍历端口设备列表中的第一个端口(第一端口),首先发送配置文件中的心电图机(第一设备)提供的命令提示(command,cmd)字符串,第一设备会返回一个字符串(第一字符串),将第一接口连接的设备返回的字符串与心电图机厂商提供的ack确认字符(acknowledge character,ack)串进行比对,如果不一致,则认为该端口连接设备非心电图机;依次取配置文件中的下一个设备血压计进行询问,如果返回指令与血压计厂商提供的一致,则我们确认该端口连接的是血压计设备(第一端口连接的设备)。将第一端口连接血压计的信息记录入第一设备设备信息,可选地,记录格式为:com端口1-血压计-型号,并存储端口对应的设备信息到本地,用于进行校验。
35.步骤03:扫描所有设备以得到第二设备信息。
36.调用工作站应用软件,在登录窗口自动输入预先生成的测试脚本对应的管理员账号和密码,以登录目标账号;在目标账号登录成功的情况下,扫描所有设备以得到第二设备信息,可选地,在目标账号登录成功后自动选择健康检测进入扫描设备页面,点击扫描设备按钮,开始扫描。可选地,预设的登录过程为5分钟。
37.如图3所示,扫描所有设备以得到第二设备信息的步骤包括:
38.步骤031:检验端口是否打开。通过调用操作系统预置的软件开发工具包(software development kit,sdk)获取端口设备列表,之后检验端口是否打开。可选地,通过调用系统的open函数检验端口是否打开。
39.步骤032:若端口打开,向所述端口设备列表中的第二端口发送配置文件中第二设备提供的命令提示符字符串进行询问。
40.如果端口可以正常打开则说明端口未被占用,此时可根据配置文件配置的设备信息给端口发送设备指令,其中设备指令为设备提供的命令提示符字符串。
41.步骤033:接收所述第二设备返回的第二字符串,将所述第二字符串和配置文件中所述第二设备的确认字符串进行比对;
42.若所述第二字符串和所述确认字符串匹配,确定所述第二端口对应的第二设备信息。若返回的第二字符串和配置文件中所述第二设备的确认字符串一致,则确认第二端口对应的第二设备,则所述第二端口的第二设备信息扫描成功。
43.若所述第二字符串和所述确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确定所述第二端口连接的第二设备信息或完成所述配置文件中所有设备的询问为止。
44.步骤034,若端口无法打开,检查配置文件,判断第二设备是否支持第二连接模式;若第二设备支持第二连接模式,通过第二连接模式连接第二设备;接收第二设备通过第二连接模式发送的第二设备信息。可以理解,步骤034并不是步骤033之后的步骤,标号只是一种表示,并不代表执行顺序。
45.当配置文件的信息中如果设备支持两种连接模式,如即既支持串口连接又支持蓝牙连接,此时将通过蓝牙装置连接设备和测试装置。启用蓝牙功能与设备建立蓝牙连接。基于无线通信技术,测试设备接收蓝牙设备广播的报文并进行解析,从解析的报文中获取设备类型和设备型号等设备信息,工作站应用软件发送控制信息对应的蓝牙控制报文来控制蓝牙设备。
46.当工作站应用软件检查端口,调用系统open函数返回异常无法打开时,表明端口处于被占用的状态,可能是其他设备连接断开后未释放端口导致无法通过发送命令来扫描连接设备,此时工作站应用软件检查配置文件以判断设备是否支持第二种连接模式,如果支持第二连接模式也通过第二种连接模式连接设备;如果不支持第二种模式,则此次扫描端口失败,记录失败原因,可选地,记录扫描端口失败原因的方式可为:端口x已处于被占用状态。
47.步骤04:基于所述第一设备信息和所述第二设备信息进行一致性校验。端口列表遍历完毕后获得第一设备信息,将该第一设备信息传递给校验工具;工作站应用程序扫描完端口连接设备后获得第二设备信息,将第一设备信息和第二设备信息发送给校验工具,最后校验工具将第一设备信息和第二设备信息进行一致性校验。
48.按照端口列表一一比对是否一致,例如:端口号是否一致,设备名称字符串是否一致,设备型号字符串是否一致等,基于字符串选是否为全匹配原则,如果属性都匹配成功则认为工作站扫描结果正确,校验一致,校验通过,标记该设备的测试通过。
49.若有至少一项属性校验不一致,则校验不通过,标记该设备测试案的测试未通过。其中属性不一致的情况包括串口号不一致、设备类型不一致、未返回设备型号等场景,任何
一个不一致则认为工作站扫描该设备失败,并记录失败描述,失败描述如设备型号为null。可选地,对于蓝牙连接的设备则只校验设备类型和设备型号,不校验串口号。测试完成后将测试结果列表形成测试报告发送给相关测试开发人员。
50.在本发明一实施例中,自动化测试方法还包括:若在预设时间内未接收到第二设备返回的第二字符串,则向第二端口重复发送配置文件中的第二设备提供的命令提示符字符串,并等待预设时间;若发送预设次数第二设备提供的命令提示符字符串后,仍未接收到第二设备返回的第二字符串,则第二端口的第二设备信息扫描失败。
51.定义接收设备返回指令的时间,如果超时则重新发送指令进行确认,超过预设次数,则不再发送指令,认为连接异常,扫描失败,记录失败,可选地,记录扫描端口失败原因的方式可为:连接超时。
52.在本发明一实施例中,所述自动化测试方法还包括:接收预设的定时任务发送的启动指令;在接收到所述启动指令的情况下,执行获取端口设备列表的步骤。windows定时任务可实现定时执行脚本,windows添加定时任务,定时执行批处理文件,批处理文件编写命令执行自动化脚本的可执行文件,从而实现定时启动测试。在设置的时间段接收到windows发送的启动指令,开始执行步骤01~步骤04。
53.在本发明一实施例中,在获取端口设备列表之前,还包括:启动或禁用部分端口,实现不同设备连接的测试场景。
54.通过启用和禁用特定端口来实现不同设备连接的场景,例如,只连接3个设备的测试场景包括:

只测试端口1连接设备一,通过调用系统sdk禁用端口2和端口3,验证设备一是否正确扫描识别;

只测试端口2连接设备二,通过调用系统sdk禁用端口1和端口3,验证设备二是否正确扫描识别;

只测试端口3连接设备三,通过调用系统sdk禁用端口1和端口2,验证设备三是否正确扫描识别;

测试端口1和端口2同时连接设备,通过调用系统sdk禁用端口3,验证设备一和设备二是否正确扫描识别;

测试端口1和端口3同时连接设备,通过调用系统sdk禁用端口2,验证设备一和设备三是否正确扫描识别;

测试端口2和端口3同时连接设备,通过调用系统sdk禁用端口1,验证设备二和设备三是否正确扫描识别;

测试3个端口同时连接设备,通过调用系统sdk启用所有端口,验证设备一、设备二和设备三是否全部正确扫描识别。通过全场景的测试,保证不同设备的单一连接和同时连接互不影响,新设备的接入不影响存量设备的扫描识别。三个设备就需要七种场景,当更多新设备的接入后,都要与老设备组合测试,会设计更多个测试场景,应用自动化就会大大节省人力和时间。
55.在本发明一实施例中,该自动化测试方法还包括:设计测试场景并编写相应的自动化脚本,对编写的自动化脚本进行调试生成测试脚本。
56.在本发明一实施例中,该自动化测试方法还包括:在完成测试之后,退出至登录窗口,并清除缓存。一个测试流程完成后恢复初始状态,即工作站返回上一步登录页面,退出当前的扫描结果,清除缓存,为了不影响下一个场景的扫描。
57.在本发明一实施例中,在开始该自动化测试之前,还需要将测试设备连接usb hub扩展串口,并手动连接好所有测试的检测设备,启动所有设备,从而搭建好测试环境。
58.本实施例提供一种自动化测试装置100,如图4所示,所述自动化测试装置100包括串口配置调试单元10、工作站应用软件操作模拟单元20、校验单元3。
59.其中:
60.串口配置调试单元10用于获取端口设备列表,所述端口设备列表包括所有已连接设备的端口;基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息;
61.工作站应用软件操作模拟单元20用于扫描所有设备以得到第二设备信息;
62.校验单元30用于基于所述第一设备信息和所述第二设备信息进行一致性校验。
63.进一步地,串口配置调试单元10用于调用操作系统预置的软件开发工具包获取端口列表。串口配置调试单元10用于向端口设备列表中的第一端口发送配置文件中的第一设备提供的命令提示字符串进行询问;接收所述第一设备返回的第一字符串,将所述第一字符串和配置文件中第一设备的确认字符串进行比对;若所述第一字符串和所述确认字符串匹配,确定所述第一端口对应的第一设备信息;若所述第一字符串和所述确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确认到所述第一端口连接的设备信息或完成所述配置文件中所有设备的询问为止。
64.进一步地,工作站应用软件操作模拟单元20用于将预先生成的测试脚本对应的管理员账号和密码自动输入登录窗口,以登录目标账号;在所述目标账号登录成功的情况下,扫描所有设备以得到第二设备信息。
65.工作站应用软件操作模拟单元20还用于检验端口是否打开:若端口打开,向所述端口设备列表中的第二端口发送配置文件中第二设备提供的命令提示符字符串进行询问;接收所述第二设备返回的第二字符串,将所述第二字符串和配置文件中所述第二设备的确认字符串进行比对;若所述第二字符串和所述确认字符串匹配,确定所述第二端口对应的第二设备信息;若所述第二字符串和所述确认字符串不匹配,继续发送配置文件中的下一个设备的命令提示字符串进行询问,直到确定所述第二端口连接的第二设备信息或完成所述配置文件中所有设备的询问为止。若端口无法打开,检查所述配置文件,判断所述第二设备是否支持第二连接模式;若所述第二设备支持所述第二连接模式,通过所述第二连接模式连接所述第二设备;接收所述第二设备通过所述第二连接模式发送的所述第二设备信息。
66.串口配置调试单元20还用于启用或禁用特定端口,以实现不同设备连接的场景。
67.本实施例提供了一种电子设备,该电子设备可以是手机、电脑或平板电脑等,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被处理器执行时实现如实施例中所述的自动化测试方法。可以理解,电子设备还可以包括,输入/输出(i/o)接口,以及通信组件。
68.其中,处理器用于执行如实施例中的自动化测试方法中的全部或部分步骤。存储器用于存储各种类型的数据,这些数据例如可以包括电子设备中的任何应用程序或方法的指令,以及应用程序相关的数据。
69.所述处理器可以是专用集成电路(application specific integrated cricuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例中的自动化测试方法。
70.所述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,
例如静态随机存取存储器(static random access memery,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
71.本实施例提供一种计算机可读存储介质。在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
72.基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
73.而前述的存储介质包括:闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等各种可以存储程序校验码的介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现如下方法步骤:
74.步骤01:获取端口设备列表,所述端口设备列表包括所有已连接设备的端口;
75.步骤02:基于所述端口设备列表遍历所有端口,以得到各个端口对应的第一设备信息;
76.步骤03:扫描所有设备以得到第二设备信息;
77.步骤04:基于所述第一设备信息和所述第二设备信息进行一致性校验。
78.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
79.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
80.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
81.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。
82.还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
83.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
84.本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本技术实施例中所有方向性指示(诸如上、下、左、右、前、后、顶、底
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
85.另外,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
86.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
87.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1