CN111858302A - 小程序的测试方法、装置、电子设备及存储介质 - Google Patents
小程序的测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111858302A CN111858302A CN202010508049.3A CN202010508049A CN111858302A CN 111858302 A CN111858302 A CN 111858302A CN 202010508049 A CN202010508049 A CN 202010508049A CN 111858302 A CN111858302 A CN 111858302A
- Authority
- CN
- China
- Prior art keywords
- program
- applet
- package
- parent
- information
- 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 81
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000010367 cloning Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 22
- 238000010998 test method Methods 0.000 claims description 14
- 238000009434 installation Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 10
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000011161 development Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011900 installation process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了小程序的测试方法、装置、电子设备及存储介质,涉及人工智能和小程序问题定位领域。具体方案为:在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,加载调整版本包中的母程序和测试程序,并在母程序中安装小程序,根据克隆的当前运行环境信息修改母程序的运行环境,进而启动小程序并利用测试程序对小程序进行测试,实现了小程序运行环境的还原,通过获取所依附母程序的当前运行环境信息来复现小程序的问题场景以定位问题,能够实现小程序问题的智能检测,快速进行问题定位,避免问题报告者与问题解决者之间的反复沟通。
Description
技术领域
本申请的实施例总体上涉及互联网应用领域,并且更具体地,涉及小程序问题定位领域。
背景技术
随着小程序市场的高速发展,线上形形色色的小程序在满足大众多垂类需求的同时,也产生了很多问题。对于远程调试无法满足开发者定位问题的诉求的情况,很多开发者会把问题现象报给小程序底层框架的开发工程师,由开发工程师进行问题定位。
然而,在实际应用中,问题报告者多是线上发布版本包(即Release包)用户,由于Release包是线上发布的小程序的最优包,开发工程师无法利用Release包进行调试以定位问题,只能通过不断地与问题报告者沟通细节来逐步定位问题,耗时耗力,效率低。
发明内容
本申请提供了一种小程序的测试方法、装置、电子设备及存储介质。
根据第一方面,提供了一种小程序的测试方法,包括:
接收第一设备发送的小程序的问题报告信息;
根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息;
获取所述母程序的调试版本包,并加载所述调试版本包之中的所述母程序和测试程序;
在所述母程序之中根据所述小程序的程序包安装所述小程序,并根据所述当前运行环境信息修改所述母程序的运行环境;以及
启动所述小程序,通过所述测试程序对所述小程序进行测试。
根据第二方面,提供了一种小程序的测试装置,包括:
接收模块,用于接收第一设备发送的小程序的问题报告信息;
克隆模块,用于根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息;
加载模块,用于获取所述母程序的调试版本包,并加载所述调试版本包之中的所述母程序和测试程序;
安装模块,用于在所述母程序之中根据所述小程序的程序包安装所述小程序,并根据所述当前运行环境信息修改所述母程序的运行环境;以及
测试模块,用于启动所述小程序,通过所述测试程序对所述小程序进行测试。
根据第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的小程序的测试方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的小程序的测试方法。
本申请提供的小程序的测试方法、装置、电子设备及存储介质,存在如下有益效果:
通过在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包,以及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,之后,加载调整版本包中的母程序和测试程序,并在母程序中安装小程序,以及根据克隆的当前运行环境信息修改母程序的运行环境,进而启动小程序,利用测试程序对小程序进行测试,由此,实现了小程序运行环境的还原,复现了小程序的问题场景,能够快速进行问题定位,通过还原小程序的问题场景进行问题定位,避免了问题报告者与问题解决者之间的反复沟通,省时省力,提高了问题定位的速度和效率,时效性高,解决了现有技术中,开发工程师需要不断地与问题报告者沟通细节来逐步定位问题,耗时耗力,效率低的技术问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的小程序的测试方法的流程示意图;
图2是根据本申请第二实施例的小程序的测试方法的流程示意图;
图3是根据本申请第三实施例的小程序的测试方法的流程示意图;
图4是根据本申请第四实施例的小程序的测试方法的流程示意图;
图5是根据本申请第五实施例的小程序的测试方法的流程示意图;
图6是采用本申请提供的小程序的测试方法对小程序进行问题定位时,问题报告者与问题解决者之间的交互过程示例图;
图7是克隆过程和安装过程是示例图;
图8是根据本申请第六实施例的小程序的测试装置的结构示意图;
图9是根据本申请第七实施例的小程序的测试装置的结构示意图;
图10是根据本申请第八实施例的小程序的测试装置的结构示意图;
图11是根据本申请第九实施例的小程序的测试装置的结构示意图;
图12是根据本申请第十实施例的小程序的测试装置的结构示意图;
图13是用来实现本申请实施例的小程序的测试方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请的小程序的测试方法、装置、电子设备及存储介质。
随着小程序市场的高速发展,微信、支付宝、手机百度等应用程序中集成的智能小程序也迎来了规模性地扩展。以手机百度为例,已经有10万多的小程序入驻手机百度。
线上形形色色的小程序在满足大众120多个垂类行业的不同需求的同时,也产生了很多问题,经常有用户或者开发者进行问题上报。目前,对于上报的问题的测试和定位,通常采用以下几种方法实现:
(1)对于调试版本包(即Debug包)的问题,由于Debug包中包含调试信息,且Debug包未作任何优化,因此便于程序员进行调试,程序员可以在拿到Debug包之后直接进行断点调试来定位问题所在。比如,当遇到小程序打不开、小程序页面布局不对等问题时,使用Debug包,程序员可以连接编译器进行断点调试,查看具体的运行报错信息,进而根据报错信息去定位具体的问题原因。
(2)对于Release包的问题,如果能够稳定复现小程序的运行场景,则开发工程师可以获取小程序的Debug包,根据复现场景断点查看问题所在。
(3)对于Release包的问题,如果不能稳定复现小程序的运行场景,则需要拿到问题报告者所使用的电子设备,覆盖安装相同版本的应用程序(该应用程序为出现问题的小程序所入驻的应用程序)来进行断点调试;而如果拿不到问题报告者所使用的电子设备,则开发工程师只能找问题报告者索要电子设备的机型、安装的应用程序的版本、出现问题的小程序的相关信息等,通过反复沟通细节来逐步定位问题,耗时耗力。
可见,对于无法复现小程序的运行场景的情况,需要拿到问题报告者使用的电子设备才可能进行断点调试,但实际应用中,由于地理位置、用户隐私等因素的影响,开发工程师往往很难拿到问题报告者的电子设备,只能通过不断地与问题报告者沟通细节来逐步定位问题,耗时耗力,问题定位的效率较低。
针对上述问题,本申请公开了一种小程序的测试方法,通过在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包,以及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,之后,加载调整版本包中的母程序和测试程序,并在母程序中安装小程序,以及根据克隆的当前运行环境信息修改母程序的运行环境,进而启动小程序,利用测试程序对小程序进行测试,由此,实现了小程序运行环境的还原,复现了小程序的问题场景,能够快速进行问题定位,通过还原小程序的问题场景进行问题定位,避免了问题报告者与问题解决者之间的反复沟通,省时省力,提高了问题定位的速度和效率,时效性高。
图1是根据本申请第一实施例的小程序的测试方法的流程示意图,该方法可以由本申请提供的小程序的测试装置执行,也可以由本申请提供的电子设备执行,其中,电子设备可以包括但不限于手机、平板电脑、可穿戴设备等。下面以由电子设备执行本申请提供的小程序的测试方法为例来解释说明本申请,该电子设备可以由问题解决者(比如开发工程师、程序员等)持有,以针对定位的问题寻找解决方案,及时解决问题。
如图1所示,该小程序的测试方法,可以包括以下步骤:
步骤101,接收第一设备发送的小程序的问题报告信息。
其中,第一设备是问题报告者(比如用户)使用的电子设备,比如可以是手机、平板电脑等。第一设备中安装有允许入驻小程序的应用程序,比如微信、支付宝等,当用户在使用应用程序中的任一小程序时,若发现该小程序出现问题,比如小程序无法打开、闪退等问题,则可以发送小程序的问题报告信息,进行问题上报。
作为一种示例,第一设备上报的问题报告信息中可以包括但不限于出现问题的小程序的名称、问题类型等信息,其中,问题类型比如可以是打不开、页面布局不对、闪退等。
步骤102,根据问题报告信息从第一设备之中克隆小程序的程序包以及小程序所依附的母程序的当前运行环境信息。
本实施例中,电子设备接收到第一设备发送的问题报告信息后,可以根据问题报告信息从第一设备中克隆小程序的程序包和小程序所依附的母程序的当前运行环境。
其中,小程序的程序包中包括小程序运行使用的所有的代码环境、SwanCore、ExtensionCore、用户存储器等信息,当前运行环境信息中包括但不限于数据库信息、AB实验、日志信息等。其中,SwanCore是小程序运行时前端(指小程序开发者的Javascript代码)与客户端(指安卓、iOS等操作***)通信的一个软件开发工具包(Software DevelopmentKit,SDK);ExtensionCore是对Swancore的补充,使用开源SDK的业务方可以进行扩展使用自己定义的功能;用户存储器中存储的是用户操作小程序的过程中沙盒需要保存的数据;数据库信息中包括母程序上用户所有小程序的下载、Swancore、ExtensionCore的下载使用记录;AB实验是指精细化对线上的功能进行AB验证,验证新功能的可靠性和收益符合预期;日志信息是用户操作过程中产生的信息,用于记录关键操作路径上的信息,主要用于定位问题。
本实施例中,电子设备接收到第一设备发送的问题报告信息后,可以从问题报告信息中确定出小程序的名称,根据确定的小程序名称从第一设备中克隆对应小程序的程序包,并克隆小程序所依附的母程序的当前运行环境信息。
作为一种示例,电子设备可以根据从问题报告信息中确定的小程序的名称生成对应的克隆二维码,并将克隆二维码发送给第一设备,第一设备扫描克隆二维码后,即可自动克隆小程序的程序包和所依附的母程序的当前运行环境信息,进而将克隆的程序包和当前运行环境信息进行打包并上传至指定的平台(比如Aegis平台),电子设备登录指定的平台进行取包,即可获取克隆的程序包和当前运行环境信息。
步骤103,获取母程序的调试版本包,并加载调试版本包之中的母程序和测试程序。
作为一种示例,可以从第一设备获取小程序包所依附的母程序的版本号,比如,可以在从第一设备克隆小程序的程序包和所依附的母程序的当前运行环境信息时,获取母程序的版本号,进而根据版本号获取与版本号对应的母程序的调试版本包。其中,获取母程序的调试版本包时,可以根据存放各个版本的调试版本包的网站的网址,登录该网站,从网站上查找并下载与版本号匹配的调试版本包。
调试版本包中不仅包括母程序,还包括测试程序,进而,本实施例中,电子设备获取了母程序的调试版本包后,可以加载调试版本包中的母程序和测试程序。
步骤104,在母程序之中根据小程序的程序包安装小程序,并根据当前运行环境信息修改母程序的运行环境。
本实施例中,电子设备加载了母程序后,可以根据克隆的小程序的安装包,在母程序中安装小程序,并根据克隆的当前运行环境信息,对加载的母程序的运行环境进行修改。
实际应用中,在母程序中安装小程序时,可以将小程序的程序包中的各个文件拷贝至电子设备的存储单元中的对应位置,组装成新的小程序。在修改母程序的运行环境时,可以利用获取的当前运行环境信息中的不同信息,替换母程序的运行环境中对应文件下的内容,以实现母程序运行环境的更新。
从而,通过加载母程序并在母程序中安装小程序,以及根据当前运行环境信息修改母程序的运行环境为当前运行环境信息,实现了小程序的运行环境的还原,复现了小程序的问题场景,有利于准确定位问题。
步骤105,启动小程序,通过测试程序对小程序进行测试。
本实施例中,在母程序中安装了小程序,并修改了母程序的运行环境之后,即可启动小程序,通过测试程序对小程序进行测试。从而,通过在与用户使用的相同版本的母程序中安装小程序,并修改母程序的运行环境与用户所使用的母程序的当前运行环境一致,能够快速复现用户的问题场景,通过在相同的问题场景中启动小程序并进行测试,能够方便、快速地定位出问题原因所在,有益于及时止损。
本申请实施例中,通过获取所依附母程序的当前运行环境信息来复现小程序的问题场景以定位问题,从而无需问题报告者与问题解决者之间进行反复沟通即可自动地定位出小程序运行过程中出现的问题,实现了小程序问题的智能检测,能够快速进行问题定位,提高问题定位的速度和效率。
本实施例的小程序的测试方法,通过接收第一设备发送的小程序的问题报告信息,根据问题报告信息从第一设备之中克隆小程序的程序包以及小程序所依附的母程序的当前运行环境信息,获取母程序的调试版本包,并加载调试版本包之中的母程序和测试程序,进而在母程序之中根据小程序的程序包安装小程序,并根据当前运行环境信息修改母程序的运行环境,启动小程序,通过测试程序对小程序进行测试。由此,通过在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包,以及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,之后,加载调整版本包中的母程序和测试程序,并在母程序中安装小程序,以及根据克隆的当前运行环境信息修改母程序的运行环境,进而启动小程序,利用测试程序对小程序进行测试,由此,实现了小程序运行环境的还原,复现了小程序的问题场景,能够快速进行问题定位,通过还原小程序的问题场景进行问题定位,避免了问题报告者与问题解决者之间的反复沟通,省时省力,提高了问题定位的速度和效率,时效性高,解决了现有技术中,开发工程师需要不断地与问题报告者沟通细节来逐步定位问题,耗时耗力,效率低的技术问题。
为了更加清楚的说明前述实施例中根据问题报告信息从第一设备之中克隆小程序的程序包以及小程序所依附的母程序的当前运行环境信息的具体实现过程,下面结合附图2进行详细说明。
图2是根据本申请第二实施例的小程序的测试方法的流程示意图。如图2所示,在如图1所示实施例的基础上,步骤102可以包括以下步骤:
步骤201,向第一设备的母程序发送克隆指令,其中,第一设备的母程序根据克隆指令建立克隆文件包,并获取第一设备之中小程序的程序包和当前运行环境信息,以及将小程序的程序包和当前运行环境信息添加至克隆文件包。
本实施例中,电子设备接收到第一设备发送的问题报告信息后,可以向第一设备的母程序发送克隆指令,由第一设备的母程序根据克隆指令建立克隆文件包,并获取第一设备中小程序的程序包和当前运行环境信息添加至克隆文件包中。
作为一种示例,克隆指令可以是一个克隆二维码,电子设备接收到第一设备发送的问题报告信息后,根据问题报告信息确定出用户上报的出现问题的小程序,并获取小程序的应用程序接口验证序号Appkey,并根据Appkey确定对应的克隆协议,进而根据克隆协议生成克隆二维码,将克隆二维码发送给第一设备的母程序。
第一设备的母程序接收到克隆二维码后,识别克隆二维码以获取克隆协议,接着启动克隆协议开始克隆过程,建立克隆文件包,并获取小程序的程序包及当前运行环境信息,进而将小程序的程序包和当前运行环境信息添加至克隆文件包中。
步骤202,接收第一设备的母程序发送的克隆文件包,并从克隆文件包之中提取小程序的程序包和当前运行环境信息。
本实施例中,第一设备的母程序生成包含小程序的程序包和当前运行环境信息的克隆文件包之后,可以将克隆文件包发送给电子设备,以使电子设备接收该克隆文件包。
作为一种示例,电子设备接收第一设备的母程序发送的克隆文件包的方式,可以通过直接与第一设备中的母程序进行交互,来获取第一设备的母程序发送的克隆文件包。
作为另一种示例,电子设备接收第一设备的母程序发送的克隆文件包,可以通过第三方平台完成。具体地,第一设备生成包含小程序的程序包和当前运行环境信息的克隆文件包之后,可以将克隆文件包上传至指定的平台,比如上传至Aegis平台,电子设备登录Aegis平台来下载克隆文件包。此外,第一设备上传克隆文件包时,可以对克隆文件包进行压缩后再进行上传,由此能够节省流量,提高上传速度,并且,在上传前,还可以通过预设的加密算法进行加密后再进行上传,以保证安全性。
接着,电子设备接收到克隆文件包之后,可以从克隆文件包中提取出小程序的程序包和当前运行环境信息。
能够理解的是,如果电子设备接收到的克隆文件包为压缩后的文件包,则可以先对克隆文件包进行解压缩,再从解压缩后的克隆文件包中提取小程序的程序包和当前运行环境信息;如果接收到的克隆文件包为加密的文件包,则可以先通过解密工具进行解密,之后再从解密后的克隆文件包中提取小程序的程序包和当前运行环境信息。
本实施例的小程序的测试方法,通过向第一设备的母程序发送克隆指令,其中,第一设备的母程序根据克隆指令建立克隆文件包,并获取第一设备之中小程序的程序包和当前运行环境信息,以及将小程序的程序包和当前运行环境信息添加至所述克隆文件包,接收第一设备的母程序发送的克隆文件包,并从克隆文件包之中提取小程序的程序包和当前运行环境信息,由此,只需向第一设备的母程序发送克隆指令即可克隆得到第一设备中小程序的程序包和当前运行环境信息,方便快捷,获取的运行环境信息齐全,有利于准确地进行问题定位。
每个应用程序的版本通常不是唯一的,应用程序商会经常更新应用程序以修复应用程序的漏洞,提高用户的使用体验。不同版本的应用程序对应不同的调试版本包,以有针对性地对应用程序进行调试。从而,在本申请实施例一种可能的实现方式中,可以获取母程序的版本信息来确定对应的调试版本包。下面结合附图3进行解释说明。
图3是根据本申请第三实施例的小程序的测试方法的流程示意图,如图3所示,在如图1所示实施例的基础上,步骤103中,获取母程序的调试版本包,可以包括以下步骤:
步骤301,获取母程序的版本信息。
通常,线上发布的应用程序(即本申请中的母程序)会经常更新,定期或不定期地发布更新的应用程序版本,用户可以根据需求选择更新或不更新当前设备中所安装的应用程序,由此,对于同一应用程序,不同的用户使用的版本可能不同。
本实施例中,为了准确地还原小程序的运行环境,可以获取小程序所依附的母程序的版本信息,以获取与小程序所依附的母程序相同版本的应用程序。其中,版本信息比如可以是版本号,例如,获取的微信的版本信息为2.9.0.121。
作为一种示例,获取母程序的版本信息时,可以通过克隆上传接口来获取。电子设备从第一设备中克隆小程序所依附的母程序的当前运行环境信息时,可以同时获取母程序的版本信息。
步骤302,根据母程序的版本信息获取版本信息对应的母程序的调试版本包。
为了便于对不同版本的应用程序进行调试,通常,针对每个版本的应用程序,均保留对应版本的调试版本包。比如,版本号为11.19的应用程序对应一个11.19的调试版本包,版本号为11.22的应用程序对应一个11.22的调试版本包,各个版本的调试版本包可以保留在一个专门的网址上,当需要获取某版本的调试版本包时,可以进入该网址进行下载。
从而,本实施例中,获取了母程序的版本信息后,可以根据母程序的版本信息获取与版本信息匹配的母程序的调试版本包。
本实施例的小程序的测试方法,通过获取母程序的版本信息,根据母程序的版本信息获取版本信息对应的母程序的调试版本包,实现了获取与小程序在第一设备中依附的母程序相同版本的调试版本包,为准确地还原小程序的运行环境提供了条件,有利于准确地进行问题定位。
电子设备中加载了母程序之后,母程序可以处于启动状态或未启动状态,针对不同的运行状态,本申请提供了不同的实施方案来修改母程序的运行环境,下面结合附图4进行详细说明。
图4是根据本申请第四实施例的小程序的测试方法的流程示意图,如图4所示,在如图1所示实施例的基础上,步骤104中,根据当前运行环境信息修改母程序的运行环境,可以包括以下步骤:
步骤401,获取母程序的当前运行状态。
其中,当前运行状态为启动状态或未启动状态。
作为一种示例,电子设备可以判断母程序当前是否处前台运行状态,若是,则确定母程序的当前运行状态为启动状态;否则,则确定母程序的当前运行状态为未启动状态。
其中,判断母程序当前是否处于前台运行状态的方式可以有多种,例如,对于安卓***的电子设备,可以使用ActivityLifecycleCallbacks来监听当前处于前台运行的应用程序,如果当前处于前台运行的应用程序与母程序的标识一致时,则确定母程序当前为启动状态,否则确定母程序当前为未启动状态。
步骤402,如果母程序的当前运行状态为启动状态,则重加载当前运行环境信息以使得母程序的运行环境与第一设备母程序的运行环境一致。
本实施例中,当确定母程序的当前运行状态为启动状态时,可以将当前运行环境信息在母程序中执行重加载操作,使得母程序当前的配置信息、数据库信息、AB实验等,替换为克隆获得的当前运行环境信息中的相应信息,替换后的母程序的运行环境与第一设备中母程序的运行环境一致,准确还原了小程序的运行环境。上述过程可以称为热更新过程。
步骤403,如果母程序的当前运行状态为未启动状态,则消除母程序对应的进程,并加载当前运行环境信息以使得母程序的运行环境与第一设备母程序的运行环境一致,以及启动母程序。
本实施例中,当确定母程序的当前运行状态为未启动状态时,则先杀死母程序对应的进程,之后再在母程序中加载克隆的当前运行环境信息,使得母程序当前的配置信息、数据库信息、AB实验等,替换为克隆获得的当前运行环境信息中的相应信息,替换后的母程序的运行环境与第一设备中母程序的运行环境一致,准确还原了小程序的运行环境。上述过程可以称为冷启动过程。
在完成当前运行环境信息的加载操作之后,由于当前母程序仍处于未启动状态,则可以启动母程序,以进行后续的测试。
本实施例的小程序的测试方法,通过获取母程序的当前运行状态,在母程序的当前运行状态为启动状态时,重加载当前运行环境信息以使得母程序的运行环境与第一设备母程序的运行环境一致;当母程序的当前运行状态为未启动状态时,消除母程序对应的进程,并加载当前运行环境信息以使得母程序的运行环境与第一设备母程序的运行环境一致,以及启动母程序,由此,实现了针对不同状态的母程序采用对应的运行环境加载方式,提高了方法的灵活性,通过加载当前运行环境信息以使母程序的运行环境与第一设备中母程序的运行环境一致,实现了小程序的运行场景的准确还原,有利于准确定位问题所在。
通常,用户操作过程中产生的日志信息,会记录操作过程中的一些关键路径上的操作信息,可以用于定位问题,从而,在本申请实施例一种可能的实现方式中,可以获取第一设备中小程序的日志信息来进行测试,以方便问题定位。下面结合附图5进行详细说明。
图5是根据本申请第五实施例的小程序的测试方法的流程示意图,如图5所示,在如图1所示实施例的基础上,步骤105中,通过测试程序对小程序进行测试,可以包括以下步骤:
步骤501,获取第一设备之中小程序的日志信息。
作为一种示例,第一设备中小程序的日志信息,可以在电子设备从第一设备中克隆小程序的程序包和小程序所依附的母程序的当前运行环境信息时,同时克隆小程序的日志信息,通过与第一设备交互来获取小程序的日志信息。
作为一种示例,可以在第一设备接收到电子设备发送的克隆指令时,除了获取小程序的程序包和母程序的当前运行环境信息外,还获取小程序的日志信息,并将日志信息添加至克隆文件包中,与小程序的程序包和母程序的当前运行环境信息一起上传至指定的平台中,电子设备可以从指定的平台中获取第一设备中小程序的日志信息。
由此,通过在从第一设备中克隆小程序的程序包和母程序的当前运行环境信息的同时,一起获取小程序的日志信息,只需与第一设备进行一次交互即可完成问题定位所需信息的获取,减少了交互次数,有利于提高问题定位效率。
步骤502,根据日志信息对小程序进行操作,以对小程序进行测试。
本实施例中,电子设备获取了第一设备中小程序的日志信息后,可以根据日志信息对小程序进行操作,以对小程序进行测试。
作为一种示例,电子设备接收到第一设备中小程序的日志信息后,可以将日志信息展示给开发工程师,由开发工程师根据日志信息中记录的用户对小程序的操作在电子设备中操作小程序,以还原用户操作小程序的过程,根据操作过程中出现的问题现象,即可定位出小程序的问题所在,确定导致问题出现的具体原因。
作为一种示例,电子设备可以采用日志信息读取工具来读取获取的日志信息中的内容,识别出日志信息中所包含的操作过程,并在小程序上执行识别到的操作过程,达到模拟用户在第一设备上操作小程序的过程的目的,根据操作过程中出现的问题现象,即可定位出小程序的问题所在,确定导致问题出现的具体原因。由此,实现了问题定位的自动化,减少了人工的参与,从而能够降低因人工误操作导致问题定位不准的概率。
本实施例的小程序的测试方法,通过获取第一设备之中小程序的日志信息,根据日志信息对小程序进行操作,以对小程序进行测试,由于日志信息中记录了关键路径上的操作信息,能够方便问题定位,从而本实施中根据日志信息对小程序进行操作以对小程序进行测试,实现了相同环境、相同操作路径下问题的复现与定位,问题定位效率更高。
下面结合附图6和附图7,以小程序所依附的母程序为手机百度APP(以下简称“手百”)为例,解释说明本申请提供的小程序的测试方法在实际应用中的实现过程。
图6是采用本申请提供的小程序的测试方法对小程序进行问题定位时,问题报告者与问题解决者之间的交互过程示例图;图7是克隆过程和安装过程是示例图。如图6所示,问题报告者可以向问题解决者发送“我的A小程序出现***问题了”的消息来报告问题,问题解决者接收到问题报告者上报的问题后,向问题报告者发送克隆二维码以及问题报告者需要进行的操作,如:“我给你个二维码,稍后用手百扫下”。其中,克隆二维码的生成过程如图6中区域1内显示的内容所示,电子设备先执行步骤1,获取A小程序的AppKey,获取方式可以有三种,一是通过图6中指定的网址进入对应的平台获取;二是对于应用程序开发者(即图6中的NA开发),可以打开A小程序的Debug包来获取;三是对于测试人员(即图6中的QA),可以通过抓包或者606打点的方式来获取App Key,其中606打点指的是数据统一的一种统计方式。获取到小程序的App Key后,可以执行步骤2,根据获取的App Key生成克隆协议,进而执行步骤3,利用二维码生成器,比如图6中网址https://cli.im/中提供的二维码生成器来生成克隆二维码。需要说明的是,区域1中显示的克隆二维码的生成过程在实际应用中是不会显示给问题报告者的,图6中显示该过程仅用于说明克隆二维码是如何生成的,而不能作为问题解决者向问题报告者发送的信息。
问题报告者收到问题解决者发送的消息和克隆二维码之后,使用所持的设备中的手百扫描该克隆二维码,执行如图7所示的克隆过程。问题报告者使用所持设备中的手百扫描克隆二维码后,会拦截到克隆协议,启动克隆协议开始克隆,其中,克隆过程完全不需要问题报告者关心,会自动执行。在克隆之前,先在缓存cache目录下创建克隆缓存文件cloneFolder_{App Key},并在存储卡sdcard目录下创造克隆空文件夹cloneZip.zip,之后启动IO线程开始克隆,克隆内容包括小程序包、SwanCore、ExtensionCore、配置文件(Sp文件)、数据库信息(Db信息)、Ab实验等。之后,将克隆的信息统一打包生成zip文件,再经过高级加密标准(Advanced Encryption Standard,AES)加密后上传至Aegis平台,最后生成Toast提示消息“反馈成功”。问题报告者看到“反馈成功”的提示消息后,可以向问题解决者发送“扫一扫后提示反馈成功了”的信息,问题解决者告知问题报告者稍后告诉其定位结果。
问题解决者在进行问题定位时,执行图6中区域2所示的步骤进行小程序运行环境的还原,复现小程序的问题场景。具体地,先打开指定的网址登录Aegis平台,根据问题反馈者(即问题报告者)的扫码时间区间或者A小程序的App Key获取问题反馈者上传的小程序包,有必要地话,还可以向问题报告者索要其被叫用户识别号(Called UserIDentification number,CUID)来过滤获取的小程序包。从Aegis平台下载小程序包,比如,下载文件的名称可以为XXXX.zipFiles。之后,从下载链接中(图6中未显示)下载解压工具swan_dycrypt.py,并在终端中运行命令“>python swan_dycrypt.pyXXXX.zipFiles”来解压XXXX.zipFiles文件,解压路径为swan_feedback_文件名,将解压路径下的cloneZip.zip文件发送至终端(如手机)的存储卡sd根目录下,进而安装克隆小程序。其中,在安装克隆小程序前,先生成安装协议,再利用二维码生成器,比如图6中网址https://cli.im/中提供的二维码生成器来生成安装二维码,找个相同手百版本的Debug包安装手百后,扫一扫安装二维码即可。如图7所示的安装过程,扫描安装二维码后,会拦截到安装协议,并解压cloneZip.zip,校验cloneZip中的小程序与安装协议中的App Key是否合法,并在合法时开始拷贝克隆的信息至对应文件,以及重新加载Sp文件和Db数据,之后即可开始定位问题。
需要说明的是,区域2中显示的内容在实际应用中是不会显示给问题报告者的,图6中显示该内容仅用于说明问题解决者所持的设备执行的操作,而不能作为问题解决者向问题报告者发送的信息。
问题定位完成后,问题解决者向问题报告者发送“问题定位了,是XX原因导致的”消息,以告知问题报告者问题的原因所在,方便问题报告者解决问题。
本申请提供的小程序的测试方法,可以应用于白屏检测、线上问题复现等场景,能够快速定位问题,效率高,为线上及时止损,提升框架稳定性提供了有益的帮助。
根据本申请的实施例,本申请还提供了一种小程序的测试装置。
图8是根据本申请第六实施例的小程序的测试装置的结构示意图。如图8所示,该小程序的测试装置60包括:接收模块610、克隆模块620、加载模块630、安装模块640以及测试模块650。
其中,接收模块610,用于接收第一设备发送的小程序的问题报告信息;
克隆模块620,用于根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息;
加载模块630,用于获取所述母程序的调试版本包,并加载所述调试版本包之中的所述母程序和测试程序;
安装模块640,用于在所述母程序之中根据所述小程序的程序包安装所述小程序,并根据所述当前运行环境信息修改所述母程序的运行环境;以及
测试模块650,用于启动所述小程序,通过所述测试程序对所述小程序进行测试。
在本申请实施例一种可能的实现方式中,如图9所示,在如图8所示实施例的基础上,克隆模块620可以包括:
发送单元621,用于向所述第一设备的所述母程序发送克隆指令,其中,所述第一设备的所述母程序根据所述克隆指令建立克隆文件包,并获取所述第一设备之中所述小程序的程序包和当前运行环境信息,以及将所述小程序的程序包和当前运行环境信息添加至所述克隆文件包;以及
接收单元622,用于接收所述第一设备的所述母程序发送的所述克隆文件包,并从所述克隆文件包之中提取所述小程序的程序包和当前运行环境信息。
在本申请实施例一种可能的实现方式中,如图10所示,在如图8所示实施例的基础上,加载模块630,包括:
第一获取单元631,用于获取所述母程序的版本信息;以及
第二获取单元632,用于根据所述母程序的版本信息获取所述版本信息对应的所述母程序的调试版本包。
在本申请实施例一种可能的实现方式中,如图11所示,在如图8所示实施例的基础上,安装模块640,包括:
状态获取单元641,用于获取所述母程序的当前运行状态;
重加载单元642,用于如果所述母程序的当前运行状态为启动状态,则重加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致;
冷启动单元643,用于如果所述母程序的当前运行状态为未启动状态,则消除所述母程序对应的进程,并加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致,以及启动所述母程序。
在本申请实施例一种可能的实现方式中,如图12所示,在如图8所示实施例的基础上,测试模块650,包括:
日志获取单元651,用于获取所述第一设备之中所述小程序的日志信息;以及
测试单元652,用于根据所述日志信息对所述小程序进行操作,以对所述小程序进行测试。
需要说明的是,前述对小程序的测试方法实施例的解释说明,也适用于该实施例的小程序的测试装置,其实现原理类似,此处不再赘述。
本申请实施例的小程序的测试装置,通过在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包,以及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,之后,加载调整版本包中的母程序和测试程序,并在母程序中安装小程序,以及根据克隆的当前运行环境信息修改母程序的运行环境,进而启动小程序,利用测试程序对小程序进行测试,由此,实现了小程序运行环境的还原,复现了小程序的问题场景,能够快速进行问题定位,通过还原小程序的问题场景进行问题定位,避免了问题报告者与问题解决者之间的反复沟通,省时省力,提高了问题定位的速度和效率,时效性高,解决了现有技术中,开发工程师需要不断地与问题报告者沟通细节来逐步定位问题,耗时耗力,效率低的技术问题。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图13所示,是用来实现本申请实施例的小程序的测试方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图13所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图13中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的小程序的测试方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的小程序的测试方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的小程序的测试方法对应的程序指令/模块(例如,附图8所示的接收模块610、克隆模块620、加载模块630、安装模块640以及测试模块650)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的小程序的测试方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据执行小程序的测试方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至执行小程序的测试方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行小程序的测试方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图13中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与执行小程序的测试方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过在接收到第一设备发送的小程序的问题报告信息时,克隆第一设备中小程序的程序包以及小程序所依附的母程序的当前运行环境,并获取母程序的调试版本包,加载调整版本包中的母程序和测试程序,在母程序中安装小程序并修改母程序的运行环境,进而对小程序进行测试,实现了小程序运行环境的还原,复现了小程序的问题场景,能够快速进行问题定位,通过还原小程序的问题场景进行问题定位,避免了问题报告者与问题解决者之间的反复沟通,省时省力,提高了问题定位的速度和效率,时效性高。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种小程序的测试方法,包括:
接收第一设备发送的小程序的问题报告信息;
根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息;
获取所述母程序的调试版本包,并加载所述调试版本包之中的所述母程序和测试程序;
在所述母程序之中根据所述小程序的程序包安装所述小程序,并根据所述当前运行环境信息修改所述母程序的运行环境;以及
启动所述小程序,通过所述测试程序对所述小程序进行测试。
2.如权利要求1所述小程序的测试方法,其中,所述根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息,包括:
向所述第一设备的所述母程序发送克隆指令,其中,所述第一设备的所述母程序根据所述克隆指令建立克隆文件包,并获取所述第一设备之中所述小程序的程序包和当前运行环境信息,以及将所述小程序的程序包和当前运行环境信息添加至所述克隆文件包;以及
接收所述第一设备的所述母程序发送的所述克隆文件包,并从所述克隆文件包之中提取所述小程序的程序包和当前运行环境信息。
3.如权利要求1所述小程序的测试方法,其中,所述获取所述母程序的调试版本包,包括:
获取所述母程序的版本信息;以及
根据所述母程序的版本信息获取所述版本信息对应的所述母程序的调试版本包。
4.如权利要求1所述小程序的测试方法,其中,所述根据所述当前运行环境信息修改所述母程序的运行环境,包括:
获取所述母程序的当前运行状态;
如果所述母程序的当前运行状态为启动状态,则重加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致;
如果所述母程序的当前运行状态为未启动状态,则消除所述母程序对应的进程,并加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致,以及启动所述母程序。
5.如权利要求1所述小程序的测试方法,其中,所述通过所述测试程序对所述小程序进行测试,包括:
获取所述第一设备之中所述小程序的日志信息;以及
根据所述日志信息对所述小程序进行操作,以对所述小程序进行测试。
6.一种小程序的测试装置,包括:
接收模块,用于接收第一设备发送的小程序的问题报告信息;
克隆模块,用于根据所述问题报告信息从所述第一设备之中克隆所述小程序的程序包以及所述小程序所依附的母程序的当前运行环境信息;
加载模块,用于获取所述母程序的调试版本包,并加载所述调试版本包之中的所述母程序和测试程序;
安装模块,用于在所述母程序之中根据所述小程序的程序包安装所述小程序,并根据所述当前运行环境信息修改所述母程序的运行环境;以及
测试模块,用于启动所述小程序,通过所述测试程序对所述小程序进行测试。
7.如权利要求6所述的小程序的测试装置,其中,所述克隆模块,包括:
发送单元,用于向所述第一设备的所述母程序发送克隆指令,其中,所述第一设备的所述母程序根据所述克隆指令建立克隆文件包,并获取所述第一设备之中所述小程序的程序包和当前运行环境信息,以及将所述小程序的程序包和当前运行环境信息添加至所述克隆文件包;以及
接收单元,用于接收所述第一设备的所述母程序发送的所述克隆文件包,并从所述克隆文件包之中提取所述小程序的程序包和当前运行环境信息。
8.如权利要求6所述的小程序的测试装置,其中,所述加载模块,包括:
第一获取单元,用于获取所述母程序的版本信息;以及
第二获取单元,用于根据所述母程序的版本信息获取所述版本信息对应的所述母程序的调试版本包。
9.如权利要求6所述的小程序的测试装置,其中,所述安装模块,包括:
状态获取单元,用于获取所述母程序的当前运行状态;
重加载单元,用于如果所述母程序的当前运行状态为启动状态,则重加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致;
冷启动单元,用于如果所述母程序的当前运行状态为未启动状态,则消除所述母程序对应的进程,并加载所述当前运行环境信息以使得所述母程序的运行环境与所述第一设备母程序的运行环境一致,以及启动所述母程序。
10.如权利要求6所述的小程序的测试装置,其中,所述测试模块,包括:
日志获取单元,用于获取所述第一设备之中所述小程序的日志信息;以及
测试单元,用于根据所述日志信息对所述小程序进行操作,以对所述小程序进行测试。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的小程序的测试方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的小程序的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010508049.3A CN111858302B (zh) | 2020-06-05 | 2020-06-05 | 小程序的测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010508049.3A CN111858302B (zh) | 2020-06-05 | 2020-06-05 | 小程序的测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858302A true CN111858302A (zh) | 2020-10-30 |
CN111858302B CN111858302B (zh) | 2023-12-12 |
Family
ID=72986102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010508049.3A Active CN111858302B (zh) | 2020-06-05 | 2020-06-05 | 小程序的测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858302B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882945A (zh) * | 2021-03-12 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 小程序数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473894B1 (en) * | 1999-01-29 | 2002-10-29 | International Business Machines Corporation | Dynamic runtime and test architecture for Java applets |
US9262300B1 (en) * | 2014-06-24 | 2016-02-16 | Google Inc. | Debugging computer programming code in a cloud debugger environment |
CN108829581A (zh) * | 2018-05-22 | 2018-11-16 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
CN109739770A (zh) * | 2019-01-04 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | 小程序的调试方法及装置 |
CN110471853A (zh) * | 2019-08-15 | 2019-11-19 | 平安普惠企业管理有限公司 | App测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-06-05 CN CN202010508049.3A patent/CN111858302B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473894B1 (en) * | 1999-01-29 | 2002-10-29 | International Business Machines Corporation | Dynamic runtime and test architecture for Java applets |
US9262300B1 (en) * | 2014-06-24 | 2016-02-16 | Google Inc. | Debugging computer programming code in a cloud debugger environment |
CN108829581A (zh) * | 2018-05-22 | 2018-11-16 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
CN109739770A (zh) * | 2019-01-04 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | 小程序的调试方法及装置 |
CN110471853A (zh) * | 2019-08-15 | 2019-11-19 | 平安普惠企业管理有限公司 | App测试方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
洪泽勇;刘厚磊;: "小程序测试设计特点", 现代经济信息, no. 23 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882945A (zh) * | 2021-03-12 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 小程序数据处理方法、装置、设备及存储介质 |
CN112882945B (zh) * | 2021-03-12 | 2024-06-04 | 百度在线网络技术(北京)有限公司 | 小程序数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858302B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7209034B2 (ja) | エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体 | |
CN109302522B (zh) | 测试方法、装置以及计算机***和介质 | |
US9898396B2 (en) | Automated software testing and validation via graphical user interface | |
US10248541B2 (en) | Extraction of problem diagnostic knowledge from test cases | |
US20160283353A1 (en) | Automated software testing | |
CN108804302B (zh) | 一种远程测试方法、***及相关设备 | |
US20130263090A1 (en) | System and method for automated testing | |
US20210405111A1 (en) | Test method and electronic device | |
US20180260201A1 (en) | Intelligent software deployment on an iaas platform | |
CN103365770A (zh) | 移动终端软件测试***及软件测试方法 | |
US11994972B2 (en) | System and method for testing applications | |
CN110727575B (zh) | 一种信息处理方法、***、装置、以及存储介质 | |
CN110531962A (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN110781085A (zh) | 一种游戏自动化测试方法、装置、终端和计算机存储介质 | |
CN112527252A (zh) | 小程序管理方法及装置、小程序平台、电子设备、介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN111611168A (zh) | 联调测试方法、装置及*** | |
CN111666217A (zh) | 用于测试代码的方法和装置 | |
You et al. | A comparative study of cross-platform mobile application development | |
CN111858302B (zh) | 小程序的测试方法、装置、电子设备及存储介质 | |
CN116244186A (zh) | 一种操作***测试管理方法、装置与计算设备 | |
CN112199270B (zh) | 一种程序测试方法、装置、设备及介质 | |
CN113641575A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN112433938A (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 |