CN112948247A - 应用程序的操作回放的处理方法、系统、设备和介质 - Google Patents
应用程序的操作回放的处理方法、系统、设备和介质 Download PDFInfo
- Publication number
- CN112948247A CN112948247A CN202110223600.4A CN202110223600A CN112948247A CN 112948247 A CN112948247 A CN 112948247A CN 202110223600 A CN202110223600 A CN 202110223600A CN 112948247 A CN112948247 A CN 112948247A
- Authority
- CN
- China
- Prior art keywords
- application program
- playback
- script
- module
- code
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 35
- 238000013515 script Methods 0.000 claims abstract description 115
- 238000012360 testing method Methods 0.000 claims abstract description 47
- 230000003068 static effect Effects 0.000 claims abstract description 9
- 238000004806 packaging method and process Methods 0.000 claims abstract description 3
- 238000012545 processing Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012856 packing Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000002347 injection Methods 0.000 claims description 4
- 239000007924 injection Substances 0.000 claims description 4
- 238000000034 method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception 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
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)
Abstract
本发明公开了一种应用程序的操作回放的处理方法、系统、设备和介质,应用程序的操作回放的处理方法通过将应用程序的源代码转换为AST格式的代码;对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;将注入运行脚本后的AST格式的代码进行打包。本发明使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,进而实现了对应用程序的操作回放。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种应用程序的操作回放的处理方法、系统、设备和介质。
背景技术
随着智能手机的普及,人们在沟通、社交、娱乐等活动中越来越依赖于手机应用程序。手机软件是通过分析,设计,编码,生成软件,而手机软件是一种特殊的软件。在人们日常使用手机手机应用程序时,经常会遇到需要记录业务操作过程的情形。
目前,对界面的操作回放,一般使用工具rrweb(一种回放工具)。rrweb能将用户在Web(World Wide Web,全球广域网)页面上的操作过程记录下来,并转成可序列化的日志数据,也可进行回放。rrweb的运作场景需要依赖大流量带宽,如需要PC(Personal Computer,个人计算机)网站或Wifi(WIreless FIdelity,无线保真)环境下的手机H5(第5个版本的描述网页的标准语言)站点。另外,rrweb回放功能仅能在PC上完成,且较为耦合,不支持其他开源工具的类回放功能。所以,目前无法对手机应用程序实现类似Web的界面的操作回放。另像rrweb类的工具通常对源代码具有或多或少的侵入性,使正常的业务代码中存在较多非业务相关的代码,既影响代码性能,也使得编码工作复杂化。
发明内容
本发明要解决的技术问题是为了克服现有技术中无法对手机应用程序界面的操作回放的缺陷,提供一种应用程序的操作回放的处理方法、系统、设备和介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种应用程序的操作回放的处理方法,所述处理方法包括:
将应用程序的源代码转换为AST(Abstract Syntax Tree,抽象语法树)格式的代码;
对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI(设计界面)测试工具相适配;
将注入运行脚本后的AST格式的代码进行打包。
较佳地,所述处理方法还包括:
在应用程序接收到操作指令后,对应生成会话ID(Identity document,身份标识号)、服务端日志内容、操作记录脚本以及操作时间;
在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。
较佳地,在将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端的步骤之后,所述处理方法还包括:
采用所述应用程序的UI测试工具启动应用程序;
接收用户输入的用户ID及操作时间,所述应用程序的UI测试工具从服务端获取对应的会话ID;
根据所述会话ID获取对应的操作记录脚本及服务端日志内容;
根据所述应用程序的操作界面的Schema(数据库对象的集合)地址进入所述应用程序的操作界面,并运行所述操作记录脚本进行操作回放;
或,所述处理方法还包括:
对所述操作记录脚本按照操作时间的先后进行排序;
将排序后的所述操作记录脚本依次输入至所述UI测试工具中;
根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并依次运行所述操作记录脚本进行操作回放。
较佳地,所述处理方法还包括:
在运行所述操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。
本发明还提供一种应用程序的操作回放的处理系统,所述处理系统包括:
转换模块,用于将应用程序的源代码转换为AST格式的代码;
扫描模块,用于对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
注入模块,用于将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;
打包模块,用于将注入运行脚本后的AST格式的代码进行打包。
较佳地,所述处理系统还包括:
生成模块,用于在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;
传输模块,用于在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。
较佳地,所述处理系统还包括:
启动模块,用于采用所述应用程序的UI测试工具启动应用程序;
第一获取模块,用于接收用户输入的用户ID及操作时间,所述应用程序的UI测试工具从服务端获取对应的会话ID;
第二获取模块,根据所述会话ID获取对应的操作记录脚本及服务端日志内容;
第一回放模块,用于根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并运行所述操作记录脚本进行操作回放;
或,所述处理系统还包括:
排序模块,用于对所述操作记录脚本按照操作时间的先后进行排序;
输入模块,用于将排序后的所述操作记录脚本依次输入至所述UI测试工具中;
第二回放模块,用于根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并依次运行所述操作记录脚本进行操作回放。
较佳地,所述处理系统还包括:
录屏模块,用于在运行所述操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的应用程序的操作回放的处理方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的应用程序的操作回放的处理方法的步骤。
本发明的积极进步效果在于:
本发明提供了一种应用程序的操作回放的处理方法、系统、设备和介质,应用程序的操作回放的处理方法通过对应用程序进行处理,使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,从而在不影响原有应用程序代码结构和性能下,无需额外搭建回放功能就能实现对应用程序的操作回放,且回放视频兼容性较高,采集上传所用到的用户流量极少,用户对其无感知,另当存在自动化UI测试脚本的情况下,编写的脚本可支持完全复用。进一步,因实现了对应用程序的操作回放,使得排查关于应用程序的问题流程和时间大幅缩短,节省人力开销。
附图说明
图1为本发明实施例1的应用程序的操作回放的处理方法的流程图;
图2为本发明实施例2的应用程序的操作回放的处理方法的流程图;
图3为本发明实施例3的操作回放的处理系统的模块示意图;
图4为本发明实施例4的操作回放的处理系统的模块示意图;
图5为本发明实施例5的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例公开了应用程序的操作回放的处理方法,包括以下步骤:
步骤S101、将应用程序的源代码转换为AST格式的代码;具体地,在应用程序的源代码编译的过程中,可以通过Babel(一种开源工具)开源工具将应用程序的源代码处理为AST格式。
步骤S102、对AST格式的代码进行静态代码扫描以获得应用程序中的操作组件。
步骤S103、将与操作组件对应的运行脚本注入至AST格式的代码;运行脚本与应用程序的UI测试工具相适配。
步骤S104、将注入运行脚本后的AST格式的代码进行打包。
步骤S105、在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;具体地,应用程序接收到操作指令是指对应用程序操作组件进行操作的指令。
步骤S106、在结束对应用程序的操作后,将会话ID、操作记录脚本及操作时间传输至服务端;具体地,通过上报埋点的方式将会话ID、操作记录脚本及操作时间上传至服务端。在本实施例中,在结束对应用程序的操作后即当用户离开应用程序操作界面时。
步骤S107、采用应用程序的UI测试工具启动应用程序。具体地,不同的应用程序采用的UI测试工具也可能不同,视具体情况而定。
步骤S108、接收用户输入的用户ID及操作时间,应用程序的UI测试工具从服务端获取对应的会话ID;具体地,操作时间可以是一段时间,也可以是时间点对应关系。本实施例中,用户ID和上述的生成会话ID、服务端日志内容、操作记录脚本以及操作时间有对应关系。
步骤S109、根据会话ID获取对应的操作记录脚本及服务端日志内容;具体地,根据会话ID,所述应用程序的UI测试工具获取对应用程序的操作组件进行操作的过程生成的操作记录脚本及服务端日志内容。
步骤S110、根据应用程序的操作界面的Schema地址进入应用程序的操作界面,并运行操作记录脚本进行操作回放。
步骤S111、在运行操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复用户当时操作应用程序组件时,应用程序的界面场景。
本实施例公开了应用程序的操作回放的处理方法,该处理方法通过将应用程序的源代码转换为AST格式的代码并对对应用程序进行处理,使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,从而在不影响原有应用程序代码结构和性能下,无需额外搭建回放功能就能实现对应用程序的操作回放,同时开启手机录屏功能,以生成对应的操作回放视频,进而实现了对应用程序的操作回放。
实施例2
如图2所示,本实施例是当存在多个操作记录脚本时,应用程序的操作回放的处理方法,包括以下步骤:
步骤S201、将应用程序的源代码转换为AST格式的代码;具体地,在应用程序的源代码编译的过程中,可以通过Babel开源工具将应用程序的源代码处理为AST格式。
步骤S202、对AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
步骤S203、将与操作组件对应的运行脚本注入至AST格式的代码;运行脚本与应用程序的UI测试工具相适配;
步骤S204、将注入运行脚本后的AST格式的代码进行打包;
步骤S205、在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;具体地,应用程序接收到操作指令是指对应用程序操作组件进行操作的指令。
步骤S206、在结束对应用程序的操作后,将会话ID、操作记录脚本及操作时间传输至服务端;具体地,通过上报埋点的方式将会话ID、操作记录脚本及操作时间上传至服务端。在本实施例中,在结束对应用程序的操作后即当用户离开应用程序操作界面时。
步骤S207、采用应用程序的UI测试工具启动应用程序。具体地,不同的应用程序采用的UI测试工具也可能不同,视具体情况而定。
步骤S208、对操作记录脚本按照操作时间的先后进行排序;
步骤S209、将排序后的操作记录脚本依次输入至UI测试工具中;
步骤S210、根据应用程序的操作界面的Schema地址进入应用程序的操作界面,并依次运行操作记录脚本进行操作回放;具体地,当进入应用程序的操作界面时,应用程序运行的是用户端当时操作应用程序组件时执行的同一套源代码,并且通过Mock(一种测试工具)工具将当时操作应用程序组件时所请求服务端返回的数据传入。本实施例中,将所有操作记录脚本按照操作时间的先后进行排序,将该排序脚本的集合输入自动化UI测试工具,由UI测试工具按照脚本逐条执行。
步骤S211、在运行操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复当时用户当时操作应用程序组件时,应用程序的界面场景。
本实施例公开了应用程序的操作回放的处理方法,该处理方法通过该处理方法通过将应用程序的源代码转换为AST格式的代码并对对应用程序进行处理,使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,从而在不影响原有应用程序代码结构和性能下,无需额外搭建回放功能就能实现对应用程序的操作回放,在操作回放时对操作记录脚本按照操作时间的先后进行排序,并依次运行操作记录脚本进行操作回放,在运行操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复当时用户当时操作应用程序组件时,应用程序的界面场景,进而实现了对应用程序的操作回放。
实施例3
如图3所示,本实施例公开了一种应用程序的操作回放的处理系统,所述处理系统包括:
转换模块1,用于将应用程序的源代码转换为AST格式的代码;具体地,在应用程序的源代码编译的过程中,可以通过Babel(一种开源工具)开源工具将应用程序的源代码处理为AST格式。
扫描模块2,用于对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
注入模块3,用于将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;
打包模块4,用于将注入运行脚本后的AST格式的代码进行打包。
生成模块5,用于在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;具体地,应用程序接收到操作指令是指对应用程序操作组件进行操作的指令。
传输模块6,用于在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。具体地,通过上报埋点的方式将会话ID、操作记录脚本及操作时间上传至服务端。在本实施例中,在结束对应用程序的操作后即当用户离开应用程序操作界面时。
启动模块7,用于采用所述应用程序的UI测试工具启动应用程序;在执行完传输模块6之后调用该启动模块7。具体地,不同的应用程序采用的UI测试工具也可能不同,视具体情况而定。
第一获取模块8,用于接收用户输入的用户ID及操作时间,所述应用程序的UI测试工具从服务端获取对应的会话ID;具体地,操作时间可以是一段时间,也可以是时间点对应关系。本实施例中,用户ID和上述的生成会话ID、服务端日志内容、操作记录脚本以及操作时间有对应关系。
第二获取模块9,根据所述会话ID获取对应的操作记录脚本及服务端日志内容;具体地,根据会话ID,所述应用程序的UI测试工具获取对应用程序的操作组件进行操作的过程生成的操作记录脚本及服务端日志内容。
第一回放模块10,用于根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并运行所述操作记录脚本进行操作回放。
录屏模块11,用于在运行所述操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复当时用户当时操作应用程序组件时,应用程序的界面场景。
本实施例公开了应用程序的操作回放的处理系统,该处理系统通过将应用程序的源代码转换为AST格式的代码并对对应用程序进行处理,使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,从而在不影响原有应用程序代码结构和性能下,无需额外搭建回放功能就能实现对应用程序的操作回放,同时开启手机录屏功能,以生成对应的操作回放视频,进而实现了对应用程序的操作回放。
实施例4
如图4所示,本实施例是当存在多个操作记录脚本时,应用程序的操作回放的处理系统,包括:
转换模块1,用于将应用程序的源代码转换为AST格式的代码;具体地,在应用程序的源代码编译的过程中,可以通过Babel(一种开源工具)开源工具将应用程序的源代码处理为AST格式。
扫描模块2,用于对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
注入模块3,用于将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;
打包模块4,用于将注入运行脚本后的AST格式的代码进行打包。
生成模块5,用于在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;具体地,应用程序接收到操作指令是指对应用程序操作组件进行操作的指令。
传输模块6,用于在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。具体地,通过上报埋点的方式将会话ID、操作记录脚本及操作时间上传至服务端。在本实施例中,在结束对应用程序的操作后即当用户离开应用程序操作界面时。
启动模块7,用于采用所述应用程序的UI测试工具启动应用程序;在执行完传输模块6之后调用该启动模块7。具体地,不同的应用程序采用的UI测试工具也可能不同,视具体情况而定。排序模块12、用于对操作记录脚本按照操作时间的先后进行排序;
输入模块13、用于将排序后的操作记录脚本依次输入至UI测试工具中;
第二回放模块14、用于根据应用程序的操作界面的Schema地址进入应用程序的操作界面,并依次运行操作记录脚本进行操作回放;具体地,当进入应用程序的操作界面时,应用程序运行的是用户端当时操作应用程序组件时执行的同一套源代码,并且通过Mock工具将当时操作应用程序组件时所请求服务端返回的数据传入。本实施例中,将所有操作记录脚本按照操作时间的先后进行排序,将该排序脚本的集合输入自动化UI测试工具,由UI测试工具按照脚本逐条执行。
录屏模块11、在运行操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复当时用户当时操作应用程序组件时,应用程序的界面场景。
本实施例公开了应用程序的操作回放的处理系统,该处理方法通过该处理系统通过将应用程序的源代码转换为AST格式的代码并对对应用程序进行处理,使得处理后的应用程序可以在执行操作时生成对应的操作记录脚本,满足了采用应用程序的UI测试工具进行操作回放的条件,从而在不影响原有应用程序代码结构和性能下,无需额外搭建回放功能就能实现对应用程序的操作回放,在操作回放时对操作记录脚本按照操作时间的先后进行排序,并依次运行操作记录脚本进行操作回放,在运行操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。通过该操作回放视频就能恢复当时用户当时操作应用程序组件时,应用程序的界面场景,进而实现了对应用程序的操作回放。
实施例5
图5为本发明实施例5提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1或2所提供的应用程序的操作回放的处理方法。图5显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或2所提供的应用程序的操作回放的处理方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1或2所提供的应用程序的操作回放的处理方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或2所提供的应用程序的操作回放的处理方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种应用程序的操作回放的处理方法,其特征在于,所述处理方法包括:
将应用程序的源代码转换为AST格式的代码;
对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;
将注入运行脚本后的AST格式的代码进行打包。
2.如权利要求1所述的应用程序的操作回放的处理方法,其特征在于,所述处理方法还包括:
在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;
在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。
3.如权利要求2所述的应用程序的操作回放的处理方法,其特征在于,在将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端的步骤之后,所述处理方法还包括:
采用所述应用程序的UI测试工具启动应用程序;
接收用户输入的用户ID及操作时间,所述应用程序的UI测试工具从服务端获取对应的会话ID;
根据所述会话ID获取对应的操作记录脚本及服务端日志内容;
根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并运行所述操作记录脚本进行操作回放;
或,所述处理方法还包括:
对所述操作记录脚本按照操作时间的先后进行排序;
将排序后的所述操作记录脚本依次输入至所述UI测试工具中;
根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并依次运行所述操作记录脚本进行操作回放。
4.如权利要求3所述的应用程序的操作回放的处理方法,其特征在于,所述处理方法还包括:
在运行所述操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。
5.一种应用程序的操作回放的处理系统,其特征在于,所述处理系统包括:
转换模块,用于将应用程序的源代码转换为AST格式的代码;
扫描模块,用于对所述AST格式的代码进行静态代码扫描以获得应用程序中的操作组件;
注入模块,用于将与所述操作组件对应的运行脚本注入至所述AST格式的代码;所述运行脚本与所述应用程序的UI测试工具相适配;
打包模块,用于将注入运行脚本后的AST格式的代码进行打包。
6.如权利要求5所述的应用程序的操作回放的处理系统,其特征在于,所述处理系统还包括:
生成模块,用于在应用程序接收到操作指令后,对应生成会话ID、服务端日志内容、操作记录脚本以及操作时间;
传输模块,用于在结束对所述应用程序的操作后,将所述会话ID、所述操作记录脚本及所述操作时间传输至服务端。
7.如权利要求6所述的应用程序的操作回放的处理系统,其特征在于,所述处理系统还包括:
启动模块,用于采用所述应用程序的UI测试工具启动应用程序;
第一获取模块,用于接收用户输入的用户ID及操作时间,所述应用程序的UI测试工具从服务端获取对应的会话ID;
第二获取模块,根据所述会话ID获取对应的操作记录脚本及服务端日志内容;
第一回放模块,用于根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并运行所述操作记录脚本进行操作回放;
或,所述处理系统还包括:
排序模块,用于对所述操作记录脚本按照操作时间的先后进行排序;
输入模块,用于将排序后的所述操作记录脚本依次输入至所述UI测试工具中;
第二回放模块,用于根据所述应用程序的操作界面的Schema地址进入所述应用程序的操作界面,并依次运行所述操作记录脚本进行操作回放。
8.如权利要求7所述的应用程序的操作回放的处理系统,其特征在于,所述处理系统还包括:
录屏模块,用于在运行所述操作记录脚本进行操作回放时,开启手机录屏功能,以生成对应的操作回放视频。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的应用程序的操作回放的处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的应用程序的操作回放的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110223600.4A CN112948247A (zh) | 2021-02-24 | 2021-02-24 | 应用程序的操作回放的处理方法、系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110223600.4A CN112948247A (zh) | 2021-02-24 | 2021-02-24 | 应用程序的操作回放的处理方法、系统、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112948247A true CN112948247A (zh) | 2021-06-11 |
Family
ID=76246800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110223600.4A Pending CN112948247A (zh) | 2021-02-24 | 2021-02-24 | 应用程序的操作回放的处理方法、系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948247A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238742A (zh) * | 2021-06-17 | 2021-08-10 | 南方电网科学研究院有限责任公司 | 一种直流控保页面程序修改回放方法、装置、终端及介质 |
CN113961534A (zh) * | 2021-12-21 | 2022-01-21 | 荣耀终端有限公司 | 生成日志文件的方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150278073A1 (en) * | 2014-03-28 | 2015-10-01 | International Business Machines Corporation | Logging code generation and distribution |
CN105988923A (zh) * | 2015-02-09 | 2016-10-05 | 株式会社理光 | 一种录制被测Android程序的用户操作的方法及系统 |
CN110716853A (zh) * | 2018-07-13 | 2020-01-21 | 中移信息技术有限公司 | 一种测试脚本录制方法、应用程序测试方法和相关装置 |
CN111158667A (zh) * | 2020-01-02 | 2020-05-15 | 广州虎牙科技有限公司 | 代码注入方法和装置、电子设备及存储介质 |
-
2021
- 2021-02-24 CN CN202110223600.4A patent/CN112948247A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150278073A1 (en) * | 2014-03-28 | 2015-10-01 | International Business Machines Corporation | Logging code generation and distribution |
CN105988923A (zh) * | 2015-02-09 | 2016-10-05 | 株式会社理光 | 一种录制被测Android程序的用户操作的方法及系统 |
CN110716853A (zh) * | 2018-07-13 | 2020-01-21 | 中移信息技术有限公司 | 一种测试脚本录制方法、应用程序测试方法和相关装置 |
CN111158667A (zh) * | 2020-01-02 | 2020-05-15 | 广州虎牙科技有限公司 | 代码注入方法和装置、电子设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238742A (zh) * | 2021-06-17 | 2021-08-10 | 南方电网科学研究院有限责任公司 | 一种直流控保页面程序修改回放方法、装置、终端及介质 |
CN113238742B (zh) * | 2021-06-17 | 2024-04-12 | 南方电网科学研究院有限责任公司 | 一种直流控保页面程序修改回放方法、装置、终端及介质 |
CN113961534A (zh) * | 2021-12-21 | 2022-01-21 | 荣耀终端有限公司 | 生成日志文件的方法和电子设备 |
CN113961534B (zh) * | 2021-12-21 | 2022-05-10 | 荣耀终端有限公司 | 生成日志文件的方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN112685029B (zh) | 一种可视化模板的生成方法、装置、设备及存储介质 | |
US8826297B2 (en) | Creating web services from an existing web site | |
CN105786998A (zh) | 数据库中间件系统及利用其处理数据的方法 | |
CN1755645A (zh) | 选择用于复验自动化的测试实例执行行为的系统和方法 | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
CN112948247A (zh) | 应用程序的操作回放的处理方法、系统、设备和介质 | |
CN110399306B (zh) | 软件模块自动化测试方法及装置 | |
CN117033249B (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN113778897B (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN101951529A (zh) | 一种机顶盒功能测试方法及系统 | |
CN101477485B (zh) | 一种基于ASP.net远程备份和还原MySQL数据库方法 | |
CN105701153A (zh) | 一种读取网页资源的方法、装置及电子设备 | |
CN110569230A (zh) | 数据库设计模型与设计文档互相转换方法、系统及设备 | |
CN115113850B (zh) | 一种跨平台应用的构建、运行方法、服务器、终端和系统 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN116382718A (zh) | 代码离线部署方法、装置、计算机设备及存储介质 | |
CN117348848A (zh) | 算子开发、处理方法、装置、电子设备、系统及存储介质 | |
CN111061627B (zh) | 网页埋点方法、装置、电子设备及存储介质 | |
CN113190236A (zh) | Hql脚本校验方法及装置 | |
CN112486460A (zh) | 自动导入接口文档的方法、系统、设备和介质 | |
CN105988917A (zh) | 异常信息获取方法及装置 | |
CN116974653B (zh) | 类加载方法及系统 | |
CN114338240B (zh) | 漏洞扫描方法以及装置 | |
CN114003317B (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 |