CN112583651B - 一种用于对小程序通信接口进行测试的方法、装置及介质 - Google Patents

一种用于对小程序通信接口进行测试的方法、装置及介质 Download PDF

Info

Publication number
CN112583651B
CN112583651B CN201910926322.1A CN201910926322A CN112583651B CN 112583651 B CN112583651 B CN 112583651B CN 201910926322 A CN201910926322 A CN 201910926322A CN 112583651 B CN112583651 B CN 112583651B
Authority
CN
China
Prior art keywords
communication interface
test
test case
applet
testing
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
Application number
CN201910926322.1A
Other languages
English (en)
Other versions
CN112583651A (zh
Inventor
陈俊杰
黄晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910926322.1A priority Critical patent/CN112583651B/zh
Publication of CN112583651A publication Critical patent/CN112583651A/zh
Application granted granted Critical
Publication of CN112583651B publication Critical patent/CN112583651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种用于对小程序通信接口进行测试的方法、装置及介质,所述方法包括获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页;提取所述待测小程序中的通信接口以得到通信接口集;获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。本发明可以不受限制调用待测小程序的通信接口,实现对各种小程序的通信接口的测试,且接入成本低,不会存在其他测试框架接入时可能出现的环境问题和配置问题。

Description

一种用于对小程序通信接口进行测试的方法、装置及介质
技术领域
本发明涉及单元测试领域,尤其涉及一种用于对小程序通信接口进行测试的方法、装置及介质。
背景技术
小程序中许多的业务场景都需使用通信接口来与其它设备进行交互,出于安全和业务需求的考量,小程序内的通信接口发出的通信请求要求校验小程序所对应的主程序的登录态,但是传统测试框架无法自由获取主程序的登录态,从而导致现有技术中的传统测试框架无法测试小程序中的通信接口。
现有技术中还可以提供专用于某种小程序的专用测试框架,专用测试框架可以提供专用于某种主程序的登录态,从而实现对小程序中通信接口的测试,但是这种专用测试框架不具有普适性。
现有技术中还可以借助编程语言的内置请求库的请求与小程序中的通信接***互以实现对通信接口的测试,但是需要保留一套可用的登录态信息,而登录态信息的维护较为复杂,并且无法避免登录态信息失效导致的测试异常。
发明内容
为了解决现有技术中因无法准确获取主程序的登陆态信息,从而导致难以对主程序中的小程序的通信接口进行测试的技术问题,本发明实施例提供一种用于对小程序通信接口进行测试的方法、装置及介质。
一方面,本发明提供了一种用于对小程序通信接口进行测试的方法,所述方法包括:
获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页;
提取所述待测小程序中的通信接口以得到通信接口集;
获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
另一方面,本发明提供一种用于对小程序通信接口进行测试的装置,所述装置包括:
新建模块,用于获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页;
通信接口集获取模块,用于提取所述待测小程序中的通信接口以得到通信接口集;
测试用例集获取模块,用于获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
测试模块,用于以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
另一方面,本发明提供了一种用于对小程序通信接口进行测试的设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现一种用于对小程序通信接口进行测试的方法。
另一方面,本发明提供了一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行一种用于对小程序通信接口进行测试的方法。
本发明提供了一种用于对小程序通信接口进行测试的方法、装置及介质。本发明以小程序测试页作为媒介,共享小程序所在主程序的登录态信息,以小程序测试页作为整个测试过程的载体和触发器,从而可以不受限制的调用待测小程序的通信接口,实现对通信接口的测试。本发明实施例能够方便对各种小程序的通信接口进行测试,且测试页面及结果可以被可视化,接入成本低,不会存在其他测试框架接入时可能出现的各种环境问题和配置问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的一种用于对小程序通信接口进行测试的方法的一种可行的真机实施环境;
图2是本发明提供的一种用于对小程序通信接口进行测试的方法实施环境的软件框架图;
图3是本发明提供的一种用于对小程序通信接口进行测试的方法的流程图;
图4是本发明提供的获取用于测试所述通信接口集中各个通信接口的测试用例流程图;
图5是本发明提供的通过调用所述小程序测试页中的测试用例方法运行所述测试用例的流程图;
图6是本发明提供的一种用于对小程序通信接口进行测试的方法的实施示意图;
图7是本发明提供的对通信接口进行测试的示意图;
图8是本发明提供的一种用于对小程序通信接口进行测试的装置的框图;
图9是本发明提供的测试模块框图;
图10是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。为了便于理解本发明实施例所述的技术方案及其产生的技术效果,本发明实施例首先对于相关专业名词进行解释:
小程序:是一种不需要下载安装即可使用的应用程序,小程序以某个而应用程序作为主程序,以主程序为载体,寄生于主程序的运行环境而为用户提供服务。
通用网关接口:通用网关接口(Common Gateway Interface,CGI)是网站服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能。CGI应用程序能与浏览器进行交互,还可通过数据接口与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI。
HTML:超文本标记语言,超文本是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
QT4S:专用于QQ的协议测试框架,能够提供QQ登录态,实现相关通信接口的测试。
单元测试:用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。
Flyio:一个基于Promise的、强大的、支持多种JavaScript运行时的HTTP请求库。
Promise:在异步调用环境中,承诺将来会执行的对象在JavaScript中称为Promise对象。
JavaScript:一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
HTTP:超文本传输协议。
UI:用户界面(User Interface,UI)是***和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作,用户界面定义广泛,包含了人机交互与图形用户接口,凡参与人类与机械的信息交流的领域都存在着用户界面。
断言:是一种编程术语,表示为一些布尔表达式,可以在测试时启用断言而在部署时禁用断言。使用断言可以创建更稳定、品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。基于某些组件的单元测试必须使用断言。
现有技术中QT4S只能提供QQ登录态,而对于其它的应用程序的登录态则无法获知,从而无法基于QT4S对其它小程序进行通信接口的测试。而许多的应用程序的登录态有过期时间,且过期时间不可控,因此通过保留一套可用的登录态信息的方式使用固定登录态信息测试就需要花费大量的时间和人力去更新和维护登录态信息;也无法避免测试过程中登录态信息失效导致的测试结果异常的问题。有鉴于此,为了解决现有技术中因无法准确获取主程序的登陆态信息,从而导致难以对主程序中的小程序的通信接口进行测试的技术问题,本发明实施例提供一种用于对小程序通信接口进行测试的方法。所述测试方法可以运行于开发环境或真机环境。
如图1所示,其示出了所述一种用于对小程序通信接口进行测试的方法的一种可行的真机实施环境。所述真机实施环境可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,UMPC)、上网本、个人数字助理(personaldigitalassistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(imagesignalprocessor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulsecodemodulation,PCM)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobileindustryprocessorinterface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriberidentitymodule,SIM)接口,和/或通用串行总线(universalserialbus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serialdataline,SDA)和一根串行时钟线(derailclockline,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
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中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(cameraserialinterface,CSI),显示屏串行接口(displayserialinterface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是MiniUSB接口,MicroUSB接口,USBTypeC接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocalareanetworks,WLAN)(如无线保真(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(globalnavigationsatellitesystem,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(nearfieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(globalsystemformobilecommunications,GSM),通用分组无线服务(generalpacketradioservice,GPRS),码分多址接入(codedivisionmultipleaccess,CDMA),宽带码分多址(widebandcodedivisionmultipleaccess,WCDMA),时分码分多址(time-divisioncodedivisionmultipleaccess,TDSCDMA),长期演进(longtermevolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(globalpositioningsystem,GPS),全球导航卫星***(globalnavigationsatellitesystem,GLONASS),北斗卫星导航***(beidounavigationsatellitesystem,BDS),准天顶卫星***(quasi-zenithsatellitesystem,QZSS)和/或星基增强***(satellitebasedaugmentationsystems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,LCD),有机发光二极管(organiclight-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,AMOLED),柔性发光二极管(flexlight-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantumdotlightemittingdiodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(chargecoupleddevice,CCD)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如MicroSD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(openmobileterminalplatform,OMTP)标准接口,美国蜂窝电信工业协会(cellulartelecommunicationsindustryassociationoftheUSA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持NanoSIM卡,MicroSIM卡,SIM卡等。同一个SIM卡接口195可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
如图2所示,其示出了一种用于对小程序通信接口进行测试的方法实施环境的软件框架图,所述实施环境可以为图1所示的真机环境。实施环境的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明实施环境的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时和***库,以及内核层。应用程序层可以包括一系列应用程序包。
应用程序层可以包括各种应用程序,本发明实施例所述的一种用于对小程序通信接口进行测试的方法即是用于对应用程序层中的小程序的通信接口进行测试的方法。所述小程序所寄生的主程序作为应用程序运行于应用程序层。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
Android runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和核心库包含两部分。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
请参考图3,其示出了一种用于对小程序通信接口进行测试的方法的流程图,所述方法可以运行于图1所述的实施环境中,所述方法可以包括:
S101.获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页。
本发明实施例将待测小程序中的接口分为方法接口和通信接口,所述方法接口可以用于实现某种特定的非通信功能,而通信接口可以用于与其它设备进行通信从而与所述其它设备进行数据交互。本发明实施例以待测小程序的通信接口作为测试对象。
本发明并不限定实现通信接口所使用的具体技术,比如可以使用CGI,套接字等技术实现通信接口。
有鉴于现有技术中难以对小程序中通信接口进行测试的主要原因在于无法获知主程序的登录态信息,而其它任何外部工具都难以解决这一技术问题,因此,本发明实施例在主程序中添加小程序测试页,而小程序测试页可以与主程序共享登录态,并且小程序测试页本身也属于小程序,其可以作为测试待测小程序的媒介,即将所述小程序测试页作为对待测小程序的通信接口进行测试的测试逻辑的承载页。
S103.提取所述待测小程序中的通信接口以得到通信接口集。
在一个可行的实施例中,所述待测小程序中的通信接口均基于CGI实现,因此,所述通信接口中的通信请求具有统一格式,基于格式匹配即可提取所述待测小程序中的通信接口。相应的,所述提取所述待测小程序中的通信接口,包括:
若所述待测小程序中的通信接口基于通用网关接口实现,则通过格式匹配提取所述待测小程序中的通信接口。
S105.获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集。
在一个可行的实施例中,所述通信接口集以通信接口列表的形式管理,相应的,所述获取用于测试所述通信接口集中各个通信接口的测试用例,如图4所示,包括:
S1051.基于所述通信接口列表按序定位通信接口。
S1053.获取用于测试所述通信接口的测试用例。
具体地,所述测试用例可以由测试人员人工编写,也可以基于预设的测试用例自动生成规则自动生成。
所述测试用例包括通信接口调用逻辑和调用结果校验逻辑,所述通信接口调用逻辑用于调用所述测试用例对应的通信接口,所述调用结果校验逻辑用于对调用所述通信接口后捕获的回包数据进行校验。
以所述通信接口基于CGI实现为例,所述通信接口发出CGI请求属于小程序内部发出的请求,因此,所述通信接口对应的测试用例的通信接口调用逻辑直接对所述通信接口进行调用即可。比如,可以使用request命令进行通信接口调用,也可以基于第三方的flyio库对通信接口进行调用。
S107.以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
具体地,所述测试用例用于实现对于待测小程序中通信接口的测试,因此测试用例必然要求访问通信接口,又因为测试用例在小程序测试页中被实现,因此,可以与主程序共享登录态信息,在登录态信息可知的前提下,通信接口可以被正确调用。
所述测试用例方法在准确实现测试用例的逻辑的基础之上,还包括显示逻辑,所述显示逻辑用于以将运行调用结果校验逻辑所得到的校验结果显示在所述小程序测试页的指定区域,以便于用户进行查看。进一步地,还包括存储上报逻辑,所述存储上报逻辑用于记录测试结果,以及将测试结果上报分析服务器,以便于对通信接口的运行情况进行监控。即本发明实施例中的测试用例方法可以在实现测试用例的逻辑的基础上添加其他逻辑,从而便于对测试结果进行管理,或者便于提升用户体验。
在一个优选的实施例中,为了便于测试用例的执行,所述通过调用所述小程序测试页中的测试用例方法运行所述测试用例,如图5所示,包括:
S1071.设置控件,将所述控件的触发事件与至少一个测试用例方法关联。
S1073.监听所述控件的触发事件,当所述触发事件发生时运行与所述触发事件关联的测试用例方法。
包括步骤S101-S107的测试方法,可以运行于代码环境,通过编写代码或者使用代码调试工具控制测试用例方法的执行。在真机环境或者模拟机环境,用户无法触达代码环境,而需通过控件控制测试流程的执行。因此,为了便于提升测试的效率,使得用户可以在非代码环境对待测小程序的通信接口进行测试,本发明实施例还通过设置控件的方式触发测试用例方法的执行。
在一个可行的实施例中,所述控件包括列表控件和按钮控件。可以通过列表的方式展示各个测试用例方法对应的标识,获取用户对列表控件中各个标识的选择结果,并在按钮控件的触发下运行选择结果对应的测试用例方法。
在另一个可行的实施例中,所述控件包括按钮控件,所述按钮控件的触发事件关联测试用例方法序列中的第一个测试用例方法,通过触发所述按钮控件触发所述测试用例方法序列中各个测试用例方法的按序执行。
在另一个可行的实施例中,所述控件包括多个按钮控件,每个按钮控件关联一个测试用例方法,通过触发按钮控件运行所述按钮控件关联的测试用例方法。
本发明实施例通过在主程序中新建小程序测试页从而与主程序共享登录态,以小程序测试页作为承载页调用待测小程序的通信接口,进而达到对待测小程序的通信接口进行测试的目的。小程序测试页在主程序中建立,能够与主程序共享登录态,并且小程序测试页本质上仍然属于小程序,从而可以以小程序测试页作为中间件实现同为小程序的待测小程序中通信接口的测试。如图6所示,其示出了本发明实施例提供的一种用于对小程序通信接口进行测试的方法的实施示意图。通过新建小程序测试页,提取待测小程序的通信接口集,在小程序测试页中实现对通信接口集中各个通信接口进行测试的测试用例方法的方式,使得测试用例方法可以触达待测小程序的通信接口。通过将测试用例方法挂载在控件上使得小程序测试页中的测试用例方法可以响应于控件产生的事件而被触发。在测试之前,测试人员可以通过UI层的操作实现主程序的登录,从而获得有效的登录态信息,进而通过在小程序测试页中操作控件控制整个测试流程,达到测试待测小程序通信接口的目的。
如图7所示,其示出了对通信接口进行测试的示意图。通过“执行”按钮触发测试过程,测试开始后会按照列表控件中显示的顺序按序执行测试用例方法,测试完成后会将错误信息和错误用例数展示在页面上,为了配合其他测试框架,也可以将测试结果存储在小程序测试页的缓存内,方便配合其他自动化工具进行结果断言。
本发明实施例公开的一种用于对小程序通信接口进行测试的方法以小程序测试页作为媒介,共享小程序所在主程序的登录态信息,以小程序测试页作为整个测试过程的载体和触发器,从而可以不受限制的调用待测小程序的通信接口,实现对通信接口的测试。本发明实施例能够方便对各种小程序的通信接口进行测试,且测试页面及结果可以被可视化,接入成本低,不会存在其他测试框架接入时可能出现的各种环境问题和配置问题。
本发明实施例提供一种用于对小程序通信接口进行测试的装置,如图8所示,包括:
新建模块201,用于获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页;
通信接口集获取模块203,用于提取所述待测小程序中的通信接口以得到通信接口集;
测试用例集获取模块205,用于获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
测试模块207,用于以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
具体地,如图9所示,所述测试模块207包括:
控件关联单元2071,用于设置控件,将所述控件的触发事件与至少一个测试用例方法关联;
监听单元2073,用于监听所述控件的触发事件,当所述触发事件发生时运行与所述触发事件关联的测试用例方法。
具体地,本发明实施例所述一种用于对小程序通信接口进行测试的装置与方法实施例均基于相同发明构思。详情请参见方法实施例,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令。所述指令可以适于由处理器加载并执行本发明实施例所述的一种用于对小程序通信接口进行测试的方法,所述方法至少包括下述步骤:
一种用于对小程序通信接口进行测试的方法,所述方法包括:
获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页;
提取所述待测小程序中的通信接口以得到通信接口集;
获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
在一个优选的实施例中,所述提取所述待测小程序中的通信接口,包括:
若所述待测小程序中的通信接口基于通用网关接口实现,则通过格式匹配提取所述待测小程序中的通信接口。
一个优选的实施例中,所述通信接口集以通信接口列表的形式管理,相应的,所述获取用于测试所述通信接口集中各个通信接口的测试用例,包括:
基于所述通信接口列表按序定位通信接口;
获取用于测试所述通信接口的测试用例。
一个优选的实施例中,所述测试用例包括通信接口调用逻辑和调用结果校验逻辑,所述通信接口调用逻辑用于调用所述测试用例对应的通信接口,所述调用结果校验逻辑用于对调用所述通信接口后捕获的回包数据进行校验。
一个优选的实施例中,所述测试用例还包括显示逻辑,所述显示逻辑用于以将运行调用结果校验逻辑所得到的校验结果显示在所述小程序测试页的指定区域;
所述测试用例还包括存储上报逻辑,所述存储上报逻辑用于记录测试结果,以及将测试结果上报分析服务器。
一个优选的实施例中,所述通过调用所述小程序测试页中的测试用例方法运行所述测试用例,包括:
设置控件,将所述控件的触发事件与至少一个测试用例方法关联;
监听所述控件的触发事件,当所述触发事件发生时运行与所述触发事件关联的测试用例方法。
进一步地,图10示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置或***。如图10所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种用于对小程序通信接口进行测试的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于对小程序通信接口进行测试的方法,其特征在于,所述方法包括:
获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页,所述小程序测试页与所述待测小程序的主程序共享登录态,并且所述小程序测试页为对所述待测小程序的通信接口进行测试的测试逻辑的承载页小程序;
提取所述待测小程序中的通信接口以得到通信接口集;
获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,所述测试用例方法用于实现所述测试用例的逻辑,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
2.根据权利要求1所述的方法,其特征在于,所述提取所述待测小程序中的通信接口,包括:
若所述待测小程序中的通信接口基于通用网关接口实现,则通过格式匹配提取所述待测小程序中的通信接口。
3.根据权利要求1所述的方法,其特征在于,所述通信接口集以通信接口列表的形式管理,相应的,所述获取用于测试所述通信接口集中各个通信接口的测试用例,包括:
基于所述通信接口列表按序定位通信接口;
获取用于测试所述通信接口的测试用例。
4.根据权利要求1所述的方法,其特征在于:
所述测试用例包括通信接口调用逻辑和调用结果校验逻辑,所述通信接口调用逻辑用于调用所述测试用例对应的通信接口,所述调用结果校验逻辑用于对调用所述通信接口后捕获的回包数据进行校验。
5.根据权利要求4所述的方法,其特征在于:
所述测试用例还包括显示逻辑,所述显示逻辑用于以将运行调用结果校验逻辑所得到的校验结果显示在所述小程序测试页的指定区域;
所述测试用例还包括存储上报逻辑,所述存储上报逻辑用于记录测试结果,以及将测试结果上报分析服务器。
6.根据权利要求1所述的方法,其特征在于,所述通过调用所述小程序测试页中的测试用例方法运行所述测试用例,包括:
设置控件,将所述控件的触发事件与至少一个测试用例方法关联;
监听所述控件的触发事件,当所述触发事件发生时运行与所述触发事件关联的测试用例方法。
7.一种用于对小程序通信接口进行测试的装置,其特征在于,所述装置包括:
新建模块,用于获取待测小程序,新建运行于所述待测小程序对应的主程序中的小程序测试页,所述小程序测试页与所述待测小程序的主程序共享登录态,并且所述小程序测试页为对所述待测小程序的通信接口进行测试的测试逻辑的承载页小程序;
通信接口集获取模块,用于提取所述待测小程序中的通信接口以得到通信接口集;
测试用例集获取模块,用于获取用于测试所述通信接口集中各个通信接口的测试用例,以得到与所述通信接口集对应的测试用例集;
测试模块,用于以函数形式将所述测试用例集中的每个测试用例实现在所述小程序测试页之中以得到所述测试用例对应的测试用例方法,所述测试用例方法用于实现所述测试用例的逻辑,通过调用所述小程序测试页中的测试用例方法运行所述测试用例。
8.根据权利要求7所述的装置,其特征在于,所述测试模块包括:
控件关联单元,用于设置控件,将所述控件的触发事件与至少一个测试用例方法关联;
监听单元,用于监听所述控件的触发事件,当所述触发事件发生时运行与所述触发事件关联的测试用例方法。
9.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1-6任一项所述的一种用于对小程序通信接口进行测试的方法。
10.一种用于对小程序通信接口进行测试的设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行如权利要求1-6任一项所述的一种用于对小程序通信接口进行测试的方法。
CN201910926322.1A 2019-09-27 2019-09-27 一种用于对小程序通信接口进行测试的方法、装置及介质 Active CN112583651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910926322.1A CN112583651B (zh) 2019-09-27 2019-09-27 一种用于对小程序通信接口进行测试的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910926322.1A CN112583651B (zh) 2019-09-27 2019-09-27 一种用于对小程序通信接口进行测试的方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112583651A CN112583651A (zh) 2021-03-30
CN112583651B true CN112583651B (zh) 2022-08-23

Family

ID=75110015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910926322.1A Active CN112583651B (zh) 2019-09-27 2019-09-27 一种用于对小程序通信接口进行测试的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112583651B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630685A (zh) * 2016-01-29 2016-06-01 广州酷狗计算机科技有限公司 程序接口测试方法及装置
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备
CN110083789A (zh) * 2019-04-29 2019-08-02 百度在线网络技术(北京)有限公司 一种小程序页面获取方法、服务器、客户端及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218766B2 (ja) * 2006-03-09 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション シナリオをテストする方法、装置、及びプログラム
US20090172710A1 (en) * 2007-12-28 2009-07-02 Arman Toorians Method and system for enabling a mini program on a computing device to access an auxiliary system
CN109308263B (zh) * 2018-09-29 2021-10-22 北京云测信息技术有限公司 一种小程序测试方法、装置及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630685A (zh) * 2016-01-29 2016-06-01 广州酷狗计算机科技有限公司 程序接口测试方法及装置
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备
CN110083789A (zh) * 2019-04-29 2019-08-02 百度在线网络技术(北京)有限公司 一种小程序页面获取方法、服务器、客户端及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于LoadRunner自动化应用程序接口的舰船装备软件测试***设计与实现;韩新宇等;《计算机测量与控制》;20160925;第163-166页 *
微信小程序组件和接口测试demo;进击的旺旺;《CSDN》;20180313;第1页 *

Also Published As

Publication number Publication date
CN112583651A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN110347269B (zh) 一种空鼠模式实现方法及相关设备
CN111742539B (zh) 一种语音控制命令生成方法及终端
CN113704205B (zh) 日志存储的方法、芯片、电子设备和可读存储介质
CN112087649B (zh) 一种设备搜寻方法以及电子设备
CN115589051B (zh) 充电方法和终端设备
CN111343326A (zh) 获取测试日志的方法及相关装置
CN111865646A (zh) 终端升级方法及相关装置
US20240098354A1 (en) Connection establishment method and electronic device
CN114006712A (zh) 一种获取验证码的方法、电子设备和***
CN111104295A (zh) 一种页面加载过程的测试方法及设备
CN113490291B (zh) 数据下载方法、装置和终端设备
CN114338913B (zh) 故障诊断方法、电子设备及可读存储介质
CN115914461B (zh) 位置关系识别方法和电子设备
CN116708751B (zh) 一种拍照时长的确定方法、装置和电子设备
CN113901485B (zh) 应用程序加载方法、电子设备及存储介质
CN112579425B (zh) 一种用于对小程序方法接口进行测试的方法、装置及介质
CN112583651B (zh) 一种用于对小程序通信接口进行测试的方法、装置及介质
CN115373957A (zh) 杀应用的方法及设备
CN114915747A (zh) 视频通话的方法与相关设备
CN114003241A (zh) 应用程序的界面适配显示方法、***、电子设备和介质
CN111586236A (zh) 电子设备标记方法及装置、计算机可读介质及电子设备
CN113867851A (zh) 电子设备操作引导信息录制方法、获取方法和终端设备
CN114125805B (zh) 蓝牙回连方法及终端设备
CN116450026B (zh) 用于识别触控操作的方法和***
CN114285946B (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
GR01 Patent grant