CN116669064A - 无线协议测试方法及电子设备 - Google Patents
无线协议测试方法及电子设备 Download PDFInfo
- Publication number
- CN116669064A CN116669064A CN202211574826.XA CN202211574826A CN116669064A CN 116669064 A CN116669064 A CN 116669064A CN 202211574826 A CN202211574826 A CN 202211574826A CN 116669064 A CN116669064 A CN 116669064A
- Authority
- CN
- China
- Prior art keywords
- test
- instruction
- wireless protocol
- result
- configuration
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 1370
- 238000012795 verification Methods 0.000 claims abstract description 88
- 238000013101 initial test Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000004806 packaging method and process Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 75
- 238000004891 communication Methods 0.000 claims description 70
- 230000006854 communication Effects 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 36
- 238000005538 encapsulation Methods 0.000 claims description 19
- 210000001072 colon Anatomy 0.000 claims description 10
- 238000000354 decomposition reaction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 42
- 239000010410 layer Substances 0.000 description 41
- 238000007726 management method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 21
- 238000004458 analytical method Methods 0.000 description 20
- 238000010295 mobile communication Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000006855 networking Effects 0.000 description 12
- 238000010276 construction Methods 0.000 description 7
- 238000010926 purge Methods 0.000 description 7
- 210000004027 cell Anatomy 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000010998 test method Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/06—Testing, supervising or monitoring using simulated traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/10—Scheduling measurement reports ; Arrangements for measurement reports
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请适用于自动化测试技术领域,提供了一种无线协议测试方法及电子设备,包括:在接收到针对自动化测试应用的启动指令时,启动自动化测试应用,获取测试配置文件;基于预设的指令封装逻辑对测试配置文件中的封装指令进行解析,得到封装指令对应的测试配置信息;基于初始测试环境配置信息配置初始测试环境;执行各条测试指令,基于各条测试指令对应的校验规则,分别对各条测试指令的测试结果进行校验,得到各条测试指令的校验结果;基于每个测试项对应的所有测试指令的校验结果,分别确定每个测试项的测试结果,并基于所有测试项的测试结果生成无线协议测试的测试结果文件,不仅提高了无线协议测试质量,而且实现了自动化无线协议测试。
Description
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种无线协议测试方法及电子设备。
背景技术
随着电子设备的不断发展,电子设备能够实现的功能越来越多,例如,很多电子设备都具备无线通信功能。为了确保电子设备出厂后其无线通信功能的可靠性,通常需要在电子设备出厂之前对电子设备进行无线协议测试,以测试电子设备的无线通信功能是否正常。
常用的一种无线协议测试方法是,先采用数据线将电子设备与上位机进行连接;之后,通过上位机中安装的测试工具向电子设备发送测试指令,电子设备根据接收到的测试指令完成相应的无线协议测试;测试完成后断开电子设备与上位机的连接。即,在电子设备的整个无线协议测试过程中,电子设备与上位机之间始终保持有线连接状态,这会对电子设备的无线协议测试过程造成干扰,从而降低电子设备的无线协议测试质量。此外,由于需要在无线协议测试开始之前以及测试完成之后进行数据线插拔操作,数据线插拔操作通常较难通过机械手完成,需要人工进行操作,因此上述无线协议测试方法无法实现自动化无线协议测试。
发明内容
本申请实施例提供一种无线协议测试方法及电子设备,不仅可以提高电子设备的无线协议测试质量,而且可以使电子设备实现自动化无线协议测试。
第一方面,本申请实施例提供一种无线协议测试方法,包括:
在接收到针对自动化测试应用的启动指令时,启动所述自动化测试应用,并获取用于所述电子设备的无线协议测试的测试配置文件;所述测试配置文件中包括与所述无线协议测试相关的所有测试配置信息各自对应的封装指令;
基于预设的指令封装逻辑对所述测试配置文件中的各条所述封装指令进行解析,得到所述封装指令对应的所述测试配置信息;所述测试配置信息包括初始测试环境配置信息以及与所述电子设备的无线通信功能相关的一个或多个测试项的配置信息,所述测试项的配置信息包括所述测试项对应的一条或多条测试指令以及每条所述测试指令对应的校验规则;
基于所述初始测试环境配置信息配置所述电子设备的初始测试环境;
在所述初始测试环境完成后,执行各条所述测试指令,得到各条所述测试指令的测试结果,并基于各条所述测试指令对应的所述校验规则,分别对各条所述测试指令的测试结果进行校验,得到各条所述测试指令的校验结果;
基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果,并基于所有所述测试项的测试结果生成所述无线协议测试的测试结果文件。
根据本实施例提供的无线协议测试方法,通过在电子设备中安装自动化测试应用,由自动化测试应用在启动后获取用于电子设备的无线协议测试的测试配置文件;由于测试配置文件中包括与无线协议测试相关的所有测试配置信息各自对应的封装指令,因此基于预设的指令封装逻辑对各条封装指令进行解析可以得到与无线协议测试相关的所有测试配置信息,基于解析得到的测试配置信息便可完成电子设备的无线协议测试;如此,电子设备在获取到测试配置文件之后的整个无线协议测试过程中无需与其他设备建立通信连接,从而可以避免对无线协议测试过程产生干扰,提高了无线协议测试质量。
此外,由于测试配置信息包括初始测试环境配置信息以及与电子设备的无线通信功能相关的一个或多个测试项的配置信息,测试项的配置信息包括测试项对应的一条或多条测试指令以及测试指令对应的校验规则,因此,基于初始测试环境配置信息对电子设备的初始测试环境进行配置,可以实现无线协议测试环境的自动化配置;通过依次执行每个测试项对应的各条测试指令,可以得到各条测试指令的测试结果;通过基于各条测试指令对应的校验规则分别对各条指令的测试结果进行校验,可以得到各条测试指令的校验结果;基于每个测试项对应的所有测试指令的校验结果,可以确定出每个测试项的测试结果;基于所有测试项的测试结果可以生成无线协议测试的测试结果文件,因此整个无线协议测试过程无需人工接入便可自动完成,从而使电子设备实现了自动化无线协议测试。
在第一方面的一种可选的实现方式中,所述测试配置信息还包括握手配置信息,所述握手配置信息用于描述所述电子设备在进行所述无线协议测试时与上位机之间的通信规则;对应地,在所述基于所述初始测试环境配置信息配置所述电子设备的初始测试环境之后,所述无线协议测试方法还包括:
基于所述握手配置信息,向所述上位机发送第一指示信息;所述第一指示信息用于指示所述电子设备已完成所述初始测试环境的配置,并开始进行所述无线协议测试;
在发送所述第一指示信息后断开与所述上位机之间的通信连接。
根据本实施例提供的无线协议测试方法,由于与电子设备的无线协议测试相关的测试配置信息中包括握手配置信息,握手配置信息用于描述电子设备在进行无线协议测试时与上位机之间的通信规则,因此,电子设备在完成初始测试环境的配置后,通过基于握手配置信息,向上位机发送用于指示电子设备已完成初始测试环境的配置,并开始进行无线协议测试的第一指示信息,可以使上位机获知电子设备的无线协议测试的测试开始时间,以便上位机对电子设备的无线协议测试过程进行预测性监控。例如,上位机可以基于无线协议测试的测试开始时间预测电子设备的无线协议测试的测试结束时间,或者基于无线协议测试的测试开始时间预测电子设备当前正在进行哪个测试项的测试等。
此外,由于电子设备在发送第一指示信息后断开了与上位机的通信连接,从而可以避免电子设备与上位机之间的连接对无线协议测试过程产生的影响,提高了无线协议测试质量。
在第一方面的一种可选的实现方式中,所述封装指令包括所述测试项的配置信息对应的测试项指令;所述测试项指令中包括一条或多条测试配置指令的信息;所述测试配置指令的信息包括所述测试配置指令的内容,所述测试指令的内容中包括一条或多条所述测试指令和/或功能配置指令;对应地,所述基于预设的指令封装逻辑对所述测试配置文件中的各条所述封装指令进行解析,包括:
针对每条所述测试配置指令,识别所述测试配置指令的内容中的分号,并将所述测试配置指令的内容中通过所述分号分隔的每一部分内容分别作为一条分解指令;
基于预设功能标签,识别所述分解指令中的功能配置指令和测试指令;
对于配置有校验规则的所述测试指令,解析所述测试指令对应的所述校验规则。
在第一方面的一种可选的实现方式中,所述校验规则包括所述测试指令的最小执行次数、最大执行次数、预设重试间隔及一组或多组测试结果校验逻辑;所述测试结果校验逻辑包括一个或多个校验位以及每个所述校验位对应的期望值;对应地,所述解析所述测试指令对应的所述校验规则,包括:
识别所述测试指令对应的所述校验规则中的空格;
识别所述空格左侧的内容中的冒号,在所述冒号的数量为2时,将所述空格左侧的内容中通过所述冒号分隔的内容依次确定为所述最小执行次数、所述最大执行次数及所述预设重试间隔;
识别所述空格右侧的内容中的逗号,将所述空格右侧的内容中通过所述逗号分隔的每一部分内容分别确定为一组测试结果校验逻辑;
识别每组所述测试结果校验逻辑中的中括号,将每组所述测试结果校验逻辑中第一个所述中括号中的内容确定为所述校验位,将每组所述测试结果校验逻辑中第二个所述中括号中的内容确定为相应校验位对应的所述期望值。
在第一方面的一种可选的实现方式中,所述测试指令的校验结果包括校验成功和校验失败;对应地,所述执行各条所述测试指令,得到各条所述测试指令的测试结果,并基于各条所述测试指令对应的所述校验规则,分别对各条所述测试指令的测试结果进行校验,得到各条所述测试指令的校验结果,包括:
针对每条所述测试指令,获取所述测试指令对应的校验规则;
执行所述测试指令,得到所述测试指令的测试结果,并将所述测试指令的当前执行次数加1;所述测试指令的当前执行次数的初始值为0;
从所述测试结果中提取各个所述校验位的实际值;
在所述测试结果中所有所述校验位的实际值均分别与相应校验位对应的期望值相匹配时,判断所述测试指令的当前执行次数是否小于所述最小执行次数;在所述测试指令的当前执行次数不小于所述最小执行次数时,确定所述测试指令的校验结果为校验成功;
在所述测试结果中至少有一个校验位的实际值与相应校验位对应的期望值不匹配时,判断所述测试指令的当前执行次数是否小于所述的最大执行次数;在所述测试指令的当前执行次数不小于所述最大执行次数时,确定所述测试指令的校验结果为校验失败。
根据本实施例提供的无线协议测试方法,通过在测试指令的校验规则中配置测试指令的最小执行次数和最大重试次数,在执行了最小执行次数次测试指令,且每次执行测试指令后得到的测试结果中的所有校验位的实际值均分别与相应校验位对应的期望值相匹配时,才确定测试指令的校验结果为校验成功,从而可以提高测试指令的校验结果的准确性。
此外,在执行了最大执行次数次测试指令,且至少有一次执行测试指令后得到的测试结果中有一个校验位的实际值与相应校验位对应的期望值相不匹配时,确定测试指令的校验结果为校验失败,不仅可以提高测试指令的校验结果的准确性,而且可以避免指令执行校验单元无休止地执行测试指令,提高了无线协议测试的整体测试效率。
在第一方面的一种可选的实现方式中,所述基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果,包括:
在所述测试项对应的所有测试指令的校验结果均为校验成功时,确定所述测试项的测试结果为测试成功;
在所述测试项对应的至少一条测试指令的校验结果为校验失败时,确定所述测试项的测试结果为测试失败。
在第一方面的一种可选的实现方式中,在基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果之后,还包括:
在所述测试项的测试结果为测试失败时,基于所述测试项的测试详情信息生成所述测试项对应的故障二维码;所述测试详情信息包括所述测试项的标识、所述测试项对应的各条所述测试指令的测试结果以及所述测试项的测试失败原因;
显示所述故障二维码以及所述测试项的标识。
根据本实施例提供的无线协议测试方法,通过显示测试失败的测试项的故障二维码以及标识,不仅能够使测试人员直观地获知哪个测试项测试失败,而且通过二维码形式展示测试失败的测试项的测试详情信息,可以提高测试项的测试详情信息的安全性。
在第一方面的一种可选的实现方式中,在所述基于所有所述测试项的测试结果生成所述无线协议测试的测试结果文件之后,还包括:
向上位机发送所述测试结果文件;和/或,
基于所述测试结果文件生成所述无线协议测试的结果二维码,并显示所述结果二维码。
根据本实施例提供的无线协议测试方法,通过显示无线协议测试的结果二维码,便于测试人员从电子设备端直接扫码获取测试结果文件;通过向上位机发送测试结果文件,便于上位机对电子设备的无线协议测试结果进行监控和管理。
在第一方面的一种可选的实现方式中,在所述启动所述自动化测试应用之后,还包括:
将测试状态标志位的值置为第一预设值;所述第一预设值用于指示所述电子设备当前正在进行无线协议测试。
在第一方面的一种可选的实现方式中,还包括:
在接收到用于退出所述自动化测试应用的退出指令时,关闭所述自动化测试应用,并将所述测试状态标志位的值置为第二预设值;所述第二预设值用于指示所述电子设备当前未进行无线协议测试;
对应地,所述在接收到针对自动化测试应用的启动指令时,启动所述自动化测试应用,包括:
在接收到针对所述自动化测试应用的启动指令时,获取所述测试状态标志位的值;
在所述测试状态标志位的值为所述第二预设值时,启动所述自动化测试应用;
在所述测试状态标志位的值为所述第一预设值时,不响应,或者输出第一错误提示信息;所述第一错误提示信息用于提示所述电子设备当前已开始所述无线协议测试。
根据本实施例提供的无线协议测试方法,通过设置测试状态标志位,可以避免在无线协议测试过程中用户多次启动自动化测试应用导致中断无线协议测试过程。
第二方面,本申请实施例提供一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机可执行程序,所述一个或多个计算机可执行程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述第一方面的任一实现方式所述的无线协议测试方法中的各步骤。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序在被计算机调用时使所述计算机执行如上述第一方面的任一实现方式所述的无线协议测试方法中的各步骤。
第四方面,本申请实施例提供一种计算机可执行程序产品,当计算机可执行程序产品在电子设备上运行时,使得电子设备执行上述第一方面的任一实现方式所述的无线协议测试方法中的各步骤。
第五方面,本申请实施例提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机可执行程序,以实现如上述第一方面的任一实现方式所述的无线协议测试方法中的各步骤。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1A为一种常用的无线协议测试方法的应用场景示意图;
图1B为一种常用的无线协议测试方法的实现过程示意图;
图2为本申请实施例提供的一种无线协议自动化测试系统的示意性架构图;
图3为本申请实施例提供的一种测试配置文件的示意性结构图;
图4为本申请实施例提供的一种电子设备的软件架构示意图;
图5A至图5C为本申请实施例提供的无线协议测试方法实现过程中可能涉及的一些GUI示意图;
图6为本申请实施例提供的一种电子设备执行无线协议测试方法时电子设备中各模块和/或单元之间的数据交互过程的示意性框图;
图7为本申请实施例提供的一种测试配置指令的内容的解析流程示意图;
图8为本申请实施例提供的一种测试指令的测试结果的校验过程示意图;
图9A为本申请实施例提供的一种测试项的测试结果界面示意图;
图9B为本申请实施例提供的一种无线协议测试的测试结果界面示意图;
图10为本申请实施例提供的一种无线协议测试方法的示意性流程图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
需要说明的是,本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联物的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,除非另有说明,“多个”是指两个或多于两个,“至少一个”、“一个或多个”是指一个、两个或两个以上。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”特征可以明示或者隐含地包括一个或者更多个该特征。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
目前,很多电子设备(例如手机、平板电脑或可穿戴设备等)均具备无线通信功能,包括但不限于蓝牙功能、近场通信(near field communication,NFC)功能、全球定位(global positioning system,GPS)功能、无线保真(wireless fidelity,WIFI)功能或红外功能等。为了确保电子设备出厂之后其无线通信功能的可靠性,通常需要在电子设备完成整机组装之后、在电子设备出厂之前对电子设备进行无线协议测试。电子设备的无线协议测试是电子设备整机模块测试(module testing,MT)中的一个环节,主要用于测试电子设备的无线通信功能是否正常。电子设备的无线协议测试例如可以包括对电子设备的射频天线(例如蓝牙天线、WIFI天线或NFC天线等)的通路导通性、性能一致性、收发功率及收发灵敏度等的测试。
常用的一种无线协议测试方式是,在进入电子设备的无线协议测试环节后,如图1A所示,采用数据线(例如通用串行总线(universal serial bus,USB))将电子设备(例如手机)与上位机(例如电脑)进行连接;之后,通过上位机中安装的测试工具向电子设备逐条发送测试指令,电子设备通过执行接收到的测试指令完成相应的无线协议测试;在无线协议测试完成后,断开电子设备与上位机之间的数据线,以断开电子设备与上位机的连接。
其中,通过上位机中安装的测试工具向电子设备逐条发送测试指令,电子设备通过执行接收到的测试指令完成相应的无线协议测试的具体过程可以如图1B所示,详述如下:
测试人员基于电子设备的无线协议测试逻辑,在上位机中的测试工具中输入用于电子设备的无线协议测试的测试指令,并通过点击测试工具中的发送按钮控制测试工具向电子设备发送测试指令。具体地,上位机中的测试工具接收到指令发送指示后,通过指令封装模块对测试人员输入的测试指令进行封装,并通过指令收发管理模块将封装后的测试指令传输给上位机中的USB接口,上位机中的USB接口通过USB数据线将封装后的测试指令发送给电子设备。电子设备中的USB接口接收到封装后的测试指令后,向电子设备的软件操作系统的系统层中的指令解析模块发送该封装后的测试指令,系统层中的指令解析模块对封装后的测试指令进行解析,得到测试指令,并将该测试指令传输至系统层中的指令收发模块,系统层中的指令收发模块将测试指令通过应用程序框架层中的应用接口传输至应用层中的测试应用中,测试应用通过执行该测试指令实现相应的无线协议测试。
基于上述测试逻辑,在电子设备的无线协议测试过程中,测试人员需要将用于无线协议测试的测试指令逐条输入至上位机中的测试工具中,上位机需要逐条向电子设备发送封装后的测试指令,也就是说,在电子设备的整个无线协议测试过程中,电子设备与上位机之间需要始终保持有线连接状态。然而,电子设备与上位机之间的有线连接会对电子设备的无线协议测试产生干扰,从而降低电子设备的无线协议测试质量。此外,由于需要在无线协议测试开始之前以及测试完成之后进行数据线插拔操作,而数据线插拔操作通常较难通过机械手完成,需要人工进行操作,因此传统的无线协议测试方法无法实现自动化无线协议测试。
为了解决上述无线协议测试方法存在的无线协议测试质量较低以及无法实现自动化无线协议测试等技术问题,本申请实施例提供了一种无线协议测试方法及电子设备,通过在电子设备中安装自动化测试应用,由自动化测试应用在启动后获取用于电子设备的无线协议测试的测试配置文件;由于测试配置文件中包括与无线协议测试相关的所有测试配置信息各自对应的封装指令,因此基于预设的指令封装逻辑对各条封装指令进行解析可以得到与无线协议测试相关的所有测试配置信息,基于解析得到的测试配置信息便可完成电子设备的无线协议测试;如此,电子设备在获取到测试配置文件之后的整个无线协议测试过程中无需与其他设备建立通信连接,从而可以避免对无线协议测试过程产生干扰,提高了无线协议测试质量。
此外,由于测试配置信息包括初始测试环境配置信息以及与电子设备的无线通信功能相关的一个或多个测试项的配置信息,测试项的配置信息包括测试项对应的一条或多条测试指令以及测试指令对应的校验规则,因此,基于初始测试环境配置信息对电子设备的初始测试环境进行配置,可以实现无线协议测试环境的自动化配置;通过依次执行每个测试项对应的各条测试指令,可以得到各条测试指令的测试结果;通过基于各条测试指令对应的校验规则分别对各条指令的测试结果进行校验,可以得到各条测试指令的校验结果;基于每个测试项对应的所有测试指令的校验结果,可以确定出每个测试项的测试结果;基于所有测试项的测试结果可以生成无线协议测试的测试结果文件,因此整个无线协议测试过程无需人工接入便可自动完成,从而使电子设备实现了自动化无线协议测试。
本申请实施例提供的无线协议测试方法可以适用于无线协议自动化测试系统中。示例性的,如图2所示,为本申请实施例提供的一种无线协议自动化测试系统的示意性架构图。该无线协议自动化测试系统可以包括电子设备10、上位机20以及服务器30。
在具体应用中,在需要时,电子设备10可以与上位机20建立有线连接或者无线连接,电子设备10和上位机20均可以与服务器30建立无线连接。电子设备10、上位机20及服务器30需要建立通信连接的场景将在后续实施例中进行说明,此处暂不对其进行详述。
有线连接例如可以包括USB连接。无线连接例如可以包括蓝牙连接、WIFI连接、NFC连接、红外线(infrared radiation,IR)连接或基于移动通信技术的连接等。
移动通信技术例如可以包括第五代移动通信技术(5th generation mobilecommunication technology,简称5G)、第四代移动通信技术(4th generation mobilecommunication technology,简称4G)、第三代移动通信技术(3th generation mobilecommunication technology,简称3G)或第二代移动通信技术(2th generation mobilecommunication technology,简称2G)等。
在一些实施例中,电子设备10可以是任意一个具备无线通信功能,且需要进行无线协议测试的电子设备。示例性的,电子设备10可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等设备,本申请实施例对电子设备10的具体类型不做任何限制。
具体地,电子设备10中可以安装有自动化测试应用(application,APP)101,电子设备可以通过自动化测试应用101从上位机20或者服务器30中获取用于电子设备10的无线协议测试的测试配置文件,并基于该测试配置文件实现对电子设备10的自动化无线协议测试。其中,用于电子设备10的无线协议测试的测试配置文件可以是上位机20生成的。
在一些实施例中,上位机20可以是电子设备10的测试管理设备。示例性的,上位机20可以是平板电脑、笔记本电脑、UMPC、上网本或PDA等电子设备,本申请实施例对上位机20的具体类型不做任何限制。
具体地,上位机20中可以安装有测试工具201。在一些实施例中,测试工具201可以用于供用户配置用于电子设备10的无线协议测试的测试配置信息。在另一些实施例中,测试工具201可以用于基于用户配置的测试配置信息生成用于电子设备10的无线协议测试的测试配置文件。在又一些实施例中,测试工具201还可以用于对电子设备10的无线协议测试过程进行监控,和/或对电子设备10的无线协议测试结果进行管理等。
在一些实施例中,服务器30可以用于提供数据存储服务,包括但不限于测试配置文件的存储、无线协议测试结果的存储或者无线协议测试状态的存储等。示例性的,服务器30可以是云服务器,也可以是物理服务器,本申请实施例对服务器30的具体类型不做特别限定。
以下对上位机20中的测试工具201基于用户配置的测试配置信息生成用于电子设备10的无线协议测试的测试配置文件的具体过程进行详细说明。
在具体应用中,当需要对电子设备10进行无线协议测试时,用户(例如测试人员)可以在上位机20的测试工具201中配置用于电子设备10的无线协议测试的测试配置信息。
在一些实施例中,用户配置的测试配置信息例如可以包括初始测试环境配置信息以及与电子设备10的无线通信功能相关的一个或多个测试项的配置信息等。
其中,初始测试环境配置信息可以用于描述无线协议测试开始进行时所需的测试环境。示例性的,初始测试环境配置信息可以包括一个或多个测试环境配置项的配置信息。测试环境配置项例如可以包括电子设备10的联网状态或屏幕显示状态等。例如,当无线协议测试需要在电子设备10连接WIFI网络以及灭屏的情况下进行时,联网状态这一测试环境配置项的配置信息可以为连接WIFI网络,屏幕显示状态这一测试环境配置项的配置信息可以为灭屏。
与电子设备10的无线通信功能相关的测试项可以包括电子设备10实现无线通信功能时涉及到的各个器件的各个待测参数。电子设备10实现无线通信功能时涉及到的器件例如可以包括GPS天线、NFC天线、WIFI天线或5G天线等射频天线,射频天线的待测参数例如可以包括射频天线的收发功率、收发灵敏度及性能一致性等,也即与电子设备10的无线通信功能相关的测试项可以包括GPS天线、NFC天线、WIFI天线或5G天线等射频天线的收发功率、收发灵敏度及性能一致性等。
测试项的配置信息例如可以包括测试项对应的一条或多条测试配置指令的信息。
测试配置指令的信息例如可以包括测试配置指令的名称和内容。其中,测试配置指令的名称可以用于描述测试配置指令所实现的功能。测试配置指令的内容例如可以包括一条或多条测试指令和/或一条或多条功能配置指令等,测试指令可以配置有对应的校验规则。
其中,测试指令的格式可以根据电子设备10的无线协议所适用的硬件平台确定。例如,当电子设备10的无线协议适用于高通平台时,测试指令可以为基于高通平台的诊断(diagnostic,diag)格式的指令。再例如,当电子设备10的无线协议适用于联发科(mediatek,MTK)平台时,测试指令可以为基于MTK平台的attention(AT)格式的指令。测试指令的具体内容可以由用户根据实际测试需求进行配置,本申请实施例对其不做特别限定。
测试指令对应的校验规则可以用于校验测试指令被执行后得到的测试结果是否符合预期。示例性的,测试指令对应的校验规则中可以包括测试指令的最小执行次数、最大执行次数、预设重试间隔以及测试结果校验逻辑。测试结果校验逻辑例如可以包括测试结果的校验位以及校验位对应的期望值。基于此,当某条测试指令被执行后得到的测试结果中的校验位的实际值与该校验位对应的期望值相匹配时,可以表示该测试指令的校验结果为校验成功。当某条测试指令被执行后得到的测试结果中的校验位的实际值与该校验位对应的期望值不匹配时,可以每隔预设重试间隔重新执行一次该条测试指令,直至该条测试指令的执行次数达到最大执行次数为止;当该条测试指令每次被执行后得到的测试结果中的校验位的实际值与该校验位对应的期望值均不匹配时,可以表示该条测试指令的校验结果为校验失败;当该条测试指令有一次被执行后得到的测试结果中的校验位的实际值与该校验位对应的期望值相匹配时,可以表示该条测试指令的校验结果为校验成功。可以理解的是,当某条测试指令未配置对应的校验规则时,该条测试指令被执行后能够得到测试结果则表示该条测试指令校验成功。可以理解的是,当某个测试项对应的所有测试指令的校验结果均为校验成功时,可以表示该测试项测试成功,即表示该测试项对应的无线通信功能正常;当某个测试项对应的测试指令中至少有一条测试指令的校验结果为校验失败时,可以表示该测试项测试失败,即表示该测试项对应的无线通信功能异常。
功能配置指令可以用于描述其所属的测试配置指令中的一条或多条测试指令所需的特定测试环境。功能配置指令例如可以包括延时指令、屏幕亮度调节指令或网络设置指令等。其中,延时指令可以用于设置各条不同的测试指令之间的测试时间间隔。
在另一些实施例中,用户配置的测试配置信息还可以包括握手配置信息。握手配置信息可以用于描述电子设备10在进行无线协议测试时与上位机20之间的通信规则。示例性的,握手配置信息可以为,在初始测试环境配置完成后,向上位机20发送用于指示初始测试环境配置完成的第一指示信息,并断开与上位机20之间的通信连接。其中,第一指示信息用于指示电子设备10已完成无线协议测试的初始测试环境配置,并开始进行无线协议测试。本实施例通过配置握手配置信息,可以使上位机20获知电子设备10的无线协议测试的测试开始时间,以便上位机20对电子设备10的无线协议测试过程进行预测性监控,例如,上位机20可以基于无线协议测试的测试开始时间预测电子设备10的无线协议测试的测试结束时间,或者基于无线协议测试的测试开始时间预测电子设备10当前正在进行哪个测试项的测试等。
在又一些实施例中,用户配置的测试配置信息还可以包括测试环境清除信息。测试环境清除信息可以用于描述电子设备10完成无线协议测试后所需的运行环境。示例性的,测试环境清除信息可以包括一个或多个运行环境配置项的配置信息,运行环境配置项例如可以包括电子设备10的联网状态或屏幕显示状态等。
示例性的,用户在测试工具201中配置完测试配置信息后,可以通过点击测试工具201中的测试配置文件生成控件2011来指示上位机20生成用于电子设备10的无线协议测试的测试配置文件。上位机20检测到针对测试工具201中的测试配置文件生成控件2011的点击操作时,可以基于用户配置的测试配置信息以及预设的指令封装逻辑,将测试配置信息封装为与电子设备10的无线协议测试相关的一条或多条封装指令。
具体地,在用户配置的测试配置信息包括初始测试环境配置信息、握手配置信息、测试项的配置信息以及测试环境清除信息的情况下,上位机20可以将初始测试环境配置信息封装为对应的初始测试环境配置指令,将握手配置信息封装为对应的握手指令,将测试项的配置信息封装为对应的测试项指令,将测试环境清除信息封装为对应的测试环境清除指令。
其中,预设的指令封装逻辑可以是上位机20与电子设备10预先约定的任意一种指令封装逻辑。示例性的,所有测试配置信息对应的指令封装逻辑均可以包括:采用一组相对应的指令开始标识和指令结束标识分别表示封装指令的开始和结束,并将测试配置信息配置在对应的指令开始标识与指令结束标识之间,得到测试配置信息对应的封装指令。其中,指令开始标识和指令结束标识的具体格式可以根据实际需求设置,此处对其不做特别限定。
示例性的,指令开始标识的格式可以为<指令标识>,指令结束标识的格式可以为</指令标识>,指令标识例如可以为封装指令的名称。例如,初始测试环境配置指令的指令开始标识可以为<AppConfig>,初始测试环境配置指令的指令结束标识可以为</AppConfig>。再例如,握手指令的指令开始标识可以为<RFHANDSHAKE_ITEM>,握手指令的指令结束标识可以为</RFHANDSHAKE_ITEM>。再例如,测试项指令的指令开始标识可以为<TEST_ITEM>,测试项指令的指令结束标识可以为</TEST_ITEM>。
可以理解的是,不同的测试配置信息对应的指令封装逻辑可以不同。
示例性的,对于初始测试环境配置信息,其对应的指令封装逻辑可以包括:将初始测试环境配置信息封装为“键-值”格式的初始测试环境配置指令。基于此,上位机20可以将初始测试环境配置信息中的各个测试环境配置项分别作为键,将各个测试环境配置项的配置信息分别作为对应键的值,对初始测试环境配置信息进行封装,得到对应的初始测试环境配置指令。例如,假设初始测试环境配置信息中的测试环境配置项包括环境光(EnvirLight)、环境光延时(EnvirLightDelay)及屏幕亮度(ScreenBrihgtness);环境光、环境光延时及屏幕亮度各自的配置信息分别为58、0、0.4,则上位机20可以基于上述初始测试环境配置信息以及初始测试环境配置信息对应的指令封装逻辑,得到如下初始测试环境配置指令:
<AppConfig>
<add key="EnvirLight"value="58"/>
<add key="EnvirLightDelay"value="0"/>
<add key="ScreenBrihgtness"value="0.4"/>
</AppConfig>
示例性的,对于握手配置信息,上位机20可以将其封装为如下握手指令:
<RFHANDSHAKE_ITEM>
<××××××/>
</RFHANDSHAKE_ITEM>
示例性的,对于与电子设备10的无线通信功能相关的每个测试项的配置信息,其对应的指令封装逻辑可以包括:将每个测试项对应的每条测试配置指令的名称分别作为不同的指令名称,将每条测试配置指令的内容分别作为相应指令名称的指令值,以将每条测试配置指令均封装为“指令名称-指令值”格式的封装指令。具体地,可以将同一条测试配置指令的内容配置在指令值后的一个双引号(即"")中,并通过分号(即;)对测试配置指令中包括的不同测试指令或功能配置指令进行分隔;将每条测试指令对应的校验规则配置在该条测试指令之后的小括号(即())中。更具体地,可以将校验规则中的最小执行次数、最大执行次数、预设重试间隔以及测试结果校验逻辑依次排列在小括号中,并通过冒号(即:)对最小执行次数、最大执行次数及预设重试间隔进行分隔,通过空格对预设重试间隔与测试结果校验逻辑进行分隔,通过区间形式(即中括号[])来表示测试结果检验逻辑中的每个校验位以及每个校验位对应的期望值,且不同校验位之间可以通过分号进行分隔,每个校验位对应的期望值可以配置在该校验位之后。
例如,假设某个测试项对应有两条测试配置指令,该两条测试配置指令的名称分别为cmdInit和cmdRx。其中,测试配置指令cmdInit的内容中包括两条测试指令和一条功能配置指令;两条测试指令分别为4B 0B 69 00 03 00 96 00和4B 0B 69 00 03 00 96 02;功能配置指令为延时指令,用于表示测试配置指令cmdInit中的两条测试指令之间的测试时间间隔为2000毫秒(millisecond,ms)。具体地,测试指令4B 0B 69 00 03 00 96 00配置有检验规则,且测试指令4B 0B 69 00 03 00 96 00对应的校验规则中,最小执行次数为1,最大执行次数为4,预设重试间隔为500ms,测试结果校验逻辑中的校验位包括测试结果中的第7位、第9位及第10位,且测试结果中的第7位对应的期望值为93,测试结果中的第9位和第10位各自对应的期望值均需要在10~100之间;测试指令4B 0B 69 00 03 00 96 02未配置校验规则。测试配置指令cmdRx的内容为空。则上位机20可以基于上述测试项的配置信息以及测试项的配置信息对应的指令封装逻辑,得到如下测试项指令:
<TEST_ITEM>
<CMD name="cmdInit"value="4B 0B 69 00 03 00 96 00(1:4:500
[7:7][96:96],[9:10][10:100]);NULL2000;4B 0B 69 00 03 00 96 02"/>
<CMD name="cmdRx"value=""/>
</TEST_ITEM>
示例性的,对于测试环境清除信息,其对应的指令封装逻辑可以与初始测试环境配置信息对应的指令封装逻辑相同,此处不对其进行赘述。基于此,上位机20可以基于测试环境清除信息对应的指令封装逻辑将测试环境清除信息封装为如下测试环境清除指令:
<AppEnvirClear>
<××××××/>
</AppEnvirClear>
本申请实施例中,上位机20将各个测试配置信息封装为对应的封装指令后,可以按照预设顺序将所有封装指令(包括初始测试环境配置指令、握手指令、测试项指令及测试环境清除指令等)汇总在预设格式的文件中,从而得到测试配置文件。也即,测试配置文件中可以包括对测试配置信息封装得到的一条或多条与电子设备10的无线协议测试相关的封装指令。
其中,预设格式可以是可扩展标记语言(extensible markup language,XML)格式,也可以是其他格式,本申请实施例对测试配置文件的具体格式不做特别限定。
预设顺序例如可以是上位机20根据用户配置的各个测试项的测试顺序确定得到的。示例性的,上位机20可以将初始测试环境配置指令作为测试配置文件中的第1条封装指令,将握手指令作为测试配置文件中的第2条封装指令,将测试环境清除指令作为测试配置文件中的最后一条封装指令,并按照用户配置的各个测试项的测试顺序,依次将各个测试项对应的测试项指令配置在握手指令与测试环境清除指令之间。例如,请参阅图3,为本申请实施例提供的一种测试配置文件的示意性结构图,如图3所示,该测试配置文件30中可以包括从前至后依次排列的初始测试环境配置指令301、握手指令302、与各个测试项对应的测试项指令(包括测试项指令302.1和测试项指令302.2)以及测试环境清除指令304等。
在一种可选的实现方式中,上位机20生成用于电子设备10的无线协议测试的测试配置文件之后,上位机20可以与服务器30建立无线连接,并将测试配置文件上传至服务器30中。服务器30接收到测试配置文件后,可以将测试配置文件进行存储。基于此,电子设备10可以在进行无线协议测试时与服务器30建立无线连接,并从服务器30中下载测试配置文件。
在另一种可选的实现方式中,上位机20生成用于电子设备10的无线协议测试的测试配置文件后,可以与电子设备10建立有线连接或者无线连接,以向电子设备20发送测试配置文件。电子设备10接收到测试配置文件后,可以将测试配置文件存储在电子设备10的本地存储器的预设存储路径下,以便电子设备10在进行无线协议测试时使用。
以下对电子设备10中的自动化测试应用101基于测试配置文件实现对电子设备10的自动化无线协议测试的具体过程进行详细说明。
为了便于理解,先对电子设备10的软件操作系统进行说明。示例性的,电子设备10的软件操作系统可以采用分层架构,事件驱动架构,微核架构,或云架构等。本申请实施例以电子设备10采用分层架构的系统为例,示例性说明电子设备10的软件操作系统。
请参阅图4,为本申请实施例提供的一种电子设备10的软件操作系统的示意性架构图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将电子设备10的软件操作系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统层,以及内核层。
应用程序层可以包括一系列应用程序包。示例性的,如图4所示,应用程序包可以包括自动化测试应用,相机,图库,日历,通话,新闻,短信息,WLAN等。
其中,自动化测试应用可以包括启动管理模块、解析模块、测试管理模块、故障处理模块、结果处理模块及异常监控模块等。
应用程序框架层为应用程序层的应用程序提供应用程序编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
示例性的,如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,通知管理器,视图系统,应用接口,二维码编码模块,电话管理器,资源管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供第一电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统层可以包括多个功能模块。例如,表面管理器(surface manager),三维图形处理库(例如OpenGL ES),2D图形引擎(例如SGL),媒体库(Media Libraries),收发模块等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供2D和3D图层的融合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,图层处理等。
2D图形引擎是2D绘图的绘图引擎。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如,MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是硬件和软件之间的层。内核层至少包括显示驱动,摄像头驱动,音频驱动,传感器驱动,测试状态记录模块等。
示例性的,如图5A至图5C所示,为本申请实施例提供的无线协议测试方法实现过程中可能涉及的一些图形用户界面(graphical user interface,GUI)示意图。为了便于说明,以下以电子设备为手机为例,对无线协议测试方法实现过程中可能涉及的一些GUI进行介绍。
在一些实施例中,如图5A所示,手机中可以安装有自动化测试应用101。当需要对手机进行无线协议测试时,用户可以启动该自动化测试应用101,以通过该自动化测试应用101实现对手机的自动化无线协议测试。
在一种可选的实现方式中,如图5A所示,用户可以通过点击自动化测试应用101的图标来启动自动化测试应用101。基于此,手机接收到用户针对自动化测试应用101的图标的点击操作时,可以启动自动化测试应用101,并显示如图5B所示的测试界面51。
在另一种可选的实现方式中,用户可以通过在手机的系统命令行程序(例如cmd.exe)中输入用于启动自动化测试应用101的启动命令来启动自动化测试应用101。基于此,手机检测到用户在系统命令行程序中输入用于启动自动化测试应用101的启动命令,并触发回车按键时,可以启动自动化测试应用101,并显示如图5B所示的测试界面51。
需要说明的是,手机启动自动化测试应用101后,可以获取用于手机的无线协议测试的测试配置文件。具体地,手机在启动自动化测试应用101之后,可以查询本地存储器的预设存储路径下是否存储有测试配置文件。可选的,在手机的本地存储器的预设存储路径下存储有测试配置文件的情况下,手机可以直接从预设存储路径下获取测试配置文件;可选的,在手机的本地存储器的预设存储路径下未存储测试配置文件的情况下,手机可以与服务器30建立无线连接(例如WIFI连接),并从服务器30中下载测试配置文件。
示例性的,如图5B和图5C所示,自动化测试应用101的测试界面51中可以包括用于退出手机的无线协议测试的退出控件511、第一信息显示框512以及第二信息显示框513。
其中,第一信息显示框512可以用于显示手机的联网状态5121、手机的配置信息5122和/或测试配置文件的下载状态5123等;第二信息显示框513可以用于显示测试配置文件的下载进度。具体地,手机的联网状态5121例如可以包括“已接入WIFI网络”或“已断开网络连接”等。手机的配置信息5112例如可以包括手机的标识,手机的标识例如可以是手机的国际移动设备识别码(international mobile equipment identity,IMEI);示例性的,手机的配置信息5112可以通过携带有手机的配置信息5112的二维码形式来表示。测试配置文件的下载状态例如可以包括“文件下载成功”或“文件下载失败”等。测试配置文件的下载进度例如可以包括“文件下载中(70%)”或“文件下载完成(100%)”等。
例如,在手机接入WIFI网络,并从服务器30中下载测试配置文件的过程中,如图5B所示,手机在第一信息显示框512中显示的联网状态5121例如可以为“已接入WIFI网络”,同时,手机在第二信息显示框513中显示的测试配置文件的下载进度例如可以为“文件下载中(70%)”。再例如,当手机从服务器30中成功下载到测试配置文件后,如图5C所示,手机在第一信息显示框512中显示的测试配置文件的下载状态例如可以为“文件下载成功”。再例如,当手机未从服务器30中成功下载到测试配置文件时,手机在第一信息显示框512中显示的测试配置文件的下载状态例如可以为“文件下载失败”(未图示)。
需要说明的是,图5A至图5C所示的GUI仅为示例,在实际应用中,手机的GUI中还可以包括比图中更少或更多的信息,本申请实施例对此不作限定。
本申请实施例提供的无线协议测试方法可以通过电子设备中的多个模块和/或单元执行。示例性的,请参阅图6,为本申请实施例提供的一种电子设备执行无线协议测试方法时电子设备中各模块和/或单元之间的数据交互过程的示意性框图。
如图6所示,电子设备中安装有自动化测试应用。自动化测试应用可以包括启动管理模块、解析模块、测试管理模块、故障处理模块、结果处理模块及异常监控模块。其中,启动管理模块例如可以包括图标启动单元、命令启动单元、启动界面配置单元及配置文件获取单元等。解析模块例如可以包括文件解析单元、指令解析单元及指令构造单元。测试管理模块例如可以包括环境配置单元、射频握手单元及指令执行校验单元等。故障处理模块例如可以包括故障信息显示单元和故障码生成单元等。结果处理模块例如可以包括结果文件生成单元和结果显示单元等。异常监控模块例如可以包括超时异常监测单元和功能异常检测单元等。自动化测试应用可以位于电子设备的软件操作系统的应用层(如图4所示)。
此外,电子设备还可以包括二维码编码模块和应用接口。作为示例而非限定,应用接口可以是应用层与系统层之间或者应用程与内核层之间的任意一种接口描述语言(interface description language,IDL)。应用接口例如可以包括标志位设置接口和收发接口等。收发接口例如可以包括GPS接口、NFC接口、WIFI接口或5G接口等。二维码编码模块和应用接口可以位于电子设备的软件操作系统的应用程序框架层(如图4所示)。
此外,电子设备还可以包括收发模块。收发模块例如可以包括GPS通信模块、NFC通信模块、WIFI通信模块或5G通信模块等。收发模块可以位于电子设备的软件操作系统的系统层(如图4所示)。
此外,电子设备还可以包括测试状态记录模块。测试状态记录模块可以位于电子设备的软件操作系统的内核层(如图4所示)。
基于此,在一些实施例中,启动管理模块中的图标启动单元在接收到用户针对自动化测试应用的图标的点击操作时,可以响应于该点击操作,分别向配置文件获取单元和启动界面配置单元发送第二指示信息和第三指示信息。
在另一些实施例中,启动管理模块中的命令启动单元在检测到用户在命令行程序中输入的用于启动自动化测试应用的启动命令时,可以响应于该启动命令,分别向配置文件获取单元和启动界面配置单元发送第二指示信息和第三指示信息。
其中,第二指示信息可以用于指示配置文件获取单元获取用于电子设备的无线协议测试的测试配置文件。基于此,配置文件获取单元在接收到来自图标启动单元或者命令启动单元的第二指示信息时,可以获取用于电子设备的无线协议测试的测试配置文件。具体地,配置文件获取单元在接收到第二指示信息时,可以检测电子设备的预设存储路径下是否存储有测试配置文件;在电子设备的预设存储路径下存储有测试配置文件的情况下,配置文件获取单元可以直接从电子设备的预设存储路径中获取测试配置文件;在电子设备的预设存储路径下存储未存储测试配置文件的情况下,配置文件获取单元可以调用收发接口从收发模块中获取电子设备当前的联网状态;在电子设备当前的联网状态为已接入无线网络(例如已接入WIFI网络)的情况下,配置文件获取单元可以通过收发模块从服务器中下载测试配置文件;在电子设备当前的联网状态为未接入无线网络的情况下,配置文件获取单元可以调用收发接口向收发模块发送联网指示,以指示收发模块接入无线网络,且配置文件获取单元可以在收发模块接入无线网络后通过收发模块从服务器中下载测试配置文件。
第三指示信息可以用于指示启动界面配置单元配置并显示自动化测试应用的测试界面。基于此,启动界面配置单元在接收到来自图标启动单元或者命令启动单元的第三指示信息时,可以从测试配置文件获取单元中获取测试配置文件的下载状态、测试配置文件的下载进度以及电子设备的联网状态等信息,并从电子设备的本地存储器中获取电子设备的配置信息,且基于电子设备的配置信息、测试配置文件的下载状态和下载进度以及电子设备的联网状态等信息生成如图5B或图5C所示的自动化测试应用的测试界面51,并显示该测试界面51。
此外,配置文件获取单元获取到测试配置文件后,还可以向解析模块发送该测试配置文件。基于此,解析模块接收到测试配置文件后,可以通过文件解析单元对测试配置文件进行解析,得到与用户配置的测试配置信息对应的一条或多条封装指令。示例性的,文件解析单元对测试配置文件进行解析的过程可以包括:文件解析单元识别测试配置文件中包括的一组或多组指令开始标识和指令结束标识,并将测试配置文件中由每组指令开始标识和指令结束标识封装的内容分别识别为一条封装指令。封装指令例如可以包括初始测试环境配置指令、握手指令、测试项指令及测试环境清除指令等。
在一些实施例中,文件解析单元可以将解析得到的所有封装指令发送至指令解析单元。指令解析单元接收到封装指令后,可以根据各条封装指令对应的指令封装逻辑分别对各条封装指令进行解析,得到各条封装指令分别对应的测试配置信息,并向测试管理模块发送各条封装指令分别对应的测试配置信息。
示例性的,对于初始测试环境配置指令,指令解析单元可以根据初始测试环境配置信息对应的指令封装逻辑对初始测试环境配置指令进行解析,得到初始测试环境配置信息,并向环境配置单元发送初始测试环境配置信息。对应地,环境配置单元接收到初始测试环境配置信息后,可以基于初始测试环境配置信息对电子设备当前的运行环境进行配置,以使电子设备的运行环境符合无线协议测试所需的测试环境要求。
示例性的,对于握手指令,指令解析单元可以根据握手配置信息对应的指令封装逻辑对握手指令进行解析,得到握手配置指令,并向射频握手单元发送握手配置指令。对应地,射频握手单元接收到握手配置信息后,可以调用应用程序框架层的收发接口向收发模块发送第一指示信息,以控制收发模块向上位机发送第一指示信息。示例性的,第一指示信息可以用于指示电子设备已完成无线协议测试的初始测试环境配置,并开始进行无线协议测试。
示例性的,对于测试环境清除指令,指令解析单元可以根据测试环境清除信息对应的指令封装逻辑对测试环境清除指令进行解析,得到测试环境清除信息,并向环境配置单元发送测试环境清除信息。对应地,环境配置单元接收到测试环境清除信息后,可以基于测试环境清除信息对电子设备的运行环境进行配置,以使电子设备退出测试模式,恢复正常运行模式。
示例性的,对于每条测试项指令,指令解析单元可以根据与测试项的配置信息对应的指令封装逻辑对测试项指令进行解析,得到测试项对应的一条或多条测试配置指令的信息(包括测试配置指令的名称和内容等),并对每条测试配置指令的内容进行解析,得到每条测试配置指令包括的一条或多条测试指令和/或一条或多条功能配置指令。可以理解的是,在某条测试配置指令中的某条测试指令(例如目标测试指令)配置有对应的校验规则的情况下,指令解析单元对该条测试配置指令进行解析后还可以得到目标测试指令对应的校验规则。
在一个具体的实现方式中,指令解析单元对每条测试项指令进行解析的过程具可以包括:指令解析单元识别测试项指令中的每个指令值后的双引号,将测试项指令的每个指令值后的双引号中的内容分别作为一条测试配置指令的内容。例如,结合图3,指令解析单元可以将测试项指令303.1中第1个指令值(即value)后的双引号中的内容“4B 0B 69 0003 00 96 00(1:4:500[7:7][96:96],[9:10][10:100]);NULL2000;4B 0B 69 00 03 00 9602”作为一条测试配置指令的内容。可以理解的是,由于测试项指令303.1中第2个指令值后的双引号中的内容为空,因此,指令解析单元从测试项指令303.1中仅可以解析到一条测试配置指令的内容。
请参阅图7,为本申请实施例提供的一种测试配置指令的内容的解析流程示意性图,如图7所示,在一个具体的实现方式中,指令解析单元可以通过S701~S703对每条测试配置指令的内容进行解析,详述如下:
S701,针对每条测试配置指令的内容,识别测试配置指令的内容中的分号,并将测试配置指令的内容中通过分号分隔的每一部分内容分别作为一条分解指令。
示例性的,以上述实施例中举例的测试配置指令的内容“4B 0B 69 00 03 00 9600(1:4:500[7:7][96:96],[9:10][10:100]);NULL2000;4B 0B 69 00 03 00 96 02”为例,指令解析单元可以将该测试配置指令的内容中通过分号分隔的4B 0B 69 00 03 00 96 00(1:4:500[7:7][96:96],[9:10][10:100])、NULL2000以及4B 0B 69 00 03 00 96 02分别作为一条分解指令。
S702,基于预设功能标签,识别分解指令中的功能配置指令和测试指令。
其中,预设功能标签可以用于描述对应的功能配置指令所实现的功能。示例性的,对于延时指令(一种功能配置指令),其对应的预设功能标签可以为NULL。
示例性的,指令解析单元可以通过判断分解指令中是否存在预设功能标签来识别分解指令为测试指令还是功能配置指令。可选的,在分解指令中存在预设功能标签的情况下,指令解析单元可以将分解指令识别为功能配置指令;可选的,在分解指令中不存在预设功能标签的情况下,指令解析单元可以将分解指令识别为测试指令。
指令解析单元识别出测试指令和功能配置指令后,对于每条测试指令,指令解析单元还可以确定其是否配置有对应的校验规则。示例性的,指令解析单元可以通过判断测试指令中是否包括小括号来确定测试指令是否配置有对应的校验规则。可选的,在测试指令中包括小括号的情况下,指令解析单元可以将测试指令中的小括号中的内容识别为测试指令对应的校验规则,将测试指令中的小括号之外的内容识别为测试指令本身。
例如,对于上述测试指令4B 0B 69 00 03 00 96 00(1:4:500[7:7][96:96],[9:10][10:100]),由于该测试指令中包括小括号,因此指令解析单元可以将该测试指令中小括号中的内容1:4:500[7:7][96:96],[9:10][10:100]识别为该测试指令对应的校验规则,将该测试指令中小括号外的内容4B 0B 69 00 03 00 96 00作为测试指令本身。
可选的,对于配置有校验规则的测试指令,指令解析单元可以执行S703。
S703,对于配置有校验规则的测试指令,解析测试指令对应的校验规则。
可选的,在一个具体的实现方式中,指令解析单元解析测试指令对应的校验规则的过程例如可以包括S7031~S7034,详述如下:
S7031,识别测试指令对应的校验规则中的空格。
示例性的,指令解析单元可以将校验规则中空格左侧的内容确定为最小执行次数、最大执行次数及预设重试间隔等信息,将校验规则中空格右侧的内容确定为测试指令的测试结果校验逻辑。例如,在测试指令对应的校验规则为1:4:500[7:7][96:96],[9:10][10:100]的情况下,指令解析单元可以将空格左侧的内容1:4:500确定为最小执行次数、最大执行次数及预设重试间隔等信息。
S7032,识别空格左侧的内容中的冒号,在冒号的数量为2的情况下,将空格左侧的内容中通过冒号分隔的内容依次确定为测试指令的最小执行次数、最大执行次数及预设重试间隔。
例如,在测试指令对应的校验规则中的空格左侧的内容为1:4:500的情况下,指令解析单元可以将1、4及500分别确定为该测试指令的最小执行次数、最大执行次数及预设重试间隔。
S7033,识别空格右侧的内容中的逗号,将空格右侧的内容中通过逗号分隔的每一部分内容分别确定为一组测试结果校验逻辑。
例如,在测试指令对应的校验规则中的空格右侧的内容为[7:7][96:96],[9:10][10:100]的情况下,指令解析可以将[7:7][96:96]确定为一组测试结果校验逻辑,将[9:10][10:100]确定为另一组测试结果校验逻辑。
S7034,识别每组测试结果校验逻辑中的中括号,将每组测试结果校验逻辑中第一个中括号中的内容确定为测试结果的校验位,将每组测试结果校验逻辑中第二个中括号中的内容确定为相应校验位对应的期望值。
例如,对于上述测试结果校验逻辑[7:7][96:96],指令解析单元可以将测试指令的测试结果中的第7位确定为校验位,将96确定为测试结果中的第7位对应的期望值。对于上述测试结果校验逻辑[9:10][10:100],指令解析单元可以将测试指令的测试结果中的第9位和第10位确定为校验位,将10~100确定为测试结果中的第9位和第10位对应的期望值。
指令解析单元从每条测试项指令对应的每条测试配置指令的内容中解析出一条或多条测试指令和/或一条或多条功能配置指令后,可以将解析得到的所有测试指令和/或功能配置指令均发送至指令构造单元。示例性的,指令解析单元可以基于每条测试项指令在测试配置文件中的排列顺序、测试项指令中的每条测试配置指令的排列顺序以及测试配置指令中的每条测试指令和/或功能配置指令的排列顺序,确定解析得到的各条测试指令和/或功能配置指令的次序,并基于该次序依次向指令构造单元发送各条测试指令和/或功能配置指令。
可以理解的是,对于配置有校验规则的测试指令,指令解析单元在向指令构造单元发送该测试指令的同时,还向指令构造单元发送该测试指令对应的校验规则。
对应地,指令构造单元接收到指令解析单元发送的测试指令和/或功能配置指令后,可以基于各条测试指令和/或功能配置指令的次序,依次将所有测试指令和/或功能配置指令记录在指令列表中。示例性的,指令列表中可以包括指令次序、指令类型、指令内容及指令校验规则等字段,指令校验规则例如可以包括最小执行次数、最大执行次数、预设重试间隔、校验位以及校验位对应的期望值等字段。示例性的,指令列表可以如表1所示。
表1
指令执行校验单元接收到指令列表后,可以基于指令列表中各条测试指令和/或功能配置指令的次序,依次执行各条测试指令和/或功能配置指令。
在一种可选的实现方式中,对于指令列表中的各条功能配置指令,指令执行校验单元可以直接执行各条功能配置指令。
在另一种可选的实现方式中,对于指令列表中的各条测试指令,由于测试指令通常用于测试电子设备的无线收发功能是否正常,因此,指令执行校验单元执行测试指令的过程具体可以包括:指令执行校验单元调用应用程序框架层的收发接口向收发模块发送测试指令,以控制收发模块执行测试指令。收发模块执行测试指令的过程例如可以包括:收发模块向目标设备发送测试指令。目标设备例如可以是除电子设备之外的任意一个其他设备(例如上位机)。
可以理解的是,在电子设备的无线通信功能正常的情况下,收发模块向目标设备发送测试指令后通常会接收到目标设备返回的应答信息。基于此,可选的,收发模块向目标设备发送测试指令后,若接收到目标设备返回的应答信息,则收发模块可以将该应答信息作为测试指令的测试结果,并通过收发接口向指令执行校验单元发送该测试结果。
对应的,指令执行校验单元接收到测试指令的测试结果后,可以对测试指令的测试结果进行校验,得到测试指令的校验结果。校验结果例如可以包括校验成功和校验失败。
在一种可选的实现方式中,对于所有测试指令,指令执行校验单元执行测试指令后若无法得到测试指令的测试结果,则指令执行校验单元可以确定测试指令的校验结果为校验失败。示例性的,指令执行校验单元可以在向收发模块发送测试指令后的第一时长内未接收到收发模块返回的该测试指令的测试结果的情况下,确定无法得到该测试指令的测试结果。
在另一种可选的实现方式中,对于未配置校验规则的测试指令,指令执行校验单元执行测试指令后若得到测试指令的测试结果,则指令执行校验单元可以确定测试指令的校验结果为校验成功。示例的,指令执行校验单元可以在向收发模块发送测试指令后的第一时长内接收到收发模块返回的该测试指令的测试结果的情况下,确定得到测试指令的测试结果。
在又一种可选的实现方式中,对于配置有校验规则的测试指令,指令执行校验单元执行测试指令得到测试指令的测试结果,并基于测试指令对应的校验规则对测试指令的测试结果进行校验,得到测试指令的校验结果的过程可以包括如图8所示的S801~S809,详述如下:
S801,从指令列表中获取测试指令对应的校验规则;校验规则包括测试指令的最小执行次数、最大执行次数、预设重试间隔、所有校验位以及每个校验位对应的期望值。
示例性的,对于表1中的测试指令4B 0B 69 00 03 00 96 00,指令执行校验单元可以从表1所示的指令列表中获取到该测试指令对应的校验规则中的最小执行次数为1,最大执行次数为4,预设重试间隔为500ms,测试结果的校验位包括第7位以及第9位至第10位,且测试结果的第7位对应的期望值为96,第9位至第10位对应的期望均值为10~100。
S802,执行测试指令,得到测试指令的测试结果,并将测试指令的当前执行次数加1。
指令执行校验单元执行测试指令,得到测试指令的测试结果的步骤可以包括:
指令执行校验单元调用应用程序框架层的收发接口向收发模块发送测试指令,并接收收发模块执行测试指令后返回的测试指令的测试结果。
需要说明的是,每条测试指令的当前执行次数的初始值均为0。
S803,从测试指令的测试结果中提取各个校验位的实际值。
示例性的,假如校验位包括测试结果中的第7位、第9位及第10位,则指令执行校验单元可以从测试指令的测试结果中提取第7位的值(即实际值)、第9位的值及第10位的值。
指令执行校验单元从测试指令的测试结果中提取出各个校验位的实际值后,可以确定各个校验位的实际值是否分别与相应校验位对应的期望值相匹配。
可选的,在校验位对应的期望值为数值范围的情况下,当校验位的实际值在相应的数值范围内时,指令执行校验单元可以确定校验位的实际值与校验位对应的期望值相匹配;当校验位的实际值不在相应的数值范围内时,指令执行校验单元可以确定校验位的实际值与校验位对应的期望值不匹配。示例性的,以上述测试指令4B 0B 69 00 03 00 96 00为例,当该测试指令的测试结果中的第9位的实际值在10~100之间时,指令执行校验单元可以确定该测试指令的测试结果中的第9位的实际值与第9位对应的期望值相匹配;当该测试指令的测试结果中的第10位的实际值不在10~100之间时,指令执行校验单元可以确定该测试指令的测试结果中的第10位的实际值与第10位对应的期望值不匹配。
可选的,在校验位对应的期望值为单个数值的情况下,当校验位的实际值与相应的单个数值相等时,指令执行校验单元可以确定校验位的实际值与校验位对应的期望值相匹配;当当校验位的实际值与相应的单个数值不相等时,指令执行校验单元可以确定校验位的实际值与校验位对应的期望值不匹配。示例性的,以上述测试指令4B 0B 69 00 03 0096 00为例,当该测试指令的测试结果中的第7位的实际值等于96时,指令执行校验单元可以确定该测试指令的测试结果中的第7位的实际值与第7位对应的期望值相匹配;当该测试指令的测试结果中的第7位的实际值不等于96时,指令执行校验单元可以确定该测试指令的测试结果中的第7位的实际值与第7位对应的期望值不匹配。
可以理解的是,在一些实施例中,在校验位的实际值的第一计数方式不同于校验位对应的期望值的第二计数方式时,指令执行校验单元可以先对校验位的实际值进行转义,将校验位的实际值转义为第二计数方式,并基于转义后的校验位的实际值,确定校验位的实际值与校验位对应的期望值是否相匹配。计数方式例如可以包括十进制、二进制及十六进制等。
示例性的,假设第一计数方式为十六进制,第二计数方式为十进制,则指令执行校验单元可以先将校验位的实际值转义为十进制格式,再基于十进制格式的校验位的实际值,确定校验位的实际值与校验位对应的期望值是否相匹配。
在一种可选的实现方式中,当测试指令的测试结果中的所有校验位的实际值均分别与相应校验位对应的期望值相匹配时,指令执行校验单元可以执行S803~S806。
在另一种可选的实现方式中,当测试指令的测试结果中至少有一个校验位的实际值与相应校验位对应的期望值不匹配时,指令执行校验单元可以执行S807~S809。
需要说明的是,本申请实施例中,S803~S806与S807~S809为并列步骤,指令执行校验单元在执行S803~S806的情况下不执行S807~S809,指令执行校验单元在执行S807~S809的情况下不执行S803~S806。
S804,在测试指令的测试结果中的所有校验位的实际值均分别与相应校验位对应的期望值相匹配时,判断测试指令的当前执行次数是否小于最小执行次数。
示例性的,以测试指令4B 0B 69 00 03 00 96 00为例,当该测试指令的测试结果中的第7位的实际值等于96,且第9位的实际值在10~100之间,且第10位的实际值在10~100之间时,指令执行校验单元可以判断测试指令的当前执行次数是否小于最小执行次数。
可选的,当测试指令的当前执行次数小于测试指令的最小执行次数时,指令执行校验单元可以执行S805。可选的,当测试指令的当前执行次数不小于(例如等于)测试指令的最小执行次数时,指令执行校验单元可以执行S806。
需要说明的是,S805与S806为并列步骤,指令执行校验单元在执行S805的情况下不执行S806,指令执行校验单元在执行S806的情况下不执行S805。
S805,当测试指令的当前执行次数小于最小执行次数时,返回执行S802。
S806,当测试指令的当前执行次数不小于最小执行次数时,确定测试指令的校验结果为校验成功。
本实施例中,指令执行校验单元在执行了最小执行次数次测试指令,且每次执行测试指令后得到的测试结果中的所有校验位的实际值均分别与相应校验位对应的期望值相匹配时,才确定测试指令的校验结果为校验成功,从而可以提高测试指令的校验结果的准确性。
S807,当测试指令的测试结果中至少有一个校验位的实际值与相应校验位对应的期望值不匹配时,判断测试指令的当前执行次数是否小于测试指令的最大执行次数。
示例性的,以上述测试指令4B 0B 69 00 03 00 96 00为例,当该测试指令的测试结果中的第7位的实际值不等于96,或者第9位的实际值不在10~100之间,或者第10位的实际值不在10~100之间时,指令执行校验单元可以判断测试指令的当前执行次数是否小于测试指令的最大执行次数。
可选的,当测试指令的当前执行次数小于测试指令的最大执行次数时,指令执行校验单元可以执行S808。可选的,当测试指令的当前执行次数不小于测试指令的最大执行次数时,指令执行校验单元可以执行S809。
需要说明的是,S808与S809为并列步骤,指令执行校验单元在执行S808的情况下不执行S809,指令执行校验单元在执行S809的情况下不执行S808。
S808,当测试指令的当前执行次数小于测试指令的最大执行次数时,在预设重试间隔之后返回执行S802。
S809,当测试指令的当前执行次数不小于测试指令的最大执行次数时,确定测试指令的校验结果为校验失败。
本实施例中,指令执行校验单元在执行了最大执行次数次测试指令,且至少有一次执行测试指令后得到的测试结果中有一个校验位的实际值与相应校验位对应的期望值相不匹配时,确定测试指令的校验结果为校验失败,不仅可以提高测试指令的校验结果的准确性,而且可以避免指令执行校验单元无休止地执行测试指令,提高了无线协议测试的整体测试效率。
在一些实施例中,指令列表中还可以包括测试结果字段和校验结果字段。基于此,指令执行校验单元得到每条测试指令的测试结果后,可以将每条测试指令的测试结果记录在指令列表中并与对应的测试指令进行关联。此外,指令执行校验单元得到每条测试指令的校验结果后,可以将每条测试指令的校验结果记录在指令列表中并与对应的测试指令进行关联。
在另一些实施例中,指令执行校验单元得到每条测试指令的校验结果后,可以基于每个测试项对应的所有测试指令的校验结果,确定测试项的测试结果。测试项的测试结果例如可以包括测试成功或测试失败。
可选的,在测试项对应的所有测试指令的校验结果均为校验成功时,指令执行校验单元可以确定该测试项的测试结果为测试成功;可选的,在测试项对应的所有测试指令中至少有一条测试指令的校验结果为校验失败时,指令执行校验单元可以确定该测试项的测试结果为测试失败。当测试项的测试结果为测试成功时,可以表示测试项对应的无线通信功能正常;当测试项的测试结果为测试失败时,可以表示测试项对应的无线通信功能异常。
在又一些实施例中,指令执行校验单元每执行完一个测试项对应的所有测试指令,且确定出该测试项的测试结果为测试失败时,可以向故障信息显示单元和故障码生成单元发送该测试项的测试详情信息。测试详情信息例如可以包括测试项的标识、测试项对应的各条测试指令的测试结果以及测试项的测试失败原因等。测试项的标识例如可以为测试项的名称。
对应地,故障码生成单元可以基于测试项的测试详情信息生成测试项对应的故障二维码,并向故障信息显示单元发送该故障二维码。示例性的,故障码生成单元可以调用应用程序框架层中的二维码编码模块对测试项的测试详情信息进行编码,得到测试项对应的故障二维码。
基于此,故障信息显示单元可以基于测试项的标识以及测试项对应的故障二维码生成并显示测试项的测试结果界面。示例性的,如图9A所示,为本申请实施例提供的一种测试项的测试结果界面示意图。在一些实施例中,测试项的测试结果界面90中可以包括测试项的标识901和测试项对应的故障二维码902;在另一些实施例中,测试项的测试结果界面90中还可以包括用于指示测试项测试失败的故障指示信息903。故障指示信息903例如可以包括用于指示测试项测试失败的文字说明(例如“fail”或“测试失败”等),此外,故障信息显示单元还可以通过第一颜色填充故障指示信息903所在的显示区域,第一颜色例如可以为红色。
在又一些实施例中,指令执行校验单元每执行完一个测试项对应的所有测试指令,且确定出该测试项的测试结果后,可以向结果文件生成单元发送该测试项的详情信息。示例性的,对于测试结果为测试失败的测试项,指令执行校验单元向结果文件生成单元发送的该测试项的详情信息例如可以包括该测试项的标识以及该测试项对应的各条测试指令的测试结果。对于测试结果为测试失败的测试项,指令执行校验单元向结果文件生成单元发送的该测试项的详情信息例如可以包括该测试项的标识、该测试项对应的各条测试指令的测试结果以及该测试项的测试失败原因等。
对应的,结果文件生成单元在所有测试项测试完成后,基于所有测试项的测试详情信息生成测试结果文件。也即,测试结果文件中包括与电子设备的无线通信功能相关的所有测试项的测试详情信息。示例性的,测试结果文件可以为xml格式的文件,也可以为其他格式的文件,本申请实施例对测试结果文件的具体格式不做特别限定。
在一种可选的实现方式中,结果文件生成单元生成测试结果文件后,可以向结果显示单元发送该测试结果文件。对应地,结果显示单元可以基于该测试结果文件,生成无线协议测试的结果二维码。示例性的,结果显示单元可以调用应用程序框架层中的二维码编码模块对测试结果文件进行编码,得到无线协议测试的结果二维码。结果显示单元得到无线协议测试的结果二维码后,可以基于该结果二维码生成并显示无线协议测试的测试结果界面。
示例性的,如图9B所示,为本申请实施例提供的一种无线协议测试的测试结果界面示意图。在一些实施例中,无线协议测试的测试结果界面91中可以包括无线协议测试的结果二维码911;在另一些实施例中,在所有测试项的测试结果均为测试成功的情况下,无线协议测试的测试结果界面91中还可以包括用于指示所有测试项均测试成功的成功指示信息912。成功指示信息912例如可以包括用于指示所有测试项均测试成功的文字说明(例如“success”或“测试成功”等)。此外,结果显示单元还可以通过第二颜色填充成功指示信息912所在的显示区域,第二颜色例如可以为绿色。
在一些实施例中,为了避免无线协议测试过程中用户多次启动自动化测试应用导致中断电子设备的无线协议测试过程,启动管理模块在启动自动化测试应用后,还可以调用应用程序框架层中的标志位设置接口向内核层中的测试状态记录模块发送第一标志位指示。第一标志位指示用于指示测试状态记录模块将测试状态标志位的值置为第一预设值。第一预设值用于指示电子设备当前正在进行无线协议测试。第一预设值例如可以为1。
基于此,在另一些实施例中,启动管理模块还可以在接收到用于退出自动化测试应用的退出指令时,关闭自动化测试应用,并调用应用程序框架层中的标志位设置接口向内核层中的测试状态记录模块发送第二标志位指示。第二标志位指示用于指示测试状态记录模块将测试状态标志位的值置为第二预设值。第二预设值用于指示电子设备当前未进行无线协议测试。第二预设值例如可以为0。
示例性的,启动管理模块可以在检测到用户针对自动化测试应用的测试界面(例如图5B或图5C中的测试界面51)中的退出控件511的点击操作时,确定接收到用于退出自动化测试应用的退出指令。
请参阅图10,为本申请实施例提供的一种无线协议测试方法的示意性流程图。该无线协议测试方法的执行主体可以为图2中的电子设备10。如图10所示,在一些实施例中,该无线协议测试方法可以包括S1001~S1005,详述如下:
S1001,在接收到针对自动化测试应用的启动指令时,启动自动化测试应用,并获取用于电子设备的无线协议测试的测试配置文件。
在一种可选的实现方式中,电子设备10可以在接收到针对自动化测试应的图标的点击操作时,确定接收到针对自动化测试应的启动指令,并启动自动化测试应。
在另一种可选的实现方式中,电子设备10可以在接收到用于启动自动化测试应的启动命令时,确定接收到针对自动化测试应的启动指令,并启动自动化测试应。示例性的,用于启动自动化测试应的启动命令可以是用户在电子设备的系统命令行程序中输入的。
在又一种可选的实现方式中,电子设备10可以在检测到用于进入自动化测试应的二维码被扫描时或者用于进入自动化测试应的链接被点击时,确定接收到针对自动化测试应的启动指令,并启动自动化测试应。本申请实施例对自动化测试应的启动方式不做特别限定。
电子设备10在启动自动化测试应用后,可以通过自动化测试应用获取用于电子设备10的无线协议测试的测试配置文件。
其中,测试配置文件可以是电子设备10所处的无线协议自动化测试系统(即图2所示的无线协议自动化测试系统)中的上位机20生成的。需要说明的是,上位机20生成测试配置文件的具体过程可以参考图2对应的实施例中的相关描述,此处不再对其进行赘述。
示例性的,测试配置文件中可以包括与电子设备的无线协议测试相关的所有测试配置信息各自对应的封装指令。与电子设备的无线协议测试相关的配置信息可以是用户在上位机20的测试工具中输入的,用于电子设备10的无线协议测试的测试配置信息。
测试配置信息例如可以包括初始测试环境配置信息、与电子设备的无线通信功能相关的一个或多个测试项的配置信息、握手配置信息及测试环境清除信息等。基于此,测试配置文件中的封装指令可以包括与初始测试环境配置信息对应的初始测试环境配置指令、与测试项的配置信息对应的测试项指令、与握手配置信息对应的握手指令以及与测试环境清除信息对应的测试环境清除指令等。需要说明的是,关于初始测试环境配置信息、测试项的配置信息、握手配置信息、测试环境清除信息、初始测试环境配置指令、测试项指令、握手指令以及测试环境清除指令的说明具体可以参考前述实施例中的相关描述,此处不对其进行赘述。
关于电子设备10获取测试配置文件的具体过程可以参考图6对应的实施例中对配置文件获取单元的相关描述,此处不对其进行赘述。
可选的,在一些实施例中,电子设备启动自动化测试应用后,还可以将测试状态标志位的值置为第一预设值。其中,第一预设值用于指示电子设备当前正在进行无线协议测试。
在另一些实施例中,电子设备还可以在接收到用于退出自动化测试应用的退出指令时,关闭自动化测试应用,并将测试状态标志位的值置为第二预设值。其中,第二预设值用于指示电子设备当前未进行无线协议测试。
基于此,电子设备在接收到针对自动化测试应用的启动指令时,启动自动化测试应用,具体可以包括以下步骤:
步骤a1,在接收到针对自动化测试应用的启动指令时,获取测试状态标志位的值。
步骤a2,在测试状态标志位的值为第二预设值时,启动自动化测试应用。
步骤a3,在测试状态标志位的值为第一预设值时,不响应,或者输出第一错误提示信息;第一错误提示信息用于提示电子设备当前已开始无线协议测试。
S1002,基于预设的指令封装逻辑对测试配置文件中的各条封装指令进行解析,得到封装指令对应的测试配置信息。
可以理解的是,不同的封装指令对应的指令封装逻辑可以相同,也可以不同。
需要说明的是,关于电子设备10基于预设的指令封装逻辑对测试配置文件中的各条封装指令进行解析的具体过程可以参考图6对应的实施例中对指令解析单元和指令构造单元的相关描述,此处对其不进行赘述。
S1003,基于初始测试环境配置信息配置电子设备的初始测试环境。
需要说明的是,关于电子设备10基于初始测试环境配置信息配置电子设备的初始测试环境的过程可以参考图6对应的实施例中对环境配置单元的相关描述,此处对其不进行赘述。
在一种可选的实现方式中,在S1003之后,无线协议测试方法还可以包括以下步骤:
步骤b1,基于握手配置信息,向上位机发送第一指示信息。
其中,第一指示信息用于指示电子设备已完成初始测试环境的配置,并开始进行无线协议测试。
步骤b2,在发送第一指示信息后断开与上位机之间的通信连接。
由于电子设备在发送第一指示信息后断开了与上位机的通信连接,从而可以避免电子设备与上位机之间的连接对无线协议测试过程产生的影响,提高了无线协议测试质量。
S1004,在初始测试环境完成后,执行各条测试指令,得到各条测试指令的测试结果,并基于各条测试指令对应的校验规则,分别对各条测试指令的测试结果进行校验,得到各条测试指令的校验结果。
需要说明的是,关于电子设备10执行各条测试指令以及对各条测试指令的测试结果进行校验的具体过程可以参考图6对应的实施例中对指令执行校验单元的相关描述,此处不对其进行赘述。
S1005,基于每个测试项对应的所有测试指令的校验结果,分别确定每个测试项的测试结果,并基于所有测试项的测试结果生成无线协议测试的测试结果文件。
可选的,在某个测试项对应的所有测试指令的校验结果均为校验成功的情况下,则确定该测试项的测试结果为测试成功;可选的,在某个测试项对应的测试指令中至少有一条测试指令的校验结果为校验失败,则确定测试项的测试结果为测试失败。
可选的,测试结果文件可以是xml格式的文件,也可以是其他格式的文件,本申请实施例对测试结果文件的具体格式不做特别限定。
在一些实施例中,在得到每个测试项的测试结果后,无线协议方法还可以包括以下步骤:
步骤c1,在测试项的测试结果为测试失败时,基于测试项的测试详情信息生成测试项对应的故障二维码。
示例性的,测试详情信息可以包括测试项的标识、测试项对应的各条测试指令的测试结果以及测试项的测试失败原因等。
步骤c2,显示故障二维码以及测试项的标识。
示例性的,电子设备可以在如图9A所示的测试项的测试结果界面90中显示故障二维码902以及测试项的标识901。
在另一些实施例中,在S1005之后,无线协议测试方法还可以包括S1006,详述如下:
S1006,基于所述测试结果文件,生成电子设备的无线协议测试的结果二维码,并显示无线协议测试的结果二维码。
示例性的,电子设备可以在如图9B所示的无线协议测试的测试结果界面91中显示无线协议测试的结果二维码911。
在又一些实施例中,在S1005之后,无线协议测试方法还可以包括S1007,详述如下:
S1007,向上位机发送测试结果文件。
上位机20接收到测试结果文件后,可以将测试结果文件上传至服务器30中,以使服务器30对测试结果文件进行存储。
基于同样的技术构思,本申请实施例还提供了一种电子设备。请参阅图11,为本申请实施例提供的一种电子设备的结构示意图。
如图11所示,电子设备10可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,显示屏191,以及用户标识模块(subscriber identification module,SIM)卡接口192等。其中,传感器模块180可以包括压力传感器180A,指纹传感器180B,触摸传感器180C等。
处理器110可以包括一个或多个处理单元,例如,处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备10的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180C,充电器,闪光灯等。例如,处理器110可以通过I2C接口耦合触摸传感器180C,使处理器110与触摸传感器180C通过I2C总线接口通信,实现电子设备10的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如,处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。
MIPI接口可以被用于连接处理器110与显示屏191等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serialinterface,DSI)等。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与显示屏191,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备10充电,也可以用于电子设备10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备10的结构限定。在本申请另一些实施例中,电子设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备10的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏191,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在电子设备10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于受话器170B)输出声音信号,或通过显示屏191显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备10上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,WIFI)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备10可以通过GPU,显示屏191,以及应用处理器等实现显示功能。
显示屏191包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备10可以包括1个或N个显示屏191,N为大于1的正整数。在一些实施例中,显示屏191可以为触摸屏。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备10在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备10使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备10的各种功能应用以及数据处理。
电子设备10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音,屏幕朗读等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏191。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备10根据电容的变化确定压力的强度。当有触摸操作作用于显示屏191,电子设备10根据压力传感器180A检测所述触摸操作强度。电子设备10也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如,当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
指纹传感器180B用于采集指纹。电子设备10可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180C,也称“触控器件”。触摸传感器180C可以设置于显示屏191,由触摸传感器180C与显示屏191组成触摸屏,也称“触控屏”。触摸传感器180C用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏191提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180C也可以设置于电子设备10的表面,与显示屏191所处的位置不同。
按键190包括开机键(也称为电源键),音量键等。按键190可以是机械按键(也称为实体按键)。也可以是触摸式按键。电子设备10可以接收按键输入,产生与电子设备10的用户设置以及功能控制有关的键信号输入。
可以理解的是,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请的另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现,本申请实施例对此不做限定。
基于同样的技术构思,本申请实施例还提供了另一种电子设备,该电子设备可以包括:显示器;一个或多个处理器;一个或多个存储器;该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被上述一个或多个处理器执行时,使得电子设备执行上述任意一个方法中的一个或多个步骤。
基于同样的技术构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行程序,该计算机可执行程序在被计算机调用时使计算机执行上述任意一个方法中的一个或多个步骤。
基于同样的技术构思,本申请实施例还提供了一种芯片系统,包括处理器,处理器与存储器耦合,该处理器执行存储器中存储的计算机可执行程序,以实现如上述任意一个方法中的一个或多个步骤。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
基于同样的技术构思,本申请实施例还提供了一种计算机可执行程序产品,当计算机可执行程序产品在电子设备上运行时,使得该电子设备执行上述任意一个方法中的一个或多个步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种无线协议测试方法,其特征在于,应用于电子设备,所述无线协议测试方法包括:
在接收到针对自动化测试应用的启动指令时,启动所述自动化测试应用,并获取用于所述电子设备的无线协议测试的测试配置文件;所述测试配置文件中包括与所述无线协议测试相关的所有测试配置信息各自对应的封装指令;
基于预设的指令封装逻辑对所述测试配置文件中的各条所述封装指令进行解析,得到所述封装指令对应的所述测试配置信息;所述测试配置信息包括初始测试环境配置信息以及与所述电子设备的无线通信功能相关的一个或多个测试项的配置信息,所述测试项的配置信息包括所述测试项对应的一条或多条测试指令以及每条所述测试指令对应的校验规则;
基于所述初始测试环境配置信息配置所述电子设备的初始测试环境;
在所述初始测试环境完成后,执行各条所述测试指令,得到各条所述测试指令的测试结果,并基于各条所述测试指令对应的所述校验规则,分别对各条所述测试指令的测试结果进行校验,得到各条所述测试指令的校验结果;
基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果,并基于所有所述测试项的测试结果生成所述无线协议测试的测试结果文件。
2.根据权利要求1所述的无线协议测试方法,其特征在于,所述测试配置信息还包括握手配置信息,所述握手配置信息用于描述所述电子设备在进行所述无线协议测试时与上位机之间的通信规则;对应地,在所述基于所述初始测试环境配置信息配置所述电子设备的初始测试环境之后,还包括:
基于所述握手配置信息,向所述上位机发送第一指示信息;所述第一指示信息用于指示所述电子设备已完成所述初始测试环境的配置,并开始进行所述无线协议测试;
在发送所述第一指示信息后断开与所述上位机之间的通信连接。
3.根据权利要求1所述的无线协议测试方法,其特征在于,所述封装指令包括所述测试项的配置信息对应的测试项指令;所述测试项指令中包括一条或多条测试配置指令的信息;所述测试配置指令的信息包括所述测试配置指令的内容,所述测试指令的内容中包括一条或多条所述测试指令和/或功能配置指令;对应地,所述基于预设的指令封装逻辑对所述测试配置文件中的各条所述封装指令进行解析,包括:
针对每条所述测试配置指令,识别所述测试配置指令的内容中的分号,并将所述测试配置指令的内容中通过所述分号分隔的每一部分内容分别作为一条分解指令;
基于预设功能标签,识别所述分解指令中的功能配置指令和测试指令;
对于配置有校验规则的所述测试指令,解析所述测试指令对应的所述校验规则。
4.根据权利要求3所述的无线协议测试方法,其特征在于,所述校验规则包括所述测试指令的最小执行次数、最大执行次数、预设重试间隔及一组或多组测试结果校验逻辑;所述测试结果校验逻辑包括一个或多个校验位以及每个所述校验位对应的期望值;对应地,所述解析所述测试指令对应的所述校验规则,包括:
识别所述测试指令对应的所述校验规则中的空格;
识别所述空格左侧的内容中的冒号,在所述冒号的数量为2时,将所述空格左侧的内容中通过所述冒号分隔的内容依次确定为所述最小执行次数、所述最大执行次数及所述预设重试间隔;
识别所述空格右侧的内容中的逗号,将所述空格右侧的内容中通过所述逗号分隔的每一部分内容分别确定为一组测试结果校验逻辑;
识别每组所述测试结果校验逻辑中的中括号,将每组所述测试结果校验逻辑中第一个所述中括号中的内容确定为所述校验位,将每组所述测试结果校验逻辑中第二个所述中括号中的内容确定为相应校验位对应的所述期望值。
5.根据权利要求4所述的无线协议测试方法,其特征在于,所述测试指令的校验结果包括校验成功和校验失败;对应地,所述执行各条所述测试指令,得到各条所述测试指令的测试结果,并基于各条所述测试指令对应的所述校验规则,分别对各条所述测试指令的测试结果进行校验,得到各条所述测试指令的校验结果,包括:
针对每条所述测试指令,获取所述测试指令对应的校验规则;
执行所述测试指令,得到所述测试指令的测试结果,并将所述测试指令的当前执行次数加1;所述测试指令的当前执行次数的初始值为0;
从所述测试结果中提取各个所述校验位的实际值;
在所述测试结果中所有所述校验位的实际值均分别与相应校验位对应的期望值相匹配时,判断所述测试指令的当前执行次数是否小于所述最小执行次数;在所述测试指令的当前执行次数不小于所述最小执行次数时,确定所述测试指令的校验结果为校验成功;
在所述测试结果中至少有一个校验位的实际值与相应校验位对应的期望值不匹配时,判断所述测试指令的当前执行次数是否小于所述的最大执行次数;在所述测试指令的当前执行次数不小于所述最大执行次数时,确定所述测试指令的校验结果为校验失败。
6.根据权利要求1-5任一项所述的无线协议测试方法,其特征在于,所述基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果,包括:
在所述测试项对应的所有测试指令的校验结果均为校验成功时,确定所述测试项的测试结果为测试成功;
在所述测试项对应的至少一条测试指令的校验结果为校验失败时,确定所述测试项的测试结果为测试失败。
7.根据权利要求1-6任一项所述的无线协议测试方法,其特征在于,在基于每个所述测试项对应的所有测试指令的校验结果,分别确定每个所述测试项的测试结果之后,还包括:
在所述测试项的测试结果为测试失败时,基于所述测试项的测试详情信息生成所述测试项对应的故障二维码;所述测试详情信息包括所述测试项的标识、所述测试项对应的各条所述测试指令的测试结果以及所述测试项的测试失败原因;
显示所述故障二维码以及所述测试项的标识。
8.根据权利要求1-7任一项所述的无线协议测试方法,其特征在于,在所述基于所有所述测试项的测试结果生成所述无线协议测试的测试结果文件之后,还包括:
向上位机发送所述测试结果文件;和/或,
基于所述测试结果文件生成所述无线协议测试的结果二维码,并显示所述结果二维码。
9.根据权利要求1-8任一项所述的无线协议测试方法,其特征在于,在所述启动所述自动化测试应用之后,还包括:
将测试状态标志位的值置为第一预设值;所述第一预设值用于指示所述电子设备当前正在进行无线协议测试。
10.根据权利要求9所述的无线协议测试方法,其特征在于,还包括:
在接收到用于退出所述自动化测试应用的退出指令时,关闭所述自动化测试应用,并将所述测试状态标志位的值置为第二预设值;所述第二预设值用于指示所述电子设备当前未进行无线协议测试;
对应地,所述在接收到针对自动化测试应用的启动指令时,启动所述自动化测试应用,包括:
在接收到针对所述自动化测试应用的启动指令时,获取所述测试状态标志位的值;
在所述测试状态标志位的值为所述第二预设值时,启动所述自动化测试应用;
在所述测试状态标志位的值为所述第一预设值时,不响应,或者输出第一错误提示信息;所述第一错误提示信息用于提示所述电子设备当前已开始所述无线协议测试。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器存储有一个或多个计算机可执行程序,所述一个或多个计算机可执行程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-10任一项所述的无线协议测试方法中的各步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序在被计算机调用时,使所述计算机执行如权利要求1-10任一项所述的无线协议测试方法中的各步骤。
13.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序指令,当所述处理器执行所述计算机程序指令时,使得所述芯片系统实现如权利要求1-10任一项所述的无线协议测试方法中的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211574826.XA CN116669064B (zh) | 2022-12-08 | 2022-12-08 | 无线协议测试方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211574826.XA CN116669064B (zh) | 2022-12-08 | 2022-12-08 | 无线协议测试方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116669064A true CN116669064A (zh) | 2023-08-29 |
CN116669064B CN116669064B (zh) | 2024-04-05 |
Family
ID=87717714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211574826.XA Active CN116669064B (zh) | 2022-12-08 | 2022-12-08 | 无线协议测试方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116669064B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117031285A (zh) * | 2023-10-08 | 2023-11-10 | 宁德时代新能源科技股份有限公司 | 下线测试方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140177459A1 (en) * | 2012-12-21 | 2014-06-26 | Apple Inc. | Methods and apparatus for rapid and cost effective testing of wireless systems |
CN104581785A (zh) * | 2014-12-29 | 2015-04-29 | 大唐移动通信设备有限公司 | 无线网络测试方法、测试装置和移动终端 |
CN111858295A (zh) * | 2019-12-31 | 2020-10-30 | 北京骑胜科技有限公司 | 一种固件测试方法、装置、电子设备和存储介质 |
CN112948194A (zh) * | 2021-03-15 | 2021-06-11 | 中国联合网络通信集团有限公司 | 一种通信协议的测试方法和装置 |
CN113453229A (zh) * | 2021-08-27 | 2021-09-28 | 杭州海康威视数字技术股份有限公司 | 一种远距离的无线安全自动化测试方法、装置及设备 |
US20210303452A1 (en) * | 2020-03-31 | 2021-09-30 | International Business Machines Corporation | Validation of a subset of a plurality of responses during protocol testing |
WO2022166166A1 (zh) * | 2021-02-03 | 2022-08-11 | 华为技术有限公司 | 安全组件的功能验证方法及装置 |
CN115314427A (zh) * | 2022-10-11 | 2022-11-08 | 荣耀终端有限公司 | 一种协议测试方法、电子设备及芯片系统 |
-
2022
- 2022-12-08 CN CN202211574826.XA patent/CN116669064B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140177459A1 (en) * | 2012-12-21 | 2014-06-26 | Apple Inc. | Methods and apparatus for rapid and cost effective testing of wireless systems |
CN104581785A (zh) * | 2014-12-29 | 2015-04-29 | 大唐移动通信设备有限公司 | 无线网络测试方法、测试装置和移动终端 |
CN111858295A (zh) * | 2019-12-31 | 2020-10-30 | 北京骑胜科技有限公司 | 一种固件测试方法、装置、电子设备和存储介质 |
US20210303452A1 (en) * | 2020-03-31 | 2021-09-30 | International Business Machines Corporation | Validation of a subset of a plurality of responses during protocol testing |
WO2022166166A1 (zh) * | 2021-02-03 | 2022-08-11 | 华为技术有限公司 | 安全组件的功能验证方法及装置 |
CN112948194A (zh) * | 2021-03-15 | 2021-06-11 | 中国联合网络通信集团有限公司 | 一种通信协议的测试方法和装置 |
CN113453229A (zh) * | 2021-08-27 | 2021-09-28 | 杭州海康威视数字技术股份有限公司 | 一种远距离的无线安全自动化测试方法、装置及设备 |
CN115314427A (zh) * | 2022-10-11 | 2022-11-08 | 荣耀终端有限公司 | 一种协议测试方法、电子设备及芯片系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117031285A (zh) * | 2023-10-08 | 2023-11-10 | 宁德时代新能源科技股份有限公司 | 下线测试方法及系统 |
CN117031285B (zh) * | 2023-10-08 | 2024-02-23 | 宁德时代新能源科技股份有限公司 | 下线测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116669064B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021027630A1 (zh) | 补丁方法、相关装置及系统 | |
CN112817634B (zh) | Cota包下载方法及装置 | |
WO2024037032A1 (zh) | 账号登录的方法及电子设备 | |
CN116669064B (zh) | 无线协议测试方法及电子设备 | |
CN113672420B (zh) | 故障检测方法及电子设备 | |
CN116483734B (zh) | 一种基于编译器的插桩方法、系统及相关电子设备 | |
CN116467221B (zh) | 一种基于解释器的插桩方法、系统及相关电子设备 | |
CN115314427B (zh) | 一种协议测试方法、电子设备及芯片系统 | |
EP4345669A1 (en) | User privacy protection method and apparatus | |
CN115185652B (zh) | 应用优化方法、装置以及电子设备 | |
WO2021052489A1 (zh) | 一种确定多核处理器中故障计算核的方法及电子设备 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN113485923B (zh) | 项目代码检测方法与装置、电子设备 | |
CN113867999B (zh) | 应用异常处理方法、终端及计算机可读存储介质 | |
CN116088943B (zh) | 背光模组的控制方法和终端设备 | |
CN116095685B (zh) | 关键信息的保护方法和终端设备 | |
CN117130808A (zh) | 一种日志采集方法及电子设备 | |
CN117135729A (zh) | 多设备协同方法、系统及终端设备 | |
CN117008986A (zh) | 获取数据的方法、电子设备及计算机可读存储介质 | |
CN116095623A (zh) | 数据传输方法、系统及相关装置 | |
CN117472604A (zh) | 一种任务接续方法、电子设备、程序产品及介质 | |
CN117135263A (zh) | 日志信息获取方法及电子设备 | |
CN117707453A (zh) | 一种节点信息的读取方法、设备及存储介质 | |
CN117714271A (zh) | 消息处理方法及相关装置 |
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 |