CN112241356B - 一种页面测试方法、装置、设备及存储介质 - Google Patents
一种页面测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112241356B CN112241356B CN201910644574.5A CN201910644574A CN112241356B CN 112241356 B CN112241356 B CN 112241356B CN 201910644574 A CN201910644574 A CN 201910644574A CN 112241356 B CN112241356 B CN 112241356B
- Authority
- CN
- China
- Prior art keywords
- test
- page
- task executor
- server
- module
- 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
Links
- 238000001545 Page's trend test Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012360 testing method Methods 0.000 claims abstract description 430
- 238000004891 communication Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 230000006399 behavior Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000002513 implantation Methods 0.000 claims 4
- 238000010998 test method Methods 0.000 claims 2
- 241000282693 Cercopithecidae Species 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013112 stability test Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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)
Abstract
本发明公开了一种页面测试方法、装置、设备及存储介质,所述方法执行钩子函数钩取进程,自动打开测试开关,通过网络端口协议,建立测试任务执行器和测试服务器之间的测试通道。测试任务执行器中插桩了重编译的开发者工具代码,根据所述重编译的代码和远程调用协议,使得测试任务执行器和测试服务器之间能够进行通信,测试任务执行器接收测试服务器发送的伪随机的测试事件流,进行页面测试。所述页面为超文本语言描述的页面。本发明解决了测试任务执行器和测试服务器跨进程通信的问题,使得测试任务执行器能够直接对测试对象执行页面测试,测试服务器也能够直接获取测试数据并进行分析处理。
Description
技术领域
本发明涉及页面测试领域,尤其涉及一种页面测试方法、装置、设备及存储介质。
背景技术
页面稳定性测试是安卓平台自动化测试的一种手段,通过预设的程序模拟用户触发屏幕、滑动、按键等操作来对设备上的程序进行压力测试,检测程序多久时间会发生异常。
超文本语言描述的页面所述使用的超文本语言是构建网络内容的一种语言描述方式,被认为是互联网的核心技术职业。用户使用任何手段进行网页浏览时看到的内容原本都是超文本语言格式的,在浏览器中通过一些技术处理将其转换成为了可识别的信息。
在对超文本语言描述的页面进行稳定性测试时,由于测试软件不支持测试对象某些业务的原因,可能会存在跨进程通信的问题,此外,远程进行页面测试的成本较高,测试端与被测试端的连接不稳定,使得在进行测试时存在断线,测试端与被测试端无法连接等问题,影响测试的效率。
发明内容
为了解决测试软件执行的方法在对测试对象进行测试时会发生跨进程通信的问题,得到测试软件能够与测试对象实时通讯的技术效果,本发明提供了一种页面测试方法、装置、设备及存储介质。
一方面,本发明提供了一种页面测试方法,所述方法包括:
基于测试服务器中的页面加载结束信息,打开页面测试开关;
通过网络端口协议,测试任务执行器发送连接请求信息,以建立所述测试任务执行器与所述测试服务器之间的测试通道;
所述测试任务执行器启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
所述测试任务执行器基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,所述测试任务执行器接收所述测试服务器发送的伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;所述测试任务执行器执行所述伪随机的测试事件流,以获取页面测试数据;
所述测试任务执行器基于远程调用协议,发送所述页面测试数据到测试服务器;
所述测试服务器对所述页面测试数据进行分析。
另一方面提供了一种测试服务器侧的页面测试方法,所述方法包括:
加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
根据网络端口协议,接收连接请求信息,以与测试任务执行器建立通讯连接;
启动待检测页面,所述待测试页面为使用超文本语言描述的页面;
生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
基于远程调用协议,接收所述页面测试数据;
对所述页面测试数据进行分析。
另一方面提供了一种页面测试装置,所述装置包括:测试任务执行器和测试服务器;
所述测试服务器包括测试开关开启模块、请求信息接收模块、测试事件生成模块和测试数据处理模块;
所述测试开关开启模块用于基于测试服务器的页面加载结束信息,打开页面测试开关;
所述请求信息接收模块用于通过网络端口协议,接收连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件生成模块用于生成伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;
所述测试数据处理模块用于接收测试任务执行器发送的页面测试数据;对所述页面测试数据进行分析;
所述测试任务执行器包括请求信息发送模块、测试事件接收模块、测试事件执行模块和测试数据发送模块;
所述请求信息发送模块用于通过网络端口协议,发送连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件接收模块用于启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
所述测试事件执行模块用于基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,接收所述测试服务器发送的伪随机的测试事件流;执行所述伪随机的测试事件流,以获取页面测试数据;
所述测试数据发送模块用于基于远程调用协议,发送所述页面测试数据到测试服务器。
另一方面提供了一种基于测试服务器侧的页面测试装置,所述装置包括:
页面加载模块、请求信息接收模块、页面测试模块、测试数据接收模块和测试数据分析模块;
所述页面加载模块用于加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
所述请求信息接收模块用于根据网络端口协议,获取连接请求信息,以与测试任务执行器建立测试通道;
所述页面测试模块用于生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
所述测试数据接收模块用于基于远程调用协议,接收所述页面测试数据;
所述测试数据分析模块用于对所述页面测试数据进行分析。
另一方面提供了一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的一种页面测试方法。
另一方面提供了一种终端设备,所述终端设备用于存储程序,所述程序被执行时实现所述的一种页面测试方法。
本发明提供的一种页面测试方法、装置、设备及存储介质,所述方法通过钩子函数直接钩取执行代码,通过网络端口协议建立测试通道。并根据预选插桩在测试任务执行器中的重编译代码和远程调用协议保持测试任务执行器和测试服务器之间的通信。本方法能够保持测试服务器和测试任务执行器之间的通信稳定,且本方法解决了测试服务器和测试任务执行器之间的跨进程通信的问题,使得测试任务执行器能够直接对测试对象进行页面测试,测试服务器能够直接获取页面测试中的错误数据,便于测试人员发现更多的错误代码,可以在后续步骤中更好地进行软件优化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种页面测试方法的应用场景示意图;
图2为本发明实施例提供的一种页面测试方法的流程图;
图3为本发明实施例提供的一种页面测试方法中打开页面测试开关的方法的流程图;
图4为本发明实施例提供的一种页面测试方法中生成重编译代码的方法的流程图;
图5为本发明实施例提供的一种测试服务器和测试任务执行器之间的通信连接示意图;
图6为本发明实施例提供的一种页面测试方法中执行测试的方法的流程图;
图7为本发明实施例提供的一种页面测试方法中处理错误数据的流程图;
图8为本发明实施例提供的一种页面测试方法服务器所执行的方法的流程图;
图9为本发明实施例提供的一种页面测试装置的测试服务器的结构示意图;
图10为本发明实施例提供的一种页面测试装置中测试任务执行器的结构示意图;
图11为本发明实施例提供的一种页面测试装置中用于实现测试服务器执行的方法的结构示意图;
图12为本发明实施例提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
请参见图1,其显示了本发明实施例提供的一种页面测试方法的应用场景示意图,所述应用场景包括测试任务执行器110和测试服务器120,所述测试任务执行器通过钩子函数钩取测试代码的方式,自动打开对测试服务器上的待检测页面进行测试的测试开关,并通过网络端口协议建立测试通道。测试任务执行器通过预先插桩的重编译代码和远程调试协议,与测试服务器保持通信,进行页面测试,所述页面为使用超文本语言描述的页面,测试结束后,测试服务器接收页面测试数据并进行分析,若存在页面测试错误数据,测试服务器可以直接获取页面测试错误数据并进行处理。
请参见图2,其显示了一种页面测试方法,所述方法包括:
S210.基于测试服务器中的页面加载结束信息,打开页面测试开关;
进一步地,请参见图3,所述基于测试服务器中的页面加载结束信息,打开页面测试开关包括:
S310.执行测试服务器中页面加载事件,以监听页面加载结束信息;
S320.根据所述页面加载结束信息,执行钩子函数修改测试服务器中的函数地址为测试任务执行器中的函数地址,以钩取测试服务器发送的加载结束回调信息;
S330.根据所述加载结束回调信息,执行打开页面测试开关的命令。
具体地,进行测试时,执行测试的测试软件与待检测的应用软件存在跨进程通信,通过钩子函数(hook),将测试软件中具体进行测试的代码直接钩取到待检测的应用软件中,使得测试软件和待测应用软件之间不存在跨进程,此后再通过网络端口协议,测试任务执行器发送连接请求信息,与测试服务器之间建立测试通道。
在一个具体的实施例中,测试软件为随身版monkey测试工具,所述monkey测试工具指的是安卓软件开发工具包(Software Development Kit,SDK)提供的一个命令行工具,可以简单,方便地运行在任何版本的安卓模拟器和实体设备上。monkey测试工具会发送伪随机的用户事件流,适合对应用软件做压力测试。
在进行monkey测试时,随身版的monkey软件不能够直接和待检测的应用软件之间进行通信,因此,测试服务器执行页面加载事件,在监听到页面加载事件结束时,测试服务器会向显示界面抛出页面结束信息(on Page Finish),所述on Page Finish为加载结束回调信息。执行钩子函数,修改动态库引用的外部函数地址为自定义的函数地址,以钩取所述加载结束回调信息。通过加载结束回调信息,能够得知此时on Page Finish方法结束,需要执行打开页面测试开关的代码,以打开页面测试开关。
通过钩子函数解决了测试服务器和测试任务执行器跨进程通信的问题,使得测试软件和待测应用软件之间能够进行通信,保证了测试时通信连接的稳定。
S220.通过网络端口协议,测试任务执行器发送连接请求信息,以建立所述测试任务执行器与所述测试服务器之间的测试通道;
具体地,所述网络端口协议(websocket)为在单个传输控制协议(TransmissionControl Protocol,TCP)链接上进行全双工的通讯协议,使得测试任务执行器和测试服务器能够实时通信。其中,websocket协议是一个持久的协议,用于获取网络端口调试网址(WebSocket Debug Url),通过websocket测试任务执行器与服务器端建立测试通道。根据websocket协议,在进行测试任务执行器和测试服务器的第一次连接后,测试服务器可以向测试任务执行器持续推送信息。因此所述网络端口协议能够在解决跨进程的问题后,建立起测试任务执行器与测试服务器之间的测试通道。
通过网络端口协议建立测试通道,能够提高测试服务器和测试任务执行器之间进行通信的效率。
S230.所述测试任务执行器启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
S240.所述测试任务执行器基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,所述测试任务执行器接收所述测试服务器发送的伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;所述测试任务执行器执行所述伪随机的测试事件流,以获取页面测试数据;
进一步地,请参见图4,预先插桩的重编译代码的生成方法包括:
S410.重编译开发者工具的代码;
S420.将所述重编译后的开发者工具的代码通过插桩的方式植入所述测试任务执行器,以使得所述测试服务器能够获取测试任务执行器产生的测试数据。
具体地,请参见图5,通过java语言重写开发者工具的代码,所述开发者工具可以为谷歌内核的开发者工具(chrome dev tools),将所述代码通过插桩的方式加入到指定的进程,即测试任务执行器中的待测应用软件,使得测试任务执行器和测试服务器能够建立通信连接。然后再通过远程调试协议(Inspector)进行信息的调用,使得测试任务执行器能够接受页面测试的指令,测试服务器能够获得页面测试数据。
进一步地,请参见图6,页面测试的执行方法包括:
S610.获取页面测试的启动命令;
S620.根据预设的控制模拟操作行为的算法,生成伪随机的测试事件流,以进行页面测试,所述伪随机的测试事件流为模拟的用户操作序列;
S630.根据页面测试的测试结果,输出页面测试数据。
具体地,在进行页面测试时,可以采用monkey测试。在原本的monkey测试工具的基础上增加控制点击行为的算法,而已获得智能版的monkey测试工具,能够更加智能地进行点击。通过智能monkey测试工具发送的伪随机的测试事件流,驱动点击以发现待测页面的错误数据,或者获取待测页面的测试数据,所述待测页面为使用超文本语言(Hyper TextMarkup Language,HTML)描述的页面,所述HTML页面可以为HTML5页面。
S250.所述测试任务执行器基于远程调用协议,发送所述页面测试数据到测试服务器;
S260.所述测试服务器对所述页面测试数据进行分析。
进一步地,请参见图7,所述获取页面测试数据之后,还包括:
S710.所述测试任务执行器基于远程调用协议,发送所述页面测试错误数据到测试服务器;
S720.所述测试服务器对所述页面测试错误数据进行处理。
在一个具体的实施例中,进行页面测试之前,需要建立测试服务器与测试任务执行器之间的通信连接。测试服务器加载待检测页面,通过钩子函数将页面的加载结束回调信息钩取到测试任务执行器中,执行打开测试开关的代码。并通过网络端口协议,使得测试服务器和测试任务执行器之间进行握手,建立测试通道。在测试时,测试任务执行器中事先插桩了重编译的开发者工具代码,再通过远程调用协议,使得测试任务执行器与测试服务器之间能够建立通信连接。
建立通信连接后,可以使用monkey测试工具之间对HTML5的页面进行测试,monkey测试工具会生成伪随机的测试事件流,所述测试事件流为模拟的用户点击行为,通过monkey测试工具生成的测试事件,驱动点击页面,以得到页面测试的数据,或者得到页面测试的错误数据,帮助测试人员在测试阶段发现更多的页面错误代码。
请参见图8,其显示了一种页面测试方法,本方法以测试服务器为执行主体,所述方法包括:
S810.加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
S820.根据网络端口协议,接收连接请求信息,以与测试任务执行器建立通讯连接;
S830.启动待检测页面,所述待测试页面为使用超文本语言描述的页面;
S840.生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
S850.基于远程调用协议,接收所述页面测试数据;
S860.对所述页面测试数据进行分析。
具体地,所述测试服务器和测试任务执行器建立通信连接,能够直接获得页面测试数据或者页面测试错误数据,所述测试服务器端分析所述页面测试数据,并处理所述页面测试错误数据。
所述测试服务器和测试任务执行器建立通信连接时,测试任务执行器通过钩子函数,在测试服务器中的页面加载结束的时候,钩取测试服务器中的加载结束回调信息。执行钩子函数修改外部函数地址为自定义的函数地址的方法,避免了测试任务执行器和测试服务器之间的跨进程通信。再通过网络端口协议,接收测试任务执行器发送的连接请求信息,建立与测试任务执行器之间的测试通道。
所述测试服务器启动待检测页面,可以对HTML5页面进行monkey测试。进行测试时,测试服务器生成伪随机的测试事件流,所述测试事件流为模拟的用户点击序列。
所述测试服务器获取页面测试数据或者页面测试错误数据,所述页面测试数据或者页面测试错误数据都能够直接获取。所述测试服务器分析所述页面测试数据,并处理页面测试错误数据。
本实施例提出了一种页面测试的方法,所述方法通过钩子函数解决了测试服务器和测试任务执行器之间的跨进程通信的问题,通过网络端口协议建立测试通道,并根据预选插桩的重编译代码和远程调用协议保持测试任务执行器和测试服务器之间的通信。进一步地,本方法具有如下有益效果:
(1).保持测试服务器和测试任务执行器之间的通信稳定;
(2).解决了测试服务器和测试任务执行器之间的跨进程通信的问题,使得测试任务执行器能够直接对测试对象进行页面测试;
(3).测试服务器能够直接获取页面测试中的错误数据,便于测试人员发现更多的错误代码,可以在后续步骤中更好地进行软件优化。
本发明实施例还提供了一种页面测试装置,所述装置包括测试任务执行器和测试服务器;
请参见图9,所述测试服务器包括测试开关开启模块910、请求信息接收模块920、测试事件生成模块930和测试数据处理模块940;
所述测试开关开启模块910用于基于测试服务器的页面加载结束信息,打开页面测试开关;
所述请求信息接收模块920用于通过网络端口协议,接收连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件生成模块930用于生成伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;
所述测试数据处理模块940用于接收测试任务执行器发送的页面测试数据;对所述页面测试数据进行分析;
请参见图10,所述测试任务执行器包括请求信息发送模块1010、测试事件接收模块1020、测试事件执行模块1030和测试数据发送模块1040;
所述请求信息发送模块1010用于通过网络端口协议,发送连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件接收模块1020用于启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
所述测试事件执行模块1030用于基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,接收所述测试服务器发送的伪随机的测试事件流;执行所述伪随机的测试事件流,以获取页面测试数据;
所述测试数据发送模块1040用于基于远程调用协议,发送所述页面测试数据到测试服务器。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的一种页面测试方法。
上述实施例中提供的装置与本发明实施例提供的一种页面测试方法基于相同的发明构思。
本发明实施例还提供了一种页面测试装置,所述页面测试装置应用于测试服务器侧,请参见图11,所述装置包括:页面加载模块1110、请求信息接收模块1120、页面测试模块1130、测试数据接收模块1140和测试数据分析模块1150;
所述页面加载模块1110用于加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
所述请求信息接收模块1120用于根据网络端口协议,获取连接请求信息,以与测试任务执行器建立测试通道;
所述页面测试模块1130用于生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
所述测试数据接收模块1140用于基于远程调用协议,接收所述页面测试数据;
所述测试数据分析模块1150用于对所述页面测试数据进行分析。
上述实施例中提供的装置与本发明实施例提供的一种页面测试方法基于相同的发明构思。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并执行本实施例上述的一种页面测试方法。所述页面测试方法包括:
S210.基于测试服务器中的页面加载结束信息,打开页面测试开关;
S220.通过网络端口协议,测试任务执行器发送连接请求信息,以建立所述测试任务执行器与所述测试服务器之间的测试通道;
S230.所述测试任务执行器启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
S240.所述测试任务执行器基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,所述测试任务执行器接收所述测试服务器发送的伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;所述测试任务执行器执行所述伪随机的测试事件流,以获取页面测试数据;
S250.所述测试任务执行器基于远程调用协议,发送所述页面测试数据到测试服务器;
S260.所述测试服务器对所述页面测试数据进行分析。
本实施例还提供了一种设备,所述设备包括处理器和存储器,其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行本实施例上述的一种页面测试方法。
所述设备可以为计算机终端、移动终端或测试服务器,所述设备还可以参与构成本发明实施例所提供的装置或系统。如图12所示,计算机终端12(或移动终端12或测试服务器12)可以包括一个或多个(图中采用1202a、1202b,……,1202n来示出)处理器1202(处理器1202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1204、以及用于通信功能的传输装置1206。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端12还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
应当注意到的是上述一个或多个处理器1202和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端12(或移动终端)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1204可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1202通过运行存储在存储器1204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种基于自注意力网络的时序行为捕捉框生成方法。存储器1204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1204可进一步包括相对于处理器1202远程设置的存储器,这些远程存储器可以通过网络连接至移动终端12。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端12的通信供应商提供的无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1206可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端12(或移动终端)的用户界面进行交互。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,测试服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种页面测试方法,其特征在于,所述方法包括:
基于测试服务器中的页面加载结束信息,打开页面测试开关;
通过网络端口协议,测试任务执行器发送连接请求信息,以建立所述测试任务执行器与所述测试服务器之间的测试通道;
所述测试任务执行器启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
所述测试任务执行器基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,所述测试任务执行器接收所述测试服务器发送的伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;所述测试任务执行器执行所述伪随机的测试事件流,以获取页面测试数据;其中,所述测试任务执行器中的重编译代码的生成方法包括:重编译开发者工具的代码,将所述重编译后的开发者工具的代码通过插桩的方式植入所述测试任务执行器;
所述测试任务执行器基于与所述测试服务器之间的通信连接和远程调用协议,发送所述页面测试数据到所述测试服务器;
所述测试服务器对所述页面测试数据进行分析。
2.根据权利要求1所述的一种页面测试方法,其特征在于,所述获取页面测试数据之后,还包括:
所述测试任务执行器基于远程调用协议,发送所述页面测试错误数据到测试服务器;
所述测试服务器对所述页面测试错误数据进行处理。
3.根据权利要求1所述的一种页面测试方法,其特征在于,所述基于测试服务器中的页面加载结束信息,打开页面测试开关包括:
执行测试服务器中页面加载事件,以监听页面加载结束信息;
根据所述页面加载结束信息,执行钩子函数修改测试服务器中的函数地址为测试任务执行器中的函数地址,以钩取测试服务器发送的加载结束回调信息;
根据所述加载结束回调信息,执行打开页面测试开关的命令。
4.根据权利要求1所述的一种页面测试方法,其特征在于,还包括:
获取页面测试的启动命令;
根据预设的控制模拟操作行为的算法,生成伪随机的测试事件流,以进行页面测试,所述伪随机的测试事件流为模拟的用户操作序列;
根据页面测试的测试结果,输出页面测试数据。
5.一种页面测试方法,其特征在于,所述方法包括:
加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
根据网络端口协议,接收连接请求信息,以与测试任务执行器建立测试通道;
生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
基于所述测试任务执行器中预先插桩的重编译代码与所述测试任务执行器建立通信连接,基于所述通信连接和远程调用协议,接收所述页面测试数据;其中,所述测试任务执行器中的重编译代码的生成方法包括:重编译开发者工具的代码,将所述重编译后的开发者工具的代码通过插桩的方式植入所述测试任务执行器;
对所述页面测试数据进行分析。
6.一种页面测试装置,其特征在于,所述装置包括:测试任务执行器和测试服务器;
所述测试服务器包括测试开关开启模块、请求信息接收模块、测试事件生成模块和测试数据处理模块;
所述测试开关开启模块用于基于测试服务器的页面加载结束信息,打开页面测试开关;
所述请求信息接收模块用于通过网络端口协议,接收连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件生成模块用于生成伪随机的测试事件流,所述伪随机的测试事件流为模拟的用户操作序列;
所述测试数据处理模块用于接收测试任务执行器发送的页面测试数据;对所述页面测试数据进行分析;
所述测试任务执行器包括请求信息发送模块、测试事件接收模块、测试事件执行模块和测试数据发送模块;
所述请求信息发送模块用于通过网络端口协议,发送连接请求信息,以建立测试任务执行器与测试服务器之间的测试通道;
所述测试事件接收模块用于启动待测试页面,所述待测试页面为使用超文本语言描述的页面;
所述测试事件执行模块用于基于预先插桩的重编译代码,与所述测试服务器建立通信连接;根据远程调用协议,接收所述测试服务器发送的伪随机的测试事件流;执行所述伪随机的测试事件流,以获取页面测试数据;其中,预先插桩的重编译代码的生成方法包括:重编译开发者工具的代码,将所述重编译后的开发者工具的代码通过插桩的方式植入所述测试任务执行器;
所述测试数据发送模块用于基于与所述测试服务器之间的通信连接和远程调用协议,发送所述页面测试数据到所述测试服务器。
7.一种页面测试装置,其特征在于,所述装置包括:页面加载模块、请求信息接收模块、页面测试模块、测试数据接收模块和测试数据分析模块;
所述页面加载模块用于加载待检测页面,以获取页面加载结束信息,打开页面测试开关;
所述请求信息接收模块用于根据网络端口协议,获取连接请求信息,以与测试任务执行器建立测试通道;
所述页面测试模块用于生成伪随机的测试事件流,发送所述伪随机的测试事件流到所述测试任务执行器,以使得所述测试任务执行器根据所述伪随机的测试事件流进行页面测试,获取页面测试数据;
所述测试数据接收模块用于基于所述测试任务执行器中预先插桩的重编译代码与所述测试任务执行器建立通信连接,基于所述通信连接和远程调用协议,接收所述页面测试数据;其中,所述测试任务执行器中的重编译代码的生成方法包括:重编译开发者工具的代码,将所述重编译后的开发者工具的代码通过插桩的方式植入所述测试任务执行器;
所述测试数据分析模块用于对所述页面测试数据进行分析。
8.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-4任一项所述的一种页面测试方法或权利要求5所述的一种页面测试方法。
9.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-4任一项所述的一种页面测试方法或权利要求5所述的一种页面测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910644574.5A CN112241356B (zh) | 2019-07-16 | 2019-07-16 | 一种页面测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910644574.5A CN112241356B (zh) | 2019-07-16 | 2019-07-16 | 一种页面测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112241356A CN112241356A (zh) | 2021-01-19 |
CN112241356B true CN112241356B (zh) | 2024-05-10 |
Family
ID=74166963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910644574.5A Active CN112241356B (zh) | 2019-07-16 | 2019-07-16 | 一种页面测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241356B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326183A (zh) * | 2021-04-30 | 2021-08-31 | 合肥移瑞通信技术有限公司 | Ui测试方法、电子设备及存储介质 |
CN113630295B (zh) * | 2021-08-17 | 2022-12-06 | 网易(杭州)网络有限公司 | 协议测试方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662217B1 (en) * | 1999-01-19 | 2003-12-09 | Microsoft Corporation | Distributed and automated test administration system for administering automated tests on server computers over the internet |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN108011883A (zh) * | 2017-12-05 | 2018-05-08 | 深圳市创维软件有限公司 | 一种远程调试方法、终端设备和服务器 |
CN109522201A (zh) * | 2017-09-18 | 2019-03-26 | 北京京东尚科信息技术有限公司 | 一种应用程序稳定性测试的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10560524B2 (en) * | 2016-09-16 | 2020-02-11 | Oracle International Corporation | System and method providing local development of executable content pages normally run on a server within a user session |
US10608920B2 (en) * | 2017-01-06 | 2020-03-31 | Martello Technologies Corporation | Performance testing audio/video communications in network |
-
2019
- 2019-07-16 CN CN201910644574.5A patent/CN112241356B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662217B1 (en) * | 1999-01-19 | 2003-12-09 | Microsoft Corporation | Distributed and automated test administration system for administering automated tests on server computers over the internet |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN109522201A (zh) * | 2017-09-18 | 2019-03-26 | 北京京东尚科信息技术有限公司 | 一种应用程序稳定性测试的方法和装置 |
CN108011883A (zh) * | 2017-12-05 | 2018-05-08 | 深圳市创维软件有限公司 | 一种远程调试方法、终端设备和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN112241356A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557424B (zh) | 内存测试方法、被测终端、测试客户端及系统 | |
CN110198247B (zh) | 接口测试方法及系统 | |
CN108521353B (zh) | 定位性能瓶颈的处理方法、设备及可读存储介质 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
US11755468B2 (en) | Automated generation of load tests for API testing | |
CN112241356B (zh) | 一种页面测试方法、装置、设备及存储介质 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN110609785A (zh) | 软件接口的测试方法及装置 | |
CN110543429B (zh) | 测试用例调试方法、装置及存储介质 | |
CN111666199B (zh) | 在智能终端上执行的调试方法以及软件调试器 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN106294119B (zh) | 测试调度系统、方法及终端设备 | |
WO2016188101A1 (zh) | 一种针对业务系统的测试方法和装置 | |
CN112988588B (zh) | 客户端软件调试方法、装置、存储介质及电子设备 | |
CN108287781B (zh) | 一种内存占用监控方法及装置、系统 | |
CN104796929B (zh) | 网络调试方法及装置 | |
CN112988267A (zh) | 加载方法、装置、存储介质及电子设备 | |
CN112527577A (zh) | 一种服务器能耗自动化测试和采集方法、系统及介质 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN107391354B (zh) | 自动监测终端性能的方法及系统、存储装置 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN110347409B (zh) | 自动控制方法、客户端和服务器 | |
CN113672225A (zh) | 用户界面的处理方法、装置、设备及存储介质 | |
CN112433938A (zh) | 移动端应用测试的方法和装置 | |
CN114443460A (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 |