CN112685299B - 自动测试方法、装置、电子设备及可读存储介质 - Google Patents
自动测试方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112685299B CN112685299B CN202011573323.1A CN202011573323A CN112685299B CN 112685299 B CN112685299 B CN 112685299B CN 202011573323 A CN202011573323 A CN 202011573323A CN 112685299 B CN112685299 B CN 112685299B
- Authority
- CN
- China
- Prior art keywords
- coordinates
- sliding
- operated
- type
- human hand
- 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.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 86
- 238000004088 simulation Methods 0.000 claims abstract description 202
- 238000012360 testing method Methods 0.000 claims abstract description 200
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000009471 action Effects 0.000 claims description 86
- 230000006870 function Effects 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 19
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 105
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012797 qualification Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种自动测试方法、装置、电子设备及可读存储介质,方法包括:根据预设的测试规程,确定当前的模拟测试操作;获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备根据所述人手模拟操作信息模拟出人手操作,并根据所述人手操作触发与所述人手操作相应的功能。这样,可以实现对于各种设备的自动化测试,降低了对于人工的依赖,提高了测试效率,降低了出现漏测、错检的风险,便于进行测试数据的汇总统计,且本申请的方案可以广泛应用于各类具有操作***简单、数据可处理量低的特点的设备中。
Description
技术领域
本申请涉及测试技术领域,具体而言,涉及一种自动测试方法、装置、电子设备及可读存储介质。
背景技术
可穿戴设备在固件开发完成后,通常都需要软件测试工程师进行软件测试,以确定可穿戴设备固件是否满足设计要求。
而由于可穿戴设备具有的体积小、操作***(通常是单片机级的***)简单、数据可处理量低等特点,传统的应用于手机、服务器等中大型终端设备上的自动化测试方法,由于需要在终端设备上配置大量的测试程序与指令,因此无法应用于可穿戴设备的测试场景中。
目前对于可穿戴设备的测试方案,仍旧是由软件测试工程师进行人工操作。即由软件测试工程师通过手动进行诸如滑动屏幕、长按、点击、按电源键或者按其他功能键等操作,并在操作过程中通过人眼查看等方式,实现对于界面状态和/或业务信息是否符合需求的检测。
然而,这种方式测试效率低,且依赖人工判断,容易出现漏测、错检的情况,且不方便对测试数据进行汇总统计。此外,人工操作对于一些极限情况或者临界情况无法实现测试。
发明内容
本申请实施例的目的在于提供一种自动测试方法、装置、电子设备及可读存储介质,用以解决上述问题。
本申请实施例提供了一种自动测试方法,包括:根据预设的测试规程,确定当前的模拟测试操作;获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备根据所述人手模拟操作信息模拟出人手操作,并根据所述人手操作触发与所述人手操作相应的功能。
在上述实现过程中,通过在上位机中预设测试规程,从而根据该预设的测试规程,确定出当前的模拟测试操作,并获取当前模拟测试操作对应的针对待测试设备的人手模拟操作信息,从而发送给待测试设备,使得待测试设备模拟出相应的人手操作,触发相应的功能,实现测试。通过上述方式,可以实现对于各种设备的自动化测试,降低了对于人工的依赖,提高了测试效率,降低了出现漏测、错检的风险,便于进行测试数据的汇总统计。此外,由于是通过向待测试设备发送人手模拟操作信息使得待测试设备模拟出相应的人手操作,因此对于待测试设备而言,无需进行大量新程序和指令的配置,从而在可穿戴设备等具有操作***(通常是单片机级的***)简单、数据可处理量低等特点的设备上也可以采用,具有普适性。
进一步地,所述测试规程为根据所述待测试设备中内置的待测试软件的功能、显示页面及操作方法确定的固定的测试操作流程。
在上述实现过程中,通过根据所述待测试设备中内置的待测试软件的功能、显示页面及操作方法确定出固定的测试操作流程得到测试规程,这就使得在进行测试时,上位机可以准确、可靠地确定出当前的模拟测试操作,并获取到对应的人手模拟操作信息,保证测试的正常进行。
进一步地,所述方法还包括:获取待测试设备的当前界面;所述获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息,包括:确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为点击时,根据所述预设的测试规程,确定出所述当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态和释放状态的人手模拟操作信息。
在上述实现过程中,对于点击操作,通过测试规程,确定出当前界面中的目标控件的坐标,生成包含目标控件的坐标、按下状态和释放状态的人手模拟操作信息,从而实现了对于点击坐标的准确获取,保证了测试的正常进行。
进一步地,所述方法还包括:获取待测试设备的当前界面;所述获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息,包括:确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为长按时,根据所述预设的测试规程,确定出所述当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态、持续时间的人手模拟操作信息。
在上述实现过程中,对于长按操作,通过测试规程,确定出当前界面中的目标控件的坐标,生成包含目标控件的坐标、按下状态和释放状态的人手模拟操作信息,从而实现了对于长按坐标的准确获取,保证了测试的正常进行。
进一步地,所述获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息,包括:确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为直线滑动时,根据所述测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息。
在上述实现过程中,对于直线滑动操作,通过测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息,从而有效实现了对于满足测试需要的直线滑动操作相关坐标的准确获取,保证了测试的正常进行。
进一步地,所述获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息,包括:确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为曲线滑动时,根据所述测试规程中需求的滑动曲线要求,生成滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息。
在上述实现过程中,对于曲线滑动操作,通过测试规程中需求的滑动曲线要求,生成包含滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息,从而有效实现了对于满足测试需要的曲线滑动操作相关坐标的准确获取,保证了测试的正常进行。
进一步地,所述方法还包括:接收所述待测试设备返回的触发与所述人手操作相应的功能之后所产生的界面信息和/或业务信息;根据所述界面信息和/或所述业务信息确定测试结果。
在本申请实施例中,上位机接收待测试设备返回的触发与人手操作相应的功能之后所产生的界面信息和/或业务信息,从而可以根据所返回的界面信息和/或业务信息,进行待测试设备的测试结果的分析判断,进一步地避免在待测试设备上增加代码和指令。
进一步地,根据所述界面信息和/或所述业务信息确定测试结果,包括:识别所述界面信息和/或所述业务信息的代码;根据所述代码确定所述测试结果。
在上述实现过程中,上位机通过对界面信息和/或业务信息的代码的分析,即确定出测试结果。相比于传统测试方法而言,传统测试方法中都是通过第三方拍摄设备来拍摄模拟人手操作后的界面,然后基于人工或图像识别的方式来确定的测试结果,而本申请实施例的方式则不需要借助第三方拍摄设备,直接基于上报的代码即实现了测试结果的确定,测试成本更低。
进一步地,所述测试规程的测试操作流程,与所述待测试设备当前测试的软件的人工操作流程一致。
在上述实现过程中,对于待测试设备的测试过程将与正常人工操作时完全一致,从而可以获取到正常人工操作过程中才会产生的中间数据(如中间界面的节目信息,或者操作过程中所产生的业务信息等),从而使得自动化测试效果更好。
本申请实施例还提供了一种自动测试方法,应用于待测试设备中,包括:接收上位机前述自动测试方法所传来的人手模拟操作信息;确定所述人手模拟操作信息对应的待操作类型;根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能。
在上述实现过程中,待测试设备只需采用相应的动作指令模板,利用人手模拟操作信息模拟出待操作类型对应的人手操作即可,对于待测试设备而言,只需进行很少量的代码改动,从而可以在可穿戴设备等具有操作***(通常是单片机级的***)简单、数据可处理量低等特点的设备上采用,具有良好的普适性。此外,待测试设备可以根据上位机下发的人手模拟操作信息模拟出人手操作,从而就降低了测试过程中对于人工的需求,提高了测试效率,降低了出现漏测、错检的风险,便于进行测试数据的汇总统计。
进一步地,在当前的待操作类型为点击时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下和在坐标(x,y)处释放;根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:将所述预设动作指令模板中的坐标(x,y)替换为所述人手模拟操作信息中的坐标;执行替换后的所述预设动作指令模板。
进一步地,在当前的待操作类型为长按时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下、在坐标(x,y)处释放和按下时长;根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:将所述预设动作指令模板中的坐标(x,y)和按下时长,替换为所述人手模拟操作信息中的坐标和持续时间;执行替换后的所述预设动作指令模板。
进一步地,在当前的待操作类型为直线滑动或曲线滑动时,所述待操作类型对应的预设动作指令模板为:在坐标(x1,y1)处按下、沿位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标滑动、在坐标(x2,y2)处释放和滑动时长;在当前的待操作类型为直线滑动时,根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:根据所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,自动生成所述预设动作指令模板中的坐标(x1,y1)和坐标(x2,y2)之间的中间坐标,并写入所述所述预设动作指令模板中;将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长;执行替换后的所述预设动作指令模板;
在当前的待操作类型为曲线滑动时,根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长;执行替换后的所述预设动作指令模板。
在上述实现过程中,待测试设备只需预先配置相应的动作指令模板,将人手模拟操作信息中的内容填入相应的动作指令模板中,即可快速实现对于相应人手操作的模拟,实现方式简单,代码量少,效率高,可广泛应用于诸如可穿戴设备等***较小、数据处理能力不足的设备中,实现高效的自动化测试。
进一步地,所述方法还包括:接收上位机传来的待操作类型指示信息;对应的,确定所述人手模拟操作信息对应的待操作类型,包括:根据所述待操作类型指示信息确定所述人手模拟操作信息对应的待操作类型。
在上述实现过程中,通过上位机发送待操作类型指示信息,从而可以便于待测试设备快速进行人手模拟操作信息对应的待操作类型的确定,提高测试效率。此外,由于只需要识别待操作类型指示信息即可,所需代码量很小,不会造成***负担,因此可以广泛应用于诸如可穿戴设备等***较小、数据处理能力不足的设备中。
本申请实施例还提供了一种自动测试装置,应用于上位机上,包括:确定模块、获取模块和发送模块;所述确定模块,用于根据预设的测试规程,确定当前的模拟测试操作;所述获取模块,用于获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;所述发送模块,用于将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备根据所述人手模拟操作信息模拟出人手操作,并根据所述人手操作触发与所述人手操作相应的功能。
本申请实施例还提供了一种自动测试装置,应用于待测试设备中,包括:接收模块、类型确定模块和模拟模块;所述接收模块,用于接收上位机根据前述自动测试方法所传来的人手模拟操作信息;所述类型确定模块,用于确定所述人手模拟操作信息对应的待操作类型;所述模拟模块,用于根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的自动测试方法。
本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的自动测试方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种自动测试***的结构示意图;
图2为本申请实施例提供的一种自动测试方法的流程示意图;
图3为本申请实施例提供的一种上位机与待测试设备间的交互示意图;
图4为本申请实施例提供的一种应用于上位机上的自动测试装置的结构示意图;
图5为本申请实施例提供的一种应用于待测试设备上的自动测试装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
为了实现对于诸如可穿戴设备等具有操作***简单、数据可处理量低的特点的设备的自动化测试,提高这类设备的测试效率,本申请实施例中提供了一种自动测试***和相应的自动化测试方法。可以参见图1所示,本申请实施例中自动测试***包括上位机和待测试设备,上位机与待测试设备之间通信连接。
需要说明的是,在本申请实施例中,待测试设备是指需要进行人手操作相关的测试的设备,其可以随着用户的测试需求的变更而改变。例如,用户在测试设备1时,设备1即为待测试设备。当设备1测试完毕后,用户需要测试设备2,此时将设备2与上位机通信连接,此时设备2即为待测试设备。
还需要说明的是,在本申请实施例中,可以预先在上位机上设置所需进行的各种测试的测试规程。
示例性的,假设需要测试软件A,可以预先根据软件A的测试需求编写出相应的测试规程A保存至上位机上,从而使得自动测试***可以具有对于软件A的测试能力。
在本申请实施例中,可以根据待测试设备中内置的待测试软件的功能、显示页面及操作方法确定出固定的测试操作流程,并据此构建该待测试软件的测试规程,以便于进行测试。
需要注意的是,在本申请实施例中,测试规程的测试操作流程,可以配置的与待测试设备当前测试的软件的人工操作流程一致。
也即,人工进行测试时是按照何种操作流程进行测试的,那么按照该测试规程,上位机也会按照与人工一模一样的操作流程进行测试,以使得自动化测试更加接近用户的正常使用情况。
比如,对于心率监测软件进行心率监测功能的测试,本申请实施例中测试规程将规定从进入该心率监测软件主界面到触发心率监测功能的与人工操作流程一模一样的测试操作流程,而非使待测试设备直接触发心率监测功能,让软件进行心率监测。
在本申请实施例中,上位机可以采用服务器、电脑等电子设备实现,但不作为限制。
应理解,虽然图1中仅示出了上位机连接一个待测试设备的情况,但事实上,本申请实施例的方案可以允许上位机同时连接多个待测试设备,并同时对多个待测试设备进行并行测试。
在本申请实施例中,上位机和待测试设备可以按照图2所示的自动测试方法进行测试,其中,上位机和待测试设备的相关功能可参见图2相关步骤的描述。
参见图2所示,图2示出了本申请实施例中提供的自动测试方法,包括:
S201:上位机根据预设的测试规程,确定当前的模拟测试操作。
需要理解的是,上位机内可以预设多个测试规程,工程师可以根据当前所需测试的对象或待测试对象的某一待测试功能,在上位机中编写或选择出相应的测试规程,从而使得上位机可以根据该测试规程对待测试设备进行自动化测试。
应理解,进行一项测试时,往往需要对待测试设备进行多次测试操作(本申请实施例中称之为模拟测试操作)。在本申请实施例中,测试规程内会规定本次测试所需进行的模拟测试操作以及各模拟测试操作之间的顺序,从而便于进行测试。
这些规定的模拟测试操作以及各模拟测试操作之间的顺序,即构成了测试规程的测试操作流程,测试时会按照测试操作流程进行测试。
在本申请实施例中,各模拟测试操作可以定义有相应的触发条件,通过这些触发条件来实现各模拟测试操作之间的顺序的设定,以及对于当前的模拟测试操作的确定。
比如,可以定义首个模拟测试操作的触发条件为测试启动,那么当工程师控制上位机开始进行测试后,即可根据测试规程,确定出测试操作流程的首个模拟测试操作为当前的模拟测试操作。
类似的,而对于测试中的其余模拟测试操作,也可以根据测试规程中的各模拟测试操作的触发条件进行确定。
比如,假设测试规程中的定义有首个模拟测试操作为控制待测试设备进入界面A,而模拟测试操作1定义为在待测试设备进入到界面A后触发。那么,则当获取到待测试设备返回的表征已进入界面A的信息后,即可根据测试规程,确定出当前的模拟测试操为模拟测试操作1。
又比如,模拟测试操作2定义为在模拟测试操作1对应的人手模拟操作信息下发后即触发,那么当模拟测试操1作对应的人手模拟操作信息下发后,即可根据预设的测试规程,确定该模拟测试操作2为当前的模拟测试操作。
S202:获取当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息。
需要理解的是,在实际应用中,用户往往会进行不同的人手操作动作,因此在本申请实施例中,可以预先定义所需模拟的不同人手操作动作的类型(本申请实施例中称为待操作类型),例如可以预先定义以下待操作类型:点击、长按、直线滑动、曲线滑动等,分别对应实际应用中的人手点击动作、人手长按动作、人手直线滑动动作和人手曲线滑动动作。
在本申请实施例中,可以预先将规程内的各模拟测试操作与对应的待操作类型进行关联,并可以定义各待操作类型所对应的人手模拟操作信息为哪些。
示例性的,在本申请实施例中,可以定义点击类型所对应的人手模拟操作信息包括点击处的坐标以及按下状态和释放状态;而对于长按类型所对应的人手模拟操作信息包括长按处的坐标、持续时间以及按下状态和释放状态;对于直线滑动类型所对应的人手模拟操作信息包括滑动起始坐标、滑动结束坐标和滑动时长;对于曲线滑动类型所对应的人手模拟操作信息包括滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长。
需要理解的是,以上定义的点击、长按、直线滑动、曲线滑动所对应的人手模拟操作信息的内容仅是本申请实施例中所示例的信息内容,在实际应用中可以包含比这些更多或更少的内容,只要待测试设备能够基于人手模拟操作信息模拟出相应的人手操作即可。
还需要理解的是,以上仅示例了点击、长按、直线滑动、曲线滑动这几类待操作类型,但事实上,待操作类型可以由工程师根据实际需要进行设定,并不局限于点击、长按、直线滑动、曲线滑动这4种类型,比如还可以是按键类型(对应于模拟人手按压功能按键的动作)等。
在本申请实施例中的一种可行实施方式中,可以预先在上位机中定义好各模拟测试操作对应的人手模拟操作信息的具体值,从而在确定出当前的模拟测试操作后,即可获取到相应的具体的人手模拟操作信息。
应理解,对于前述可行实施方式,可以不关联各模拟测试操作所对应的待操作类型,而仅关联各模拟测试操作对应的人手模拟操作信息的具体值。当然,各模拟测试操作关联所对应的待操作类型也是可行的。
除此之外,在本申请实施例的另一种可行实施方式中,可以在测试规程中定义好各模拟测试操作对应的人手模拟操作信息获取方式,从而通过从待测试设备处获取所需信息,提取出所需的人手模拟操作信息。
示例性的,在确定出当前的模拟测试操作后,上位机可以进一步确定当前的模拟测试操作对应的待操作类型。然后根据待操作类型的不同,按照预设的不同方式进行人手模拟操作信息的获取。
例如,在待操作类型为点击时,可以根据测试规程,确定出待测试设备的当前界面中的目标控件的坐标,生成包含目标控件的坐标、按下状态和释放状态的人手模拟操作信息。
需要说明的是,在本申请实施例中,可以配置上位机可以获取待测试设备的当前界面。对于当前界面的获取方式可以是由待测试设备主动上报的,比如在根据模拟出的人手操作触发与该人手操作相应的功能后,即主动上报最新的界面信息;此外也可以是由上位机主动请求获取的,比如可以由上位机主动向待测试设备发送当前界面的获取指令,从而使得待测试设备返回当前界面。
而测试规程中可以预先定义好目标控件为哪一个控件(比如可以定义目标控件为当前界面中的A链接),从而通过检测当前界面中的各个控件,查找出目标控件,进而得到该目标控件的坐标。
又例如,在待操作类型为长按时,可以根据预设的测试规程,确定出待测试设备的当前界面中的目标控件的坐标,生成包含目标控件的坐标、按下状态、释放状态、持续时间的人手模拟操作信息。
需要说明的是,对于待测试设备的当前界面的获取以及对于目标控件的坐标的获取,可以参见上文的介绍,在此不再赘述。
需要说明的是,对于持续时间,可以是预先定义好的,但是也可以是随机生成的一个符合人手操作时可能的按压时长。
又例如,在待操作类型为直线滑动时,可以根据测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息。
应当理解的是,在上述可行实施方式中,测试规程中可以根据实际测试的操作需要,明确该直线滑动的滑动方向,从而便于进行测试。
又例如,在待操作类型为曲线滑动时,根据测试规程中需求的滑动曲线要求,生成滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息。
需要说明的是,在上述可行实施方式中,测试规程中可以根据实际测试的操作需要,明确该曲线滑动的滑动曲线要求(比如朝哪个方向弯曲、是否成圆、曲率多少等),从而便于进行测试。
需要说明的是,对于前述示例中的滑动时长,可以是预先定义好的,但是也可以是随机生成的一个符合人手操作时可能的滑动时长。
又例如,在待操作类型为按键时,可以根据测试规程确定出所需模拟的按键功能,从而将相应的按键功能的触发信息发送给待测试设备。
S203:将人手模拟操作信息发送给待测试设备。
在实际应用中,某些待测试设备由于自身***的限制,可能仅支持某些协议通信。为此,在本申请实施例中,可以采用满足待测试设备协议要求的通信方式实现上位机与待测试设备之间的交互。
示例性的,上位机和待测试设备之间可以通过诸如蓝牙、串口、Jlink接口等方式实现通信连接和数据交互。
S204:待测试设备确定人手模拟操作信息对应的待操作类型。
在本申请实施例的一种可行实施方式中,上位机可以在下发人手模拟操作信息时,可以根据当前的模拟测试操作对应的待操作类型生成待操作类型指示信息,从而一并发送给待测试设备。
待测试设备则可以通过识别待操作类型指示信息,确定出人手模拟操作信息对应的待操作类型。
此外,由于不同待操作类型所对应的人手模拟操作信息的内容往往是不一样的。比如,前文示例中,长按类型相对于点击类型而言,长按类型所对应的人手模拟操作信息中包括有按下时长,而点击类型所对应的人手模拟操作信息中则不具有按下时长这一内容。
基于此,在本申请实施例的另一种可行实施方式中,待测试设备也可以根据人手模拟操作信息所包含的内容,确定出该人手模拟操作信息对应的待操作类型。
示例性的,可以识别人手模拟操作信息所包含的内容,与预设的各待操作类型所对应的内容进行匹配,从而确定出与该人手模拟操作信息的内容匹配的待操作类型。
应理解,对于前文中各模拟测试操作未关联对应的待操作类型的实施方式而言,则可以通过上述另一种可行实施方式确保待测试设备对于人手模拟操作信息对应的待操作类型的确定。
S205:根据待操作类型对应的动作指令模板以及人手模拟操作信息,模拟出待操作类型对应的人手操作,触发待测试软件中与人手操作相应的功能。
在本申请实施例中,动作指令模板可以通过相关操作函数实现,通过改变动作指令模板中的相关参数,即可实现对于相关人手操作的模拟。
示例性的,比如在当前的待操作类型为点击时,待操作类型对应的预设动作指令模板可以为:在坐标(x,y)处按下和在坐标(x,y)处释放。则,可以将预设动作指令模板中的坐标(x,y)替换为人手模拟操作信息中的坐标,然后执行替换后的预设动作指令模板,从而即可模拟出在人手模拟操作信息中的坐标处按下和释放的点击操作。
又比如,在当前的待操作类型为长按时,该待操作类型对应的预设动作指令模板可以为:在坐标(x,y)处按下、在坐标(x,y)处释放和按下时长。则可以将该预设动作指令模板中的坐标(x,y)和按下时长,替换为该人手模拟操作信息中的坐标和持续时间,然后执行替换后的该预设动作指令模板,从而即可模拟出在人手模拟操作信息中的坐标处按压该按下时长后释放的长按操作。
又比如,在当前的待操作类型为直线滑动或曲线滑动时,该待操作类型对应的预设动作指令模板可以为:在坐标(x1,y1)处按下、沿位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标滑动、在坐标(x2,y2)处释放和滑动时长。
在当前的待操作类型为直线滑动时,则可以根据人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,自动生成该预设动作指令模板中的坐标(x1,y1)和坐标(x2,y2)之间的中间坐标,并写入该预设动作指令模板中,然后将该预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)和滑动时长,替换为该人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,并执行替换后的该预设动作指令模板,从而模拟出直线滑动操作。
在当前的待操作类型为曲线滑动时,则可以将该预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,替换为该人手模拟操作信息中的滑动起始坐标、滑动结束坐标、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,然后执行替换后的该预设动作指令模板,从而模拟出曲线滑动操作。
又比如,在当前的待操作类型为按键时,动作指令模板可以为待测试设备的UI(User Interface,用户界面)处理函数,从而直接由UI处理函数对上位机发来的按键功能触发信息进行处理,从而触发相应的按键的功能。
在本申请实施例中,待测试设备在模拟出待操作类型对应的人手操作,触发待测试软件中与人手操作相应的功能后,可以向上位机返回本次触发与人手操作相应的功能之后所产生的界面信息和/或业务信息,以便上位机可以根据所上报的界面信息和/或业务信息确定测试结果。
应理解,本申请实施例中所述的业务信息是指与待测试软件的业务功能相关的信息。比如,该待测试软件为心率监测软件,那么业务信息可以是触发监测功能后监测到的心率等。此外,业务信息还可以包括每项功能从触发到完成的时间等信息。具体需要上报的业务信息的内容可以由工程师根据实际测试需要进行设定。
还应当理解的是,具体需要上报界面信息,还是业务信息,还是界面信息和业务信息都要上报,可以是由工程师根据实际测试需要进行设定的。
此外,为了保证数据交互过程中的可靠性,上位机和待测试设备之间可以建立专门用于从上位机发送数据到待测试设备的通信链路,和专门用于从待测试设备发送数据到上位机的通信链路,例如图3所示。
在本申请实施例中,可以通过调用UI处理函数的方式,将界面信息发送给上位机。在本申请实施例中,界面信息中可以包括界面内容、界面内控件的位置、控件的类型等信息,以便于上位机进行处理。
需要说明的是,在本申请实施例中,待测试设备可以将界面信息和/或业务信息转换称为代码,从而通过代码的方式将界面信息和/或业务信息上报给上位机。
在本申请实施例中,上位机通过识别界面信息和/或业务信息的代码,从而根据代码确定测试结果。
示例性的,上位机可以读取出代码中携带的与测试结果确定相关的特征信息(比如控件位置、心跳测试、坐标位置等),从而将特征信息与预设的合格标准进行比对,若满足合格标准,则确定测试通过,否则,确定测试失败。
比如,待测试设备可以上报以下界面信息的代码:
Form:Sport;(来源:运动(软件))
Buttton1:(100,200),Buttton2:(200,200),Buttton3:(300,300),(控件1(100,200),控件2(200,200),控件3(300,300))。
上位机在接收到上述代码后,可以查找预设的关于Sport的合格标准(假定为控件1位置为(100,200),控件2位置为(200,200),控件3位置为(300,300)),则上位机可以根据上述代码中的特征信息Buttton1:(100,200),Buttton2:(200,200),Buttton3:(300,300),确定满足Sport的合格标准,从而确定测试通过。
应理解,合格标准可以由工程师根据实际需要进行设定,本申请实施例并不做限制。此外,合格标准的设定形式也不做限制,比如上例中,可以是设定的各控件的标准位置。此外,也可以是设定的各控件的相对位置等。
需要理解的是,本申请实施例所提供的自动测试方法,可以实现对于各种设备的自动化测试,降低了对于人工的依赖,提高了测试效率,降低了出现漏测、错检的风险,便于进行测试数据的汇总统计,且对于一些极限情况或者临界情况,也可以实现测试。此外,由于是通过向待测试设备发送人手模拟操作信息使得待测试设备模拟出相应的人手操作,因此对于待测试设备而言,无需进行大量新程序和指令的配置,从而在可穿戴设备等具有操作***(通常是单片机级的***)简单、数据可处理量低等特点的设备上也可以采用,具有普适性。
此外,采用本申请实施例的方案,由于是自动化进行的测试,对于一些极限情况或者临界情况,也可以实现测试。例如,可以进行短时间内对于待测试软件的高频访问和操作,从而测试待测试软件的可靠性等。
实施例二:
基于同一发明构思,本申请实施例中还提供一种应用于上位机中的自动测试装置100和应用于待测试设备上的自动测试装置200。请参阅图4和图5所示,图4示出了采用图2所示的方法中上位机所执行的操作的自动测试装置,图5示出了采用图2所示的方法中待测试设备所执行的操作的自动测试装置。应理解,装置100和装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置100和装置200包括至少一个能以软件或固件的形式存储于存储器中或固化在装置100、装置200的操作***中的软件功能模块。具体地:
参见图4所示,装置100应用于上位机上,包括:确定模块101、获取模块102和发送模块103。其中:
所述确定模块101,用于根据预设的测试规程,确定当前的模拟测试操作;
所述获取模块102,用于获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;
所述发送模块103,用于将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备根据所述人手模拟操作信息模拟出人手操作,并根据所述人手操作触发与所述人手操作相应的功能。
在本申请实施例中,所述测试规程为根据所述待测试设备中内置的待测试软件的功能、显示页面及操作方法确定的固定的测试操作流程。
在本申请实施例的一种可行实施方式中,所述获取模块102,还用于获取待测试设备的当前界面。
所述获取模块102,具体用于确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为点击时,根据所述预设的测试规程,确定出所述当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态和释放状态的人手模拟操作信息。
在本申请实施例的一种可行实施方式中,所述获取模块102,还用于获取待测试设备的当前界面。
所述获取模块102,具体用于确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为长按时,根据所述预设的测试规程,确定出所述当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态、持续时间的人手模拟操作信息。
在本申请实施例的一种可行实施方式中,所述获取模块102,具体用于确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为直线滑动时,根据所述测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息。
在本申请实施例的一种可行实施方式中,所述获取模块102,具体用于确定当前的模拟测试操作对应的待操作类型;在所述待操作类型为曲线滑动时,根据所述测试规程中需求的滑动曲线要求,生成滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息。
在本申请实施例中,所述获取模块102,还用于接收所述待测试设备返回的触发与所述人手操作相应的功能之后所产生的界面信息和/或业务信息;所述确定模块101,还用于根据所述界面信息和/或所述业务信息确定测试结果。
参见图5所示,装置200应用于待测试设备上,包括:接收模块201、类型确定模块202和模拟模块203。其中:
所述接收模块201,用于接收上位机所传来的人手模拟操作信息;
所述类型确定模块202,用于确定所述人手模拟操作信息对应的待操作类型;
所述模拟模块203,用于根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能。
在本申请实施例的一种可行实施方式中,在当前的待操作类型为点击时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下和在坐标(x,y)处释放;所述模拟模块203,具体用于将所述预设动作指令模板中的坐标(x,y)替换为所述人手模拟操作信息中的坐标;执行替换后的所述预设动作指令模板。
在本申请实施例的一种可行实施方式中,在当前的待操作类型为长按时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下、在坐标(x,y)处释放和按下时长;所述模拟模块203,具体用于将所述预设动作指令模板中的坐标(x,y)和按下时长,替换为所述人手模拟操作信息中的坐标和持续时间;执行替换后的所述预设动作指令模板。
在本申请实施例的一种可行实施方式中,在当前的待操作类型为直线滑动或曲线滑动时,所述待操作类型对应的预设动作指令模板为:在坐标(x1,y1)处按下、沿位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标滑动、在坐标(x2,y2)处释放和滑动时长;所述模拟模块203,具体用于:
在当前的待操作类型为直线滑动时,根据所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,自动生成所述预设动作指令模板中的坐标(x1,y1)和坐标(x2,y2)之间的中间坐标,并写入所述所述预设动作指令模板中;将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长;执行替换后的所述预设动作指令模板;
在当前的待操作类型为曲线滑动时,将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长;执行替换后的所述预设动作指令模板。
在本申请实施例中,所述接收模块201,还用于接收上位机传来的待操作类型指示信息。所述类型确定模块202,具体用于根据所述待操作类型指示信息确定所述人手模拟操作信息对应的待操作类型。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例三:
本实施例提供了一种电子设备,参见图6所示,其包括处理器601、存储器602以及通信总线603。其中:
通信总线603用于实现处理器601和存储器602之间的连接通信。
处理器601用于执行存储器602中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的自动测试方法中上位机或待测试设备所执行的各步骤。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
示例性的,当电子设备为上位机时,电子设备可以为电脑、服务器等具有较大数据处理能力的设备。当电子设备为待测试设备时,其可以为可穿戴设备,如智能手环、智能眼镜等,此外也可以为电脑、手机等设备,在此不做限制。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的自动测试方法中上位机或待测试设备所执行的各步骤。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种自动测试方法,其特征在于,应用于上位机上,包括:
根据预设的测试规程,确定当前的模拟测试操作;
获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;
将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备确定出所述人手模拟操作信息对应的待操作类型,并根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能;
所述方法还包括:获取待测试设备的当前界面;
所述获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息,包括:确定当前的模拟测试操作对应的待操作类型;根据所述预设的测试规程和待操作类型,生成包含操作坐标参数的人手模拟操作信息;
所述待操作类型包括点击、长按、直线滑动、曲线滑动中的至少一种;
所述根据所述预设的测试规程和待操作类型,生成包含操作坐标参数的人手模拟操作信息,包括:
在所述待操作类型为点击时,根据所述预设的测试规程,确定出所述待测试设备的当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态的人手模拟操作信息;其中,所述目标控件的坐标为所述操作坐标参数;
在所述待操作类型为长按时,根据所述预设的测试规程,确定出所述待测试设备的当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态、持续时间的人手模拟操作信息;其中,所述目标控件的坐标为所述操作坐标参数;
在所述待操作类型为直线滑动时,根据所述测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息;其中,所述滑动起始坐标和所述滑动结束坐标为所述操作坐标参数;
在所述待操作类型为曲线滑动时,根据所述测试规程中需求的滑动曲线要求,生成滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息;其中,所述滑动起始坐标、所述滑动结束坐标、以及位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标为所述操作坐标参数;
在当前的待操作类型为直线滑动或曲线滑动时,所述待操作类型对应的动作指令模板为:在坐标(x1,y1)处按下、沿位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标滑动、在坐标(x2,y2)处释放和滑动时长;
在当前的待操作类型为直线滑动时,根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:
根据所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,自动生成预设动作指令模板中的坐标(x1,y1)和坐标(x2,y2)之间的中间坐标,并写入所述预设动作指令模板中;
将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长;
执行替换后的所述预设动作指令模板;
在当前的待操作类型为曲线滑动时,根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:
将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长;
执行替换后的所述预设动作指令模板。
2.如权利要求1所述的自动测试方法,其特征在于,所述测试规程为根据所述待测试设备中内置的待测试软件的功能、显示页面及操作方法确定的固定的测试操作流程。
3.如权利要求1或2所述的自动测试方法,其特征在于,所述方法还包括:
接收所述待测试设备返回的触发与所述人手操作相应的功能之后所产生的界面信息和/或业务信息;
根据所述界面信息和/或所述业务信息确定测试结果。
4.如权利要求3所述的自动测试方法,其特征在于,根据所述界面信息和/或所述业务信息确定测试结果,包括:
识别所述界面信息和/或所述业务信息的代码;
根据所述代码确定所述测试结果。
5.如权利要求1或2所述的自动测试方法,其特征在于,所述测试规程的测试操作流程,与所述待测试设备当前测试的软件的人工操作流程一致。
6.一种自动测试方法,其特征在于,应用于待测试设备中,包括:
接收上位机根据权利要求1至5任一项所述的自动测试方法所传来的人手模拟操作信息;
确定所述人手模拟操作信息对应的待操作类型;
根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能。
7.如权利要求6所述的自动测试方法,其特征在于,在当前的待操作类型为点击时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下和在坐标(x,y)处释放;
根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:
将所述预设动作指令模板中的坐标(x,y)替换为所述人手模拟操作信息中的坐标;
执行替换后的所述预设动作指令模板。
8.如权利要求6所述的自动测试方法,其特征在于,在当前的待操作类型为长按时,所述待操作类型对应的预设动作指令模板为:在坐标(x,y)处按下、在坐标(x,y)处释放和按下时长;
根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,包括:
将所述预设动作指令模板中的坐标(x,y)和按下时长,替换为所述人手模拟操作信息中的坐标和持续时间;
执行替换后的所述预设动作指令模板。
9.一种自动测试装置,其特征在于,应用于上位机上,包括:确定模块、获取模块和发送模块;
所述确定模块,用于根据预设的测试规程,确定当前的模拟测试操作;
所述获取模块,用于获取所述当前的模拟测试操作对应的针对待测试设备的人手模拟操作信息;
所述发送模块,用于将所述人手模拟操作信息发送给所述待测试设备,以使所述待测试设备确定出所述人手模拟操作信息对应的待操作类型,并根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能;
所述获取模块,还用于获取待测试设备的当前界面;获取模块具体用于确定当前的模拟测试操作对应的待操作类型;根据所述预设的测试规程和待操作类型,生成包含操作坐标参数的人手模拟操作信息;
所述待操作类型包括点击、长按、直线滑动、曲线滑动中的至少一种;获取模块具体用于:
在所述待操作类型为点击时,根据所述预设的测试规程,确定出所述待测试设备的当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态的人手模拟操作信息;其中,所述目标控件的坐标为所述操作坐标参数;
在所述待操作类型为长按时,根据所述预设的测试规程,确定出所述待测试设备的当前界面中的目标控件的坐标,生成包含所述目标控件的坐标、按下状态、释放状态、持续时间的人手模拟操作信息;其中,所述目标控件的坐标为所述操作坐标参数;
在所述待操作类型为直线滑动时,根据所述测试规程中需求的滑动方向,生成包含该滑动方向上的滑动起始坐标、滑动结束坐标和滑动时长的人手模拟操作信息;其中,所述滑动起始坐标和所述滑动结束坐标为所述操作坐标参数;
在所述待操作类型为曲线滑动时,根据所述测试规程中需求的滑动曲线要求,生成滑动起始坐标、滑动结束坐标、多个位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标、以及滑动时长的人手模拟操作信息;其中,所述滑动起始坐标、所述滑动结束坐标、以及位于滑动起始坐标和滑动结束坐标之间的滑动中间坐标为所述操作坐标参数;
其中,在当前的待操作类型为直线滑动或曲线滑动时,所述待操作类型对应的动作指令模板为:在坐标(x1,y1)处按下、沿位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标滑动、在坐标(x2,y2)处释放和滑动时长;
所述待测试设备具体用于:
在当前的待操作类型为直线滑动时:根据所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长,自动生成预设动作指令模板中的坐标(x1,y1)和坐标(x2,y2)之间的中间坐标,并写入所述预设动作指令模板中;将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标和滑动时长;执行替换后的所述预设动作指令模板;
在当前的待操作类型为曲线滑动时:将所述预设动作指令模板中的坐标(x1,y1)、坐标(x2,y2)、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长,替换为所述人手模拟操作信息中的滑动起始坐标、滑动结束坐标、位于坐标(x1,y1)和坐标(x2,y2)之间的中间坐标和滑动时长;执行替换后的所述预设动作指令模板。
10.一种自动测试装置,其特征在于,应用于待测试设备中,包括:接收模块、类型确定模块和模拟模块;
所述接收模块,用于接收上位机根据权利要求1至5任一项所述的自动测试方法所传来的人手模拟操作信息;
所述类型确定模块,用于确定所述人手模拟操作信息对应的待操作类型;
所述模拟模块,用于根据所述待操作类型对应的动作指令模板以及所述人手模拟操作信息,模拟出所述待操作类型对应的人手操作,触发待测试软件中与所述人手操作相应的功能。
11.一种电子设备,其特征在于,包括:处理器、存储器及通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1至8任一项所述的自动测试方法。
12.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8任一项所述的自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011573323.1A CN112685299B (zh) | 2020-12-25 | 2020-12-25 | 自动测试方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011573323.1A CN112685299B (zh) | 2020-12-25 | 2020-12-25 | 自动测试方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685299A CN112685299A (zh) | 2021-04-20 |
CN112685299B true CN112685299B (zh) | 2024-05-17 |
Family
ID=75452053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011573323.1A Active CN112685299B (zh) | 2020-12-25 | 2020-12-25 | 自动测试方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685299B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448317A (zh) * | 2021-06-29 | 2021-09-28 | 上海移远通信技术股份有限公司 | 一种模组测试***及模组测试方法 |
CN114113711A (zh) * | 2021-11-30 | 2022-03-01 | 武汉天喻信息产业股份有限公司 | 一种多接口并行测试的方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597720A (zh) * | 2019-09-04 | 2019-12-20 | 香港乐蜜有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
CN110908848A (zh) * | 2019-11-25 | 2020-03-24 | 展讯通信(上海)有限公司 | 自动化测试方法、装置及存储介质 |
CN111061601A (zh) * | 2019-12-18 | 2020-04-24 | 南京富士通南大软件技术有限公司 | 一种产品hmi测试模拟*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170611B (zh) * | 2018-01-23 | 2019-07-16 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
-
2020
- 2020-12-25 CN CN202011573323.1A patent/CN112685299B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597720A (zh) * | 2019-09-04 | 2019-12-20 | 香港乐蜜有限公司 | 一种应用程序的测试方法、装置、电子设备及存储介质 |
CN110908848A (zh) * | 2019-11-25 | 2020-03-24 | 展讯通信(上海)有限公司 | 自动化测试方法、装置及存储介质 |
CN111061601A (zh) * | 2019-12-18 | 2020-04-24 | 南京富士通南大软件技术有限公司 | 一种产品hmi测试模拟*** |
Also Published As
Publication number | Publication date |
---|---|
CN112685299A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408384B (zh) | 软件应用的测试方法、装置、处理器及电子装置 | |
CN112685299B (zh) | 自动测试方法、装置、电子设备及可读存储介质 | |
CN109960642B (zh) | 自动测试方法和装置 | |
CN104461903A (zh) | 基于浏览器的测试客户端的方法和装置 | |
CN105120483B (zh) | 智能卡与移动终端兼容性的自动化测试方法及*** | |
CN109408361A (zh) | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN114325316A (zh) | 一种板卡的测试方法、装置、电子设备及存储介质 | |
CN109101412B (zh) | 测试文件生成、测试方法、装置、存储介质和计算机设备 | |
CN115129573A (zh) | 程序运行的监控方法、装置、电子设备及存储介质 | |
CN104977525A (zh) | 一种手动编辑飞针测试文件的方法 | |
CN105808419B (zh) | 应用测试方法及终端 | |
CN109376085B (zh) | 测试用例生成方法、装置及计算机可读存储介质 | |
CN116431468A (zh) | 测试方法、装置、处理设备及存储介质 | |
CN106294104B (zh) | 一种测试用例的执行方法及移动终端 | |
CN111339380B (zh) | 一种接口耗时数据处理方法及相关装置 | |
CN108415656B (zh) | 虚拟场景中的显示控制方法、装置、介质及电子设备 | |
CN103870368A (zh) | Sas扩展卡测试***及方法 | |
CN110968519A (zh) | 一种游戏测试方法、装置、服务器及存储介质 | |
CN110954214A (zh) | 一种设备测试方法、装置和*** | |
CN112525566B (zh) | 设备测试方法、装置及电子设备 | |
KR102017473B1 (ko) | 컨텐츠를 테스트하는 방법 및 그 방법을 수행하는 서버 | |
CN108763087A (zh) | 一种脚本测试方法、装置及*** | |
CN110554969B (zh) | 基于预设断点的目标码覆盖率测试方法、***及介质 | |
CN110139302B (zh) | 一种app业务类型定位方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |