小程序的测试处理方法、装置、电子设备及存储介质与流程

文档序号:29968994发布日期:2022-05-11 10:59阅读:256来源:国知局
小程序的测试处理方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术,尤其涉及一种小程序的测试处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.小程序(mini program)得到广泛应用,最大特点是使用便捷,用户通过扫码或者触发客户端中的小程序入口即可开启小程序,无需手动在终端的操作系统中安装。与一般的应用程序的发布过程相同,小程序在被发布之前,也需要对小程序进行测试,以便对小程序中存在的语法错误和逻辑错误进行及时地修正。
3.申请人发现,由于同类小程序的不同版本会出现冲突,导致相关技术的小程序测试方案往往依赖于虚拟化技术,即虚拟一个终端设备单独用于运行小程序,无法在真实运行的终端设备中执行测试。这无法发现小程序在实际运行会出现的潜在问题,导致开发小程序过程中的问题无法被及时发现,影响了小程序的开发效率。


技术实现要素:

4.本技术实施例提供一种小程序的测试处理方法、装置、电子设备及计算机可读存储介质,能够扩展小程序的测试途径以提升测试效率。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种小程序的测试处理方法,包括:
7.响应于扫描触发操作,根据扫描到的测试版本的小程序的图形码,在客户端中显示所述测试版本的小程序的测试功能页面;
8.其中,所述测试功能页面中包括测试模式开关;
9.响应于在所述测试功能页面中接收到的针对所述测试模式开关的开启操作,显示针对所述测试版本的测试模式开启的提示信息;
10.响应于小程序触发操作,运行所述测试版本的小程序以输出测试结果。
11.本技术实施例提供一种小程序的测试处理装置,包括:
12.扫描模块,用于响应于扫描触发操作,根据扫描到的测试版本的小程序的图形码,在客户端中显示所述测试版本的小程序的测试功能页面;
13.其中,所述测试功能页面中包括测试模式开关;
14.测试模块,用于响应于在所述测试功能页面中接收到的针对所述测试模式开关的开启操作,显示针对所述测试版本的测试模式开启的提示信息;
15.运行模块,用于响应于小程序触发操作,运行所述测试版本的小程序以输出测试结果。
16.在上述方案中,所述扫描模块,还用于通过小程序开发工具响应于针对所述测试版本的小程序的预览操作,从服务器中获取用于下载所述测试版本的小程序的登录凭证,根据所述登录凭证生成所述图形码。
17.在上述方案中,所述扫描模块,还用于对所述图形码进行解析,以获得登录凭证;根据所述登录凭证从服务器获取所述测试版本的小程序的下载地址;根据所述下载地址发送网络请求以获取所述测试版本的小程序,并运行所述测试版本的小程序。
18.在上述方案中,所述扫描模块,还用于在所述客户端中显示所述测试版本的小程序的主页面,其中,所述主页面中包括测试功能页面入口;响应于在所述主页面中接收到的针对所述测试功能页面入口的触发操作,在所述客户端中显示所述测试版本的小程序的测试功能页面。
19.在上述方案中,所述图形码中携带所述测试版本的版本信息、以及所述小程序的标识信息;所述扫描模块,还用于在所述客户端存储的小程序中查询具有所述标识信息的所述测试版本的小程序;当查询到时,直接运行所述客户端中存储的具有所述标识信息的所述测试版本的小程序;当未查询到时,从服务器获取具有所述标识信息的所述测试版本的小程序,并存储到所述客户端中,以运行所述客户端中存储的具有所述标识信息的所述测试版本的小程序。
20.在上述方案中,所述测试模块,还用于获取所述测试版本的小程序的标识信息;根据所述标识信息,将所述测试版本设置为所述客户端存储的同类小程序中优先运行的版本;其中,所述同类小程序具有相同的标识信息。
21.在上述方案中,所述运行模块,还用于获取与所述小程序触发操作所触发的小程序入口绑定的标识信息;在所述客户端存储的小程序中查询具有所述标识信息的小程序;当查询到具有所述标识信息、且被设置为优先运行的测试版本的小程序时,运行所述测试版本的小程序以输出测试结果。
22.在上述方案中,所述运行模块,还用于当查询到具有所述标识信息的测试版本的小程序、且所述测试版本未被设置为优先运行的版本时,运行所述客户端中具有所述标识信息的正式版本的小程序,以输出运行结果。
23.在上述方案中,所述运行模块,还用于当未查询到具有所述标识信息的测试版本的小程序时,运行具有所述标识信息的正式版本的小程序,以输出运行结果。
24.在上述方案中,所述运行模块,还用于响应于在所述测试功能页面中接收到的针对所述测试模式开关的关闭操作,取消将所述测试版本设置为所述客户端存储的同类小程序中优先运行的版本;其中,所述同类小程序具有相同的标识信息。
25.在上述方案中,所述运行模块,还用于从接收到所述关闭操作时开始计时,当计时时长超出有效时长、且未接收到针对所述测试模式按钮的开启操作时,删除所述客户端中存储的所述测试版本的小程序。
26.在上述方案中,所述运行模块,还用于在所述客户端中显示小程序入口;将接收到的针对所述小程序入口的触发操作识别为所述小程序触发操作。
27.本技术实施例提供一种电子设备,包括:
28.存储器,用于存储计算机可执行指令;
29.处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本技术实施例提供的小程序的测试处理方法。
30.本技术实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本技术实施例提供的小程序的测试处理方法。
31.本技术实施例具有以下有益效果:
32.通过扫描测试版本的小程序的图形码来触发显示测试模式开关,并通过将测试模式开关与运行测试版本的小程序的处理逻辑关联,使得即使在客户端中存在多版本小程序的情况下,也能够优先运行测试版本的小程序,从而能够在任何客户端中进行测试,提高测试小程序的效率。
附图说明
33.图1是本技术实施例提供的小程序的测试处理系统100的架构示意图;
34.图2是本技术实施例提供的终端400的结构示意图;
35.图3是本技术实施例提供的小程序的测试处理方法的流程示意图;
36.图4是本技术实施例提供的小程序的测试处理方法的流程示意图;
37.图5是本技术实施例提供的小程序的测试处理方法的流程示意图;
38.图6a、图6b和图6c是本技术实施例提供的小程序的测试处理方法的应用场景示意图;
39.图7a、图7b、图7c和图7d是本技术实施例提供的小程序的测试处理方法的应用场景示意图;
40.图8是本技术实施例提供的小程序的测试处理方法的流程示意图。
具体实施方式
41.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
42.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
43.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
44.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
45.1)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
46.2)小程序,也称为网络程序(web program):是一种基于面向前端的语言(例如javascript)开发的、在超文本标记语言(html,hyper text markup language)页面中实现服务的程序,由客户端(例如浏览器或内嵌浏览器核心的任意客户端)经由网络(如互联网)下载、并在客户端的浏览器环境中解释和执行的软件,节省在客户端中安装的步骤。
47.3)正式版本的小程序:在网络中公开发布的,任意用户都可以下载和使用的小程序。
48.4)测试版本的小程序:即开发版本的小程序,是对小程序的开发人员、以及参与内部测试的用户开放的小程序。
49.5)客户端,例如本地客户端(native app):是用户需要下载并安装在用户终端(例如,智能手机)上才可以使用的软件,例如微信和企业微信等。
50.6)登录凭证(code):登录用户账号的客户端开启小程序时,通过调用接口(wx.login)获取登录凭证。通过登录凭证进而换取用户账号的登录态信息,包括用户账号的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户账号的数据的加解密通讯需要依赖会话密钥完成。
51.7)标识信息(appid):即小程序的id,在客户端中为每一个小程序应用分配的一个唯一的身份标识字符串,当客户端的后台服务器和小程序的后台服务器进行通信时可以出示此身份标识字符串来标识应用身份。
52.8)场景:在客户端内有很多的入口都可以开启小程序,每一个入口都会为其分配一个特定的场景值,即一个入口代表一个场景。
53.9)小程序开发工具:用于开发和调试小程序的工具,支持开发者完成小程序的应用程序接口(api,application programming interface)和页面的开发调试、代码查看和编辑、小程序预览和发布等功能,例如,微信开发者工具。
54.相关技术的开发平台提供了小程序的开发和运行的基础能力,例如,企业微信客户端(下文简称企业微信)中的小程序主要依托于微信客户端(下文简称微信)中的小程序软件开发工具包(sdk,software development kit)运行,但是这也有一些局限性,例如,如何在企业微信客户端内对小程序进行开发调试。具体表现在以下几个方面:
55.一、即便是微信客户端,应对多场景的调试问题,由于同类小程序的不同版本并存时会存在冲突或者默认运行正式版本的小程序,因此主要通过在模拟器中单独运行测试版本的小程序,无法在实际的终端设备中方便快捷的运行测试版本的小程序,也不能发现小程序在实际的终端设备中运行时才会出现的问题,影响小程序开发效率。
56.如果需要在终端设备中运行小程序,主要通过下发特殊版本的小程序入口用于调试,如果无法提供特殊版本的小程序入口,则在企业微信客户端内对小程序进行调试会遇到较大的障碍,以企业微信为例,只能在微信发布正式版本的小程序后,才能在企业微信客户端内看到小程序的运行效果,对小程序开发来说很不友好。
57.二、小程序通常是以现实生活或网络中的各种扫码场景(例如购物、订票)的形式提供的,对于开发者来说,如果身边没有可用的扫码场景,则无法方便地进行测试。
58.综上,在本技术实施例中发现相关技术存在以下技术问题:
59.1)当在非小程序预览模式下扫码时,客户端如果默认开启并加载正式版本的小程序,则会由于无法运行测试版本的小程序,无法实现针对测试版本的小程序的调试。
60.2)如果开发者身边没有扫码场景则无法进行测试,即无法很好的解决开发者在非扫码场景下对小程序进行开发和调试的问题。
61.针对上述技术问题,本技术实施例提供一种小程序的测试处理方法,能够扩展小程序的测试途径以提升测试效率。下面说明本技术实施例提供的小程序的测试处理方法的示例性应用,本技术实施例提供的小程序的测试处理方法可以由各种电子设备实施,例如,可以应用到智能手机、平板电脑、车载终端、智能穿戴设备等各种类型的用户终端(下文也
简称为终端)。
62.接下来,以电子设备为终端为例,说明终端实施本发明实施例提供的小程序的测试处理方法的一个示例性的应用系统架构,参见图1,图1是本技术实施例提供的小程序的测试处理系统100的架构示意图。其中,小程序的测试处理系统100包括有:服务器200、小程序开发工具300、以及终端400,将分别进行说明。
63.服务器200,用于响应小程序开发工具300的登录凭证获取请求,向小程序开发工具300发送用于下载测试版本的小程序的登录凭证。
64.小程序开发工具300,用于响应于针对测试版本的小程序的预览操作,从服务器200中获取用于下载测试版本的小程序的登录凭证,根据登录凭证生成图形码,并展示测试版本的小程序的图形码。
65.终端400,用于运行客户端410,客户端410是具备小程序测试功能的客户端。客户端410,用于扫描小程序开发工具300展示的测试版本的小程序的图形码,显示测试版本的小程序的测试功能页面;还用于响应于针对测试模式开关的开启操作,显示针对测试版本的测试模式开启的提示信息;还用于响应于小程序触发操作,运行测试版本的小程序以输出测试结果。
66.在一些实施例中,终端400通过运行计算机程序来实现本发明实施例提供的小程序的测试处理方法,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的即时通讯小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
67.本技术实施例可以借助于云技术(cloud technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
68.云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
69.作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
70.接下来说明图1中的终端400的结构。参见图2,图2是本技术实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
71.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
72.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
73.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
74.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
75.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
76.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
77.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等。
78.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口)。
79.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
80.在一些实施例中,本技术实施例提供的直播过程中的信息提示装置可以采用软件方式实现,图2示出了存储在存储器450中的小程序的测试处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:扫描模块4551、测试模块4552和运行模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
81.下面,以由图1中的终端400执行本技术实施例提供的小程序的测试处理方法为例说明。参见图3,图3是本技术实施例提供的小程序的测试处理方法的流程示意图,将结合图3示出的步骤进行说明。
82.需要说明的是,图3示出的方法可以由终端400运行的各种形式计算机程序执行,并不局限于上述的客户端410,例如上文的操作系统451、软件模块和脚本,因此下文中以客户端的示例中的说明不应视为对本技术实施例的限定。
83.在步骤s101中,响应于扫描触发操作,根据扫描到的测试版本的小程序的图形码,在客户端中显示测试版本的小程序的测试功能页面。
84.在一些实施例中,测试版本的小程序可以是待测试的测试版本的小程序。测试功
能页面中包括测试模式开关,测试模式开关用于控制针对测试版本的测试模式的开启和关闭。
85.举例来说,图7b左起的第二张图中的测试功能页面703中包含测试模式开关704,测试模式开关704用于控制针对测试版本的测试模式的开启和关闭;当开启测试模式后,测试模式开关704的呈现形式是“关闭多场景调试”;当关闭测试模式后,测试模式开关704的呈现形式是“开启多场景调试”。
86.在一些实施例中,测试功能页面可以显示小程序的版本信息,也可以显示查看小程序的版本信息的入口。
87.举例来说,图7c中,测试功能页面703中提供查看小程序的版本信息的入口705,当开发者触发查看小程序的版本信息的入口705后,呈现小程序的版本信息,如此,能够便于开发者了解测试的小程序的版本信息,提高了小程序的测试效率。
88.在一些实施例中,响应于扫描触发操作,根据扫描到的测试版本的小程序的图形码,在客户端中显示测试版本的小程序的主页面,其中,主页面中包括测试功能页面入口;响应于在主页面中接收到的针对测试功能页面入口的触发操作,在客户端中显示测试版本的小程序的测试功能页面。
89.这里,测试功能页面可以通过触发测试版本的小程序的主页面中的测试功能页面入口呈现,也可以在客户端扫描测试版本的小程序的图形码后直接呈现。
90.在一些实施例中,图形码中携带测试版本的版本信息、以及小程序的标识信息(appid)。版本信息用于表征小程序的版本类型,其中,小程序的版本类型包括:正式版本和测试版本。标识信息用于表征小程序的类型,其中,同类小程序具有相同的标识信息,也就是说,标识信息相同的小程序可能同时具有版本类型不同的正式版本的小程序和测试版本的小程序。
91.在一些实施例中,小程序的主页面中的布局取决于小程序的具体功能,小程序的主页面中包括小程序的各种待发布的功能的入口,在小程序的主页面中中额外提供了测试功能页面的入口。
92.举例来说,图7b左起的第一张图是“学习园地”小程序的主页面,小程序的主页面中包含了“学习园地”小程序的各种待发布的功能的入口,也包括胶囊开关702(即上述的测试功能页面入口)。
93.在一些实施例中,测试功能页面和小程序的主页面可以是同时显示的,例如,测试功能页面和小程序的主页面分屏显示;将测试功能页面以浮层的方式显示于小程序的主页面的上方,如此,测试功能页面可以具有透明度,不会完全遮挡小程序的主页面。当然,测试功能页面和小程序的主页面也可以不同时显示,例如,当客户端响应于针对测试功能页面入口的触发操作时,从小程序的主页面切换至呈现测试功能页面。
94.举例来说,客户端扫描测试版本的小程序的图形码开启测试版本的小程序后,呈现小程序的主页面,如图7b左起的第一张图所示;响应于针对胶囊开关702(即上述的测试功能页面入口)的触发操作,呈现测试功能页面703。
95.在一些实施例中,测试版本的小程序的图形码可以是在小程序开发工具中呈现的,如此,开发者通过扫描小程序开发工具中呈现的测试版本的小程序的图形码进行测试;还可以是通过小程序开发工具将生成的测试版本的小程序的图形码转发至开发者的群组
的聊天页面中进行显示,如此,开发者通过扫描聊天页面中呈现的测试版本的小程序的图形码进行测试;还可以是客户端扫描小程序开发工具中呈现的测试版本的小程序的图形码后转发至开发者的群组的聊天页面中显示,如此,开发者通过扫描聊天页面中呈现的测试版本的小程序的图形码进行测试。
96.本技术实施例提供多种图形码的传输途径,便于开发者选取方便快捷的途径针对小程序进行测试,能够提高小程序的开发效率。
97.以测试版本的小程序的图形码在小程序开发工具中呈现为例,在步骤s101之前,还可以通过小程序开发工具响应于针对测试版本的小程序的预览操作,从服务器中获取用于下载测试版本的小程序的登录凭证,根据登录凭证生成图形码。
98.作为示例,服务器可以是客户端的后台服务器,也可以是小程序的后台服务器,还可以是第三方的服务器,例如,当客户端是微信时,服务器可以是微信的后台服务器或小程序的后台服务器;当客户端是企业微信时,服务器可以是微信的后台服务器、企业微信的后台服务器或小程序的后台服务器。
99.作为示例,小程序开发工具获取用于下载测试版本的小程序的登录凭证后,可以对登录凭证进行编码处理,以获得定位数据、功能数据、以及数据内容;其中,定位数据用于确定图形码中的图案,功能数据包括登录凭证的格式信息和版本信息,数据内容包括登录凭证的数据码以及纠错码;生成对应于定位数据、功能数据、以及数据内容的图形码。
100.相关技术中,小程序通常是以现实生活或网络中的各种扫码场景(例如购物、订票)的形式提供的,对于开发者来说,如果身边没有可用的扫码场景,则无法方便地进行测试。然而,本技术实施例中通过小程序开发工具提供的扫描入口,不仅摆脱了相关技术中测试小程序时对于实际的扫码场景的依赖,使得开发者不需要基于实际的扫码场景就能够对小程序随时随地进行测试,并且在测试小程序的过程中不影响客户端的正常运行;而且在发布正式版本的小程序之前就可以对小程序进行测试,从而节省了小程序的发布成本。
101.在一些实施例中,在客户端中显示测试版本的小程序的测试功能页面之前,还可以在客户端存储的小程序中查询具有标识信息的测试版本的小程序;当查询到时,直接运行客户端中存储的具有标识信息的测试版本的小程序;当未查询到时,从服务器获取具有标识信息的测试版本的小程序,并存储到客户端中,以运行客户端中存储的具有标识信息的测试版本的小程序。
102.作为示例,当查询到时,根据测试版本的小程序的标识信息,在客户端的本地缓存中查找具有标识信息的测试版本的小程序,并运行具有标识信息的测试版本的小程序。
103.作为示例,当未查询到时,从服务器中获取具有标识信息的测试版本的小程序,根据测试版本的小程序的标识信息,将测试版本的小程序存储到客户端中,以运行客户端中存储的具有标识信息的测试版本的小程序。
104.本技术实施例中,提前在客户端中存储具有标识信息的测试版本的小程序,能够在测试模式开启的情况下,直接运行客户端中存储的具有标识信息的测试版本的小程序,能够减少开发者的等待运行的时间,提高小程序的测试速度。
105.在一些实施例中,在客户端中显示测试版本的小程序的测试功能页面之前,还可以对图形码进行解析,以获得登录凭证;根据登录凭证从服务器获取测试版本的小程序的下载地址;根据下载地址发送网络请求以获取测试版本的小程序,并运行测试版本的小程
序。如此,能够通过图形码从服务器中获取测试版本的小程序,避免开发者之间互相传输测试版本的小程序所耗费的时间和传输资源。
106.以客户端是企业微信为例,企业微信客户端扫描二维码(即上述的图形码),从二维码中解析出code参数(即上述的登录凭证),基于code参数从微信的后台服务器中获取测试版本的小程序的下载地址,基于下载地址下载测试版本的小程序并运行测试版本的小程序。
107.在步骤s102中,响应于在测试功能页面中接收到的针对测试模式开关的开启操作,显示针对测试版本的测试模式开启的提示信息。
108.在一些实施例中,提示信息可以是文字提示信息,也可以是针对测试模式开关的显示状态的变换形态信息,例如,颜色变换或形状变化。
109.举例来说,图7b中,当在测试功能页面703中接收到的针对测试模式开关的开启操作时,测试模式开关704由显示为“开启多场景调试”变化为“关闭多场景调试”,如此,能够提示开发者已针对测试版本开启测试模式。
110.举例来说,图7d中,当在测试功能页面703中接收到的针对测试模式开关的开启操作时,测试模式开关704的颜色由白色变换为灰色,如此,能够提示开发者已针对测试版本开启测试模式。
111.在一些实施例中,当响应于在测试功能页面中接收到的针对测试模式开关的开启操作时,还可以获取测试版本的小程序的标识信息;根据标识信息,将测试版本设置为客户端存储的同类小程序中优先运行的版本;其中,同类小程序具有相同的标识信息。
112.作为示例,将测试版本设置为客户端存储的同类小程序中优先运行的版本可以是将同类小程序中的测试版本的小程序中添加一个优先级标记,以使客户端能够优先运行测试版本的小程序。
113.作为示例,根据标识信息可以查询到具有相同的标识信息的测试版本的小程序和正式版本的小程序,其中,测试版本的小程序和正式版本的小程序是同类小程序。如此,可以在开启测试模式后将测试版本设置为客户端存储的同类小程序中优先运行的版本,以便于后续接收到小程序触发操作时,运行测试版本的小程序以进行测试。
114.在步骤s103中,响应于小程序触发操作,运行测试版本的小程序以输出测试结果。
115.在一些实施例中,小程序触发操作可以是在客户端中接收到的非扫码场景的操作,例如,针对客户端中的小程序入口的触发操作。
116.作为示例,小程序触发操作可以是操作系统预先设置的、且和已注册操作无冲突的各种形式的操作;也可以是用户自定义的、且和已注册操作无冲突的各种形式的操作。小程序触发操作包括以下至少之一:点击操作(例如针对小程序入口的单指点击操作、多指点击操作或多次连击操作等);按照特定轨迹或方向的滑动操作;语音操作;体感操作(例如上下晃动的操作或曲线运动操作等)。如此,能够提高用户的操作体验。
117.在一些实施例中,运行测试版本的小程序所输出的测试结果是针对测试版本的小程序的业务逻辑进行测试所输出的结果。
118.举例来说,当测试版本的小程序是直播类型的小程序时,检测测试版本的小程序的直播功能以输出直播测试结果;当测试版本的小程序是购物类型的小程序时,检测测试版本的小程序的购物功能以输出购物测试结果。如此,能够方便开发者针对小程序的业务
逻辑实施测试,提高小程序的开发效率。
119.在一些实施例中,获取与小程序触发操作所触发的小程序入口绑定的标识信息;在客户端存储的小程序中查询具有标识信息的小程序;当查询到具有标识信息、且被设置为优先运行的测试版本的小程序时,运行测试版本的小程序以输出测试结果。
120.这里,每一个小程序入口均绑定一个标识信息,例如,图6a中,工作台页面中包括多个小程序入口601,“付款给企业”的小程序入口所绑定的标识信息和“企业案例介绍”的小程序入口所绑定的标识信息不同,如此,能够避免出现用户点击“付款给企业”的小程序入口却开启的是“企业案例介绍”的小程序。
121.作为示例,当在客户端的本地缓存中查询到具有相同的标识信息的测试版本的小程序和正式版本的小程序时,确定针对测试模式开关是否已实施开启操作,也就是确定测试版本的小程序是否被设置为优先运行;当针对测试模式开关已实施开启操作时,运行测试版本的小程序以输出测试结果。如此,能够优先运行本地缓存中的测试版本的小程序,以针对小程序进行测试。
122.举例来说,开发者手持的终端设备中运行的客户端的本地缓存中同时存在具有相同标识信息的2020年5月发布的正式版本的小程序a、以及2020年9月发布的测试版本的小程序a,当2020年9月发布的测试版本的小程序a被设置为优先运行的小程序(即测试模式开关已开启)时,运行2020年9月发布的测试版本的小程序a以输出测试结果。
123.在另一些实施例中,获取与小程序触发操作所触发的小程序入口绑定的标识信息;在客户端存储的小程序中查询具有标识信息的小程序;当未查询到具有标识信息的测试版本的小程序时,运行具有标识信息的正式版本的小程序,以输出运行结果。
124.作为示例,当客户端的本地缓存中没有具有标识信息的正式版本的小程序时,从服务器中下载具有标识信息的正式版本的小程序并运行。如此,不会导致测试版本的小程序和正式版本的小程序混淆,方便用户使用正式版本的小程序。
125.在又一些实施例中,获取与小程序触发操作所触发的小程序入口绑定的标识信息;在客户端存储的小程序中查询具有标识信息的小程序;当查询到具有标识信息的测试版本的小程序、且测试版本未被设置为优先运行的版本时,运行客户端中具有标识信息的正式版本的小程序,以输出运行结果。
126.作为示例,当客户端的本地缓存中没有具有标识信息的正式版本的小程序时,从服务器中下载具有标识信息的正式版本的小程序并运行。
127.作为示例,当在客户端的本地缓存中查询到具有相同的标识信息的测试版本的小程序和正式版本的小程序时,确定针对测试模式开关是否已实施开启操作,也就是确定测试版本的小程序是否被设置为优先运行;当针对测试模式开关未实施开启操作时,运行正式版本的小程序。如此,能够在开发者不需要对小程序进行测试时,避免其误开启测试版本的小程序,从而提高小程序的使用体验。
128.举例来说,开发者手持的终端设备中运行的客户端的本地缓存中同时存在具有相同标识信息的2020年5月发布的正式版本的小程序a、以及2020年9月发布的测试版本的小程序a,当2020年9月发布的测试版本的小程序a未被设置为优先运行的小程序(即测试模式开关已关闭)时,运行2020年5月发布的正式版本的小程序a。
129.相关技术中,若实际终端设备中同时存在具有相同标识信息的不同版本的小程序
时,在接收到针对小程序的触发操作后,可能会优先运行正式版本的小程序,也可能会由于缓存中不同版本的小程序并存导致的冲突而出现小程序运行失败的问题。然而,本技术实施例在实际终端设备中存在具有相同标识信息的不同版本的小程序的基础上,根据测试模式开关的状态运行测试版本的小程序或正式版本的小程序,如此,能够使开发者通过方便快捷的操作对小程序进行测试,或脱离测试状态而使用正式版本的小程序。
130.在一些实施例中,参见图4,图4是本技术实施例提供的小程序的测试处理方法的流程示意图,基于图3,在步骤s102之后可以包括步骤s104,需要说明的是,步骤s103和步骤s104不分先后顺序执行。
131.在步骤s104中,响应于在测试功能页面中接收到的针对测试模式开关的关闭操作,取消将测试版本设置为客户端存储的同类小程序中优先运行的版本。
132.作为示例,根据标识信息可以查询到具有相同的标识信息的测试版本的小程序和正式版本的小程序,其中,测试版本的小程序和正式版本的小程序是同类小程序。如此,可以在关闭测试模式后取消将测试版本设置为客户端存储的同类小程序中优先运行的版本,以便于后续接收到小程序触发操作时,运行正式版本的小程序。
133.在一些实施例中,在响应于在测试功能页面中接收到的针对测试模式开关的关闭操作时,还可以从接收到关闭操作时开始计时,当计时时长超出有效时长、且未接收到针对测试模式按钮的开启操作时,删除客户端中存储的测试版本的小程序。如此,能够节约终端的存储资源。
134.这里,有效时长可以是缺省值,也可以是开发者设定的值。
135.在另一些实施例中,在响应于在测试功能页面中接收到的针对测试模式开关的关闭操作时,删除客户端中存储的测试版本的小程序。如此,能够节约终端的存储资源。
136.在又一些实施例中,在响应于在测试功能页面中接收到的针对测试模式开关的关闭操作时,还可以确定客户端中用于缓存小程序的缓存空间;当缓存空间小于缓存空间阈值时,删除客户端中存储的测试版本的小程序。如此,能够节约终端的存储资源。
137.在一些实施例中,参见图5,图5是本技术实施例提供的小程序的测试处理方法的流程示意图,基于图3,在步骤s103之前可以包括步骤s105和步骤s106。
138.在步骤s105中,在客户端中显示小程序入口。
139.在一些实施例中,在客户端中显示服务页面;其中,服务页面中包括小程序入口。
140.以客户端是企业微信为例,服务页面可以是企业微信中的工作台页面。
141.举例来说,图6a是企业微信中的工作台页面,工作台页面中包括多种类型的小程序入口601。
142.在另一些实施例中,在客户端中显示聊天页面;其中,聊天页面中包括小程序卡片消息。
143.举例来说,图6b是企业微信中的聊天页面,聊天页面中包括小程序卡片消息602,小程序卡片消息602实现了小程序入口的功能。
144.在又一些实施例中,在客户端中显示聊天页面;其中,聊天页面中包括功能栏,功能栏中包括小程序入口。
145.举例来说,图6c是企业微信中的聊天页面,聊天页面中包括功能栏603,其中,功能栏603中包括小程序入口604。
146.在步骤s106中,将接收到的针对小程序入口的触发操作识别为小程序触发操作。
147.在一些实施例中,将接收到的针对服务页面中的小程序入口的触发操作识别为小程序触发操作。
148.举例来说,图6a中,将接收到的针对小程序入口601的触发操作识别为小程序触发操作。
149.在另一些实施例中,将接收到的针对聊天页面中的小程序卡片消息的触发操作识别为小程序触发操作。
150.举例来说,图6b中,将接收到的针对小程序卡片消息602的触发操作识别为小程序触发操作。
151.在又一些实施例中,将接收到的针对功能栏中的小程序入口的触发操作识别为小程序触发操作。
152.举例来说,图6c中,将接收到的针对功能栏603中的小程序入口604的触发操作识别为小程序触发操作。
153.本技术实施例提供多种类型的小程序触发操作,不仅能够便于后续检测测试版本的小程序的业务逻辑,还能够检测小程序入口的功能是否完善,即检测小程序入口能否开启小程序。
154.下面,以客户端是企业微信、且小程序开发工具是微信开发者工具为例说明本技术实施例提供的小程序的测试处理方法。
155.本技术实施例根据企业微信客户端对微信小程序开发包的转发和下载能力,在企业微信客户端中配置针对小程序的多场景调试功能,即可以在不同的场景中优先运行测试版本的小程序来进行调试,从而无需上传并发布正式版本的小程序到微信的小程序管理后台之后再进行调试,进而能够提高小程序的开发和调试的效率。
156.参见图6a、图6b和图6c,图6a、图6b和图6c是本技术实施例提供的小程序的测试处理方法的应用场景示意图。
157.图6a、图6b和图6c是企业微信中小程序的一些主要的运行场景,即小程序在企业微信中的入口。图6a是企业微信中的工作台页面,工作台页面中包括多种类型的小程序入口601。图6b是企业微信中的聊天页面,聊天页面中包括小程序卡片消息602,小程序卡片消息602实现了小程序入口的功能。图6c是企业微信中的聊天页面,聊天页面中包括功能栏603,其中,功能栏603中包括小程序入口604。
158.参见图7a和图7b,图7a和图7b是本技术实施例提供的小程序的测试处理方法的应用场景示意图。将结合图7a和图7b说明本技术实施例提供的小程序的测试处理方法的具体实现方式。
159.第一步,微信开发者工具显示预览二维码(即上述的测试版本的小程序的图形码)。
160.在一些实施例中,图7a是微信开发者工具显示预览二维码701的页面,开发者可以通过企业微信扫描预览二维码701实现小程序调试功能。
161.第二步,通过企业微信扫描微信开发者工具中显示的预览二维码,开启测试版本的小程序。
162.在一些实施例中,开启测试版本的小程序后,呈现小程序的主页面,如图7b左起的
第一张图所示;响应于针对胶囊开关702(即上述的测试功能页面入口)的触发操作,呈现测试功能页面703;测试功能页面703中包括显示为“开启多场景调试”的测试模式开关704;开发者可以通过触发测试模式开关704针对测试版本的小程序开启测试模式(即开启多场景调试);开启测试模式之后,测试模式开关704显示为“关闭多场景调试”。
163.在一些实施例中,当开启测试模式后需要关闭测试模式时,可以通过触发显示为“关闭多场景调试”的测试模式开关704关闭测试模式(即关闭多场景调试);关闭测试模式之后,测试模式开关704显示为“开启多场景调试”。
164.参见图8,图8是本技术实施例提供的小程序的测试处理方法的流程示意图,将结合图8说明本技术实施例提供的小程序的测试处理方法的具体实现方式。
165.在步骤s801中,微信开发者工具响应于开发者触发预览按钮的操作,从微信后台中接收用于获取测试版本的小程序的开发包的code参数,并基于code参数生成二维码。
166.在一些实施例中,当开发者点击微信开发者工具中的预览按钮后,微信开发者工具会和微信后台进行通信,微信开发者工具可以接收用于下载测试版本的小程序的开发包的code参数;微信开发者工具获得code参数后会动态生成用于下载测试版本的小程序的二维码。
167.在步骤s802中,企业微信客户端扫描二维码,从二维码中解析出code参数,通过微信后台基于code参数获取测试版本的小程序的下载地址,基于下载地址下载测试版本的小程序并运行。
168.在一些实施例中,开发者通过企业微信客户端扫描二维码,企业微信客户端解析出二维码中的code信息;企业微信客户端调用微信后台提供的接口通过发送code参数以及微信标识(uin,user information)信息获取包括测试版本的小程序的开发包的下载地址等信息;企业微信客户端下载测试版本的小程序的开发包,并运行测试版本的小程序。
169.作为示例,下载是指企业微信客户端运行测试版本的小程序后就会删除测试版本的小程序的开发包,即不在企业微信客户端中存储测试版本的小程序的开发包。
170.作为示例,微信uin信息是微信用户信息识别码,即微信用户身份标识,每个微信用户的身份标识不一样。
171.在步骤s803中,企业微信客户端响应于开发者开启多场景调试的操作,根据appid对测试版本的小程序进行缓存。
172.在一些实施例中,开发者可以通过点击正在运行的小程序的右上角的胶囊开关,以在呈现的测试功能页面中点击“开启多场景调试”的按钮;当开发者点击“开启多场景调试”的按钮后,企业微信客户端根据appid在企业微信客户端内部将测试版本的小程序的开发包进行本地缓存。
173.作为示例,缓存是指在企业微信客户端中存储测试版本的小程序的开发包,只有在删除企业微信客户端或清理缓存后才能删除测试版本的小程序的开发包。
174.在步骤s804中,企业微信客户端响应于开发者从其他场景入口(即非扫码场景)触发小程序的操作,获取触发的小程序入口对应的appid,并检查多场景调试的开关以及是否存在本地缓存。
175.在一些实施例中,当开发者退出小程序,然后从企业微信客户端的其他场景点击小程序的入口时,企业微信客户端获取点击小程序的入口所对应的appid,并检查企业微信
客户端本地中是否缓存有该测试版本的小程序的开发包、且是否开启多场景调试。
176.在步骤s805中,当存在本地缓存、且多场景调试已开启时,企业微信客户端加载缓存的测试版本的小程序,否则加载正式版本的小程序。
177.在一些实施例中,当存在本地缓存、且多场景调试已开启时,企业微信客户端优先使用缓存中的测试版本的小程序的开发包并运行;当不存在本地缓存或多场景调试未开启时,企业微信客户端运行正式版本的小程序。
178.在一些实施例中,当开发者点击“关闭多场景调试”的按钮后,从其他场景入口(即非扫码场景)触发小程序时,企业微信客户端忽略缓存中的测试版本的小程序的开发包,直接运行正式版本的小程序。
179.本技术实施例通过在企业微信客户端内建立appid和小程序的缓存机制,能够解决企业微信客户端中针对小程序多场景开发调试的问题,极大的提高了非扫码场景下的小程序的开发调试效率。
180.下面结合图2说明本技术实施例提供的小程序的测试处理装置的实施为软件模块的示例性结构。
181.在一些实施例中,如图2所示,存储在存储器450的小程序的测试处理装置455中的软件模块可以包括:
182.扫描模块4551,用于响应于扫描触发操作,根据扫描到的测试版本的小程序的图形码,在客户端中显示所述测试版本的小程序的测试功能页面;
183.其中,所述测试功能页面中包括测试模式开关;
184.测试模块4552,用于响应于在所述测试功能页面中接收到的针对所述测试模式开关的开启操作,显示针对所述测试版本的测试模式开启的提示信息;
185.运行模块4553,用于响应于小程序触发操作,运行所述测试版本的小程序以输出测试结果。
186.在上述方案中,所述扫描模块4551,还用于通过小程序开发工具响应于针对所述测试版本的小程序的预览操作,从服务器中获取用于下载所述测试版本的小程序的登录凭证,根据所述登录凭证生成所述图形码。
187.在上述方案中,所述扫描模块4551,还用于对所述图形码进行解析,以获得登录凭证;根据所述登录凭证从服务器获取所述测试版本的小程序的下载地址;根据所述下载地址发送网络请求以获取所述测试版本的小程序,并运行所述测试版本的小程序。
188.在上述方案中,所述扫描模块4551,还用于在所述客户端中显示所述测试版本的小程序的主页面,其中,所述主页面中包括测试功能页面入口;响应于在所述主页面中接收到的针对所述测试功能页面入口的触发操作,在所述客户端中显示所述测试版本的小程序的测试功能页面。
189.在上述方案中,所述图形码中携带所述测试版本的版本信息、以及所述小程序的标识信息;所述扫描模块,还用于在所述客户端存储的小程序中查询具有所述标识信息的所述测试版本的小程序;当查询到时,直接运行所述客户端中存储的具有所述标识信息的所述测试版本的小程序;当未查询到时,从服务器获取具有所述标识信息的所述测试版本的小程序,并存储到所述客户端中,以运行所述客户端中存储的具有所述标识信息的所述测试版本的小程序。
190.在上述方案中,所述测试模块4552,还用于获取所述测试版本的小程序的标识信息;根据所述标识信息,将所述测试版本设置为所述客户端存储的同类小程序中优先运行的版本;其中,所述同类小程序具有相同的标识信息。
191.在上述方案中,所述运行模块4553,还用于获取与所述小程序触发操作所触发的小程序入口绑定的标识信息;在所述客户端存储的小程序中查询具有所述标识信息的小程序;当查询到具有所述标识信息、且被设置为优先运行的测试版本的小程序时,运行所述测试版本的小程序以输出测试结果。
192.在上述方案中,所述运行模块4553,还用于当查询到具有所述标识信息的测试版本的小程序、且所述测试版本未被设置为优先运行的版本时,运行所述客户端中具有所述标识信息的正式版本的小程序,以输出运行结果。
193.在上述方案中,所述运行模块4553,还用于当未查询到具有所述标识信息的测试版本的小程序时,运行具有所述标识信息的正式版本的小程序,以输出运行结果。
194.在上述方案中,所述运行模块4553,还用于响应于在所述测试功能页面中接收到的针对所述测试模式开关的关闭操作,取消将所述测试版本设置为所述客户端存储的同类小程序中优先运行的版本;其中,所述同类小程序具有相同的标识信息。
195.在上述方案中,所述运行模块4553,还用于从接收到所述关闭操作时开始计时,当计时时长超出有效时长、且未接收到针对所述测试模式按钮的开启操作时,删除所述客户端中存储的所述测试版本的小程序。
196.在上述方案中,所述运行模块4553,还用于在所述客户端中显示小程序入口;将接收到的针对所述小程序入口的触发操作识别为所述小程序触发操作。
197.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的小程序的测试处理方法。
198.本技术实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的小程序的测试处理方法,例如,图3、图4和图5示出的小程序的测试处理方法,计算机包括智能终端和服务器在内的各种计算设备。
199.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
200.在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
201.作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
202.作为示例,计算机可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
203.综上所述,本技术实施例具有以下有益效果:
204.(1)通过扫描测试版本的小程序的图形码,显示包括测试模式开关的测试功能页面,使用户能够在测试功能页面快速开启小程序的测试模式,从而提高测试小程序的便捷性。
205.(2)在用户开启测试模式后,通过在客户端中触发小程序,就能够运行测试版本的小程序以进行测试,相较于相关技术,其在发布正式版本的小程序之前就能在客户端中对小程序进行测试,提高了在客户端中测试小程序的效率,从而提高了小程序的开发效率。
206.(3)提供多种图形码的传输途径,便于开发者选取方便快捷的途径针对小程序进行测试,能够提高小程序的开发效率。
207.(4)提前在客户端中存储具有标识信息的测试版本的小程序,能够在测试模式开启的情况下,直接运行客户端中存储的具有标识信息的测试版本的小程序,能够减少开发者的等待时间,提高小程序的测试速度。
208.(5)提供多种类型的小程序触发操作,不仅能够便于后续检测测试版本的小程序的业务逻辑,还能够检测小程序入口的功能是否完善,即检测小程序入口能否开启小程序。
209.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1