CN109344066B - 一种浏览器页面的测试方法、系统及终端 - Google Patents

一种浏览器页面的测试方法、系统及终端 Download PDF

Info

Publication number
CN109344066B
CN109344066B CN201811145929.8A CN201811145929A CN109344066B CN 109344066 B CN109344066 B CN 109344066B CN 201811145929 A CN201811145929 A CN 201811145929A CN 109344066 B CN109344066 B CN 109344066B
Authority
CN
China
Prior art keywords
browser
test
page
information
preset
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
CN201811145929.8A
Other languages
English (en)
Other versions
CN109344066A (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.)
Shenzhen Kylin Software Co ltd
Original Assignee
Shenzhen Kylin Software 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 Shenzhen Kylin Software Co ltd filed Critical Shenzhen Kylin Software Co ltd
Priority to CN201811145929.8A priority Critical patent/CN109344066B/zh
Publication of CN109344066A publication Critical patent/CN109344066A/zh
Application granted granted Critical
Publication of CN109344066B publication Critical patent/CN109344066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Abstract

本发明适用于计算机应用技术领域,提供了一种浏览器页面的测试方法、系统及终端,所述方法包括:启动待测试的浏览器,并获取浏览器对应的页面测试脚本,从页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤,在执行选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取浏览器占用的终端的CPU使用率,资源请求信息为浏览器通过终端发送至后台服务器的请求信息,若当前未处理的资源请求信息的数量等于预设数量阈值且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,降低了测试人员的工作量以及人工成本。

Description

一种浏览器页面的测试方法、系统及终端
技术领域
本发明属于计算机应用技术领域,尤其涉及一种浏览器页面的测试方法、系统及终端。
背景技术
随着计算机及互联网技术的发展,浏览器在人们的工作、学习和生活中的重要性越来越高。用户通过在浏览器页面中进行操作,可以实现信息查询、网络购物等。通常,为了保证浏览器页面的正常使用,需要对浏览器页面进行测试。目前对浏览器页面进行自动化测试采用的方法一般是每隔一定的测试时间(例如,5秒)便自动在浏览器页面执行相应的测试步骤,浏览器页面响应该测试步骤(例如,加载图片)。但是由于一些原因(例如,网络阻塞)导致浏览器页面响应测试步骤慢,无法在测试时间内完成当前测试步骤,由于当前测试步骤并没有完成,下一测试步骤无法自动执行,即下一测试步骤执行失败,测试稳定性较差,或者是当前测试步骤由于需要浏览器页面响应的内容较少,在测试时间内提前便执行完该测试步骤,但还需等待一定的时间,需要进入到下一个测试时间内,才可以执行下一个测试步骤,测试效率较低。
综上,现有技术中通过间隔固定时间测试浏览器页面的方式存在测试稳定性较差以及测试效率较低的问题。
发明内容
有鉴于此,本发明实施例提供了一种浏览器页面的测试方法、系统及终端,以解决现有技术中通过间隔固定时间测试浏览器页面的方式存在测试稳定性较差以及测试效率较低的问题。
本发明实施例的第一方面提供了一种浏览器页面的测试方法,应用于安装有浏览器的终端,所述浏览器通过后台服务器获取网络信息;
所述浏览器页面的测试方法包括:
启动待测试的所述浏览器,并获取所述浏览器对应的页面测试脚本;
从所述页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤;
在执行所述选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取所述浏览器占用的所述终端的CPU使用率,所述资源请求信息为所述浏览器通过所述终端发送至所述后台服务器的请求信息;
若所述当前未处理的资源请求信息的数量等于预设数量阈值且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
本发明实施例的第二方面提供了一种浏览器页面的测试系统,应用于安装有浏览器的终端,所述浏览器通过后台服务器获取网络信息;
所述浏览器页面的测试系统包括:
测试脚本获取模块,用于启动待测试的所述浏览器,并获取所述浏览器对应的页面测试脚本;
测试步骤选取模块,用于从所述页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤;
测试信息获取模块,用于在执行所述选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取所述浏览器占用的所述终端的CPU使用率,所述资源请求信息为所述浏览器通过所述终端发送至所述后台服务器的请求信息;
第一测试步骤处理模块,用于若所述当前未处理的资源请求信息的数量等于预设数量阈值且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
本发明实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的浏览器页面的测试方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的浏览器页面的测试方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过执行从页面测试脚本中选取的测试步骤,在执行该选取的测试步骤过程中,统计当前未处理的资源请求信息的数量和获取浏览器占用的终端的CPU使用率,由于在执行测试步骤的过程中,可能会需要进行页面渲染,当需要进行地图渲染或者大量曲线进行渲染时,浏览器占用的终端的CPU使用量会很高,因此,当测试步骤执行完毕时,浏览器占用的终端的CPU使用率不会很高,且当测试步骤执行完毕后,当前未处理的资源请求信息的数量会等于预设数量阈值,因此,若检测到当前未处理的资源请求信息的数量等于预设数量阈值同时检测到浏览器占用的终端的CPU使用率小于预设使用率,则认为该选取的测试步骤执行完毕,停止执行该选取的测试步骤,开始自动执行下一测试步骤,当检测出当前执行的测试步骤完成后,才会执行下一测试步骤,避免出现在固定的测试时间内提前完成或未完成测试步骤的情况,从而提高了测试稳定性和测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的浏览器页面的测试方法的实现流程示意图;
图2是本发明另一个实施例提供的浏览器页面的测试方法的实现流程示意图;
图3是本发明一个实施例提供的浏览器页面的测试系统的结构示意图;
图4是本发明另一个实施例提供的浏览器页面的测试系统的结构示意图;
图5是本发明一个实施例提供的终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例1:
图1示出了本发明的一个实施例提供的浏览器页面的测试方法的实现流程,本实施例的流程执行主体是安装有浏览器页面的终端,该浏览器通过后台服务器获取网络信息,其过程详述如下:
在步骤S101中,启动待测试的浏览器,并获取浏览器对应的页面测试脚本。
在本发明的一个实施例中,在步骤S101之前包括:
1)获取本地网络地址。
2)将浏览器的代理地址设置为本地网络地址。
在本实施例中,本地网络地址为终端本地的IP地址(互联网协议地址,InternetProtocol Address)。
在本实施例中,若待测试的浏览器不为预设浏览器,则需要将浏览器的HTTP(HyperText Transfer Protocol,超文本传输协议)代理地址或HTTPS(Hyper TextTransfer Protocol over Secure Socket Layer,网络协议)代理地址设置为终端本地的IP地址。
在本实施例中,若待测试的浏览器为预设浏览器,则可以将浏览器的HTTP代理地址或HTTPS代理地址设置为终端本地的IP地址,终端相当于浏览器的代理服务器,去后台服务器获取网络信息(例如,页面资源请求信息),也可以不设置浏览器的HTTP代理或者HTTPS代理地址,浏览器直接通过终端发送网络信息至服务器,此时,终端仅作为载体,浏览器仅利用终端相关硬件(例如,网卡)实现了网络信息的发送,而不是先将网络信息发送给终端,终端再将网络信息转发至后台服务器。
在本实施例中,页面测试脚本为待测试浏览器上的待测试页面对应的测试脚本,例如,浏览器包含的待测试的优酷页面对应的测试脚本。页面测试脚本为测试人员利用编程语言(javascript)根据测试的需要编写出来的,执行该页面测试脚本可以实现浏览器页面的自动化测试。测试脚本包含了一系列测试步骤,执行测试步骤是有先后顺序的,只有在一个测试步骤执行完毕后,才能执行下一个测试步骤,若当前测试步骤还未执行完毕,便开始执行下一个测试步骤,则下一个测试步骤可能会执行失败。
在本实施例中,待测试浏览器为包含待测试页面的浏览器。当获取到页面测试脚本后,需要将该页面测试脚本注入到浏览器的待测试页面,即,该页面测试脚本的运行环境为浏览器页面,在待测试页面上执行该测试脚本中的测试步骤。
在本发明的一个实施例中,步骤S101包括:
通过自动化测试工具或命令行方式启动待测试的浏览器。
在本实施例中,自动化测试工具可以为WebDriver工具。
在本实施例中,通过命令行方式启动待测试的浏览器是指在命令行输入第一参数来启动该浏览器,例如,第一参数为该浏览器的名称和/或版本等等。
在本实施例中,通过自动化测试工具启动待测试的浏览器是指在自动化测试工具中输入第二参数来启动待测试的浏览器,例如,第二参数为该浏览器的名称和/或安装地址等等。
在步骤S102中,从页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤。
在本实施例中,测试步骤包括打开某个页面或者点击页面某个元素。
在本实施例中,可以从页面测试脚本包含的测试步骤中选取一个测试步骤,并在测试步骤对应的浏览器页面执行选取的测试步骤。
在步骤S103中,在执行选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取浏览器占用的终端的CPU使用率,资源请求信息为浏览器通过终端发送至后台服务器的请求信息。
在本实施例中,当前未处理表示终端未将资源请求信息发送到后台服务器或者终端已经将资源请求信息发送到后台服务器,但未接收到后台服务器反馈的响应信息。
在本实施例中,统计终端上当前未处理的资源请求信息的数量以及浏览器进程占用的终端的CPU(中央处理器,Central Processing Unit)使用率。
在一个实施例中,对于特殊场景,例如有心跳,在规定时间内一直存在某个资源请求信息,则可以过滤掉该资源请求信息,即当前未处理的资源请求信息不包含该资源请求信息。
在本实施例中,资源请求信息包括HTTP请求信息或者HTTPS请求信息。
在步骤S104中,若当前未处理的资源请求信息的数量等于预设数量阈值且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本实施例中,预设数量阈值可以为0。
在本实施例中,当测试步骤执行完毕时,浏览器不需要再通过终端发送的资源请求信息到后台服务器。
在本实施例中,当测试步骤执行完毕时,浏览器进程占用的终端的CPU使用率不会很高,当在执行测试步骤的过程中,可能会需要进行页面渲染,当需要进行地图渲染或者大量曲线进行渲染时,浏览器进程占用的终端的CPU使用量会很高。因此,可以将浏览器占用的终端的CPU使用率作为一个判定测试步骤是否执行完毕的因素。
在本实施例中,当在浏览器页面执行的测试步骤执行完毕后,表示该浏览器页面已经将所需的资源信息获取完毕,该浏览器页面获取资源信息完毕表示未处理的资源请求信息的数目为0,因为,只有当浏览器发送的资源请求信息完成后,该浏览器页面才可以获取到相应的资源信息,因此,也可以将未处理的资源请求信息的数量作为一个判定测试步骤是否执行完毕的因素。
在本实施例中,为了使判定测试步骤是否执行完毕的准确率更高,同时采用浏览器占用的终端的CPU使用率和未处理的资源请求信息的数量来判定测试步骤是否执行完毕。即判断当前未处理的资源请求信息的数量是否等于预设数量阈值以及判断浏览器占用的终端的CPU使用率是否小于预设使用率,若当前未处理的资源请求信息的数量等于预设数量阈值且浏览器占用的终端的CPU使用率小于预设使用率,则认为选取的测试步骤已经执行完毕,停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余一个测试步骤重新进行测试。
在本实施例中,当前未处理的资源请求信息的数量大于预设数量阈值或/和浏览器占用的终端的CPU使用率大于或者等于预设使用率,则认为测试步骤还未执行完毕,继续执行测试步骤。
在本发明的一个实施例中,所述浏览器页面的测试方法,还包括:
1)通过自动化测试工具获取页面元素信息。
2)若页面元素信息包含预设元素信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本实施例中,当在浏览器页面执行的测试步骤执行完毕后,该浏览器页面会出现相对应的预设元素(出现了预设图片),因此,可以将页面元素信息作为一个判定测试步骤是否执行完毕的因素。
因此,在步骤S104判断测试步骤是否执行完毕的基础上,若浏览器页面上加载的场景不是异步加载场景或没有包含canvas元素这种大数据使用的画布组件(例如,地图、曲线、饼图、柱形图),还可以结合浏览器页面上加载的元素信息来判断测试步骤是否执行完毕。即通过监控自动化测试工具,获取到浏览器页面已经加载的元素信息,得到页面元素信息,若页面元素信息包含预设元素信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则认为选取的测试步骤已经执行完毕,停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,提高了判断测试步骤是否执行完毕的准确率,即降低测试步骤执行的失败率,提高了测试的稳定性,并且不受时间的限制,在判断出当前执行的测试步骤执行完毕后,便自动执行下一测试步骤,提高了测试的效率。
其中,异步加载场景是指当在页面上加载一个元素时,无需在其它元素全部加在完成后,才能加载该元素。
其中,canvas元素为整体元素,里面的曲线、地图展示是通过异步操作获取数据,然后再渲染成图像的,因此,无法获取到canvas元素里面出现的信息,即即使页面出现了canvas元素,也无法判断出canvas元素里面的地图、曲线等是否渲染完成。
在本实施例中,自动化测试工具可以获取到选取的测试步骤对应的浏览器页面出现的元素信息,元素信息是指浏览器页面上当前已经加载的元素信息,例如,页面已经加载的图片信息。
在一个实施例中,若浏览器页面包含加载的场景是异步加载场景或包含canvas元素这种大数据使用的画布组件,则不能结合页面元素信息来判断某个测试步骤是否执行完毕。若浏览器的待测试页面中包含canvas画布组件,当canvas画布组件中出现了特定元素后,表示测试步骤执行完毕,但是由于但无法获取到canvas画布组件出现的元素信息,因此无法判断测试步骤是否执行完毕,或者若若浏览器的待测试页面加载的场景是异步加载场景,由于当在页面上加载一个元素时,无需在其它元素全部加在完成后,才能加载该元素,无法选定预设元素,更无法通过判断是否出现预设元素来判断测试步骤是否执行完毕。
在本发明的一个实施例中,所述浏览器页面的测试方法,还包括:
1)若浏览器为预设浏览器,则通过浏览器提供的接口获取到当前未处理的资源请求信息的数量和事件发生信息。
2)若事件发生信息包含预设事件信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本实施例中,预设浏览器为谷歌浏览器(Google Chrome)。谷歌浏览器提供一些接口,终端可以通过调用这些接口获取到谷歌浏览器当前未处理的资源请求信息的数量和事件发生信息,在此处,当前未处理的资源请求信息是指谷歌浏览器已经发送资源请求信息到后台服务器,但后台服务器还未反馈的资源请求信息。
在本实施例中,事件发生信息是指浏览器页面发生的DOM事件信息。在执行测试步骤的过程中,浏览器可能需要加载页面,在加载页面的过程中,会发生DOM Ready和DOMLoad事件等DOM事件。当在浏览器页面执行的测试步骤执行完毕后,该浏览器页面已经加载完所需要加载的内容,即表示DOM Load事件完成,因此,可以时间发生信息作为一个判定测试步骤是否执行完毕的因素。
在本实施例中,为了使判定测试步骤是否执行完毕的准确率更高,降低测试步骤执行的失败率,提高测试步骤执行的稳定性,在采用浏览器占用的终端的CPU使用率以及当前未处理的资源请求信息的数量判定测试步骤是否执行完毕的基础上,再结合事件发生信息来判断,即若事件发生信息包含预设事件信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则认为选取的测试步骤执行完毕,停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,并且由于不受时间的限制,在判断出当前执行的测试步骤执行完毕后,便自动执行下一测试步骤,提高了测试的效率。
其中,预设事件信息为DOM Load事件信息。
在本实施例中,在浏览器页面执行从页面测试脚本中选取的测试步骤,在执行该选取的测试步骤过程中,统计当前未处理的资源请求信息的数量和获取浏览器占用的终端的CPU使用率,由于在执行测试步骤的过程中,可能会需要进行页面渲染,当需要进行地图渲染或者大量曲线进行渲染时,浏览器占用的终端的CPU使用量会很高,因此,当测试步骤执行完毕时,浏览器占用的终端的CPU使用率不会很高,且当测试步骤执行完毕后,当前未处理的资源请求信息的数量为0,因此,若检测到当前未处理的资源请求信息的数量为0同时检测到浏览器占用的终端的CPU使用率小于预设使用率,则认为该选取的测试步骤执行完毕,停止执行该选取的测试步骤,开始自动执行下一测试步骤,当检测出当前执行的测试步骤完成后,才会执行下一测试步骤,避免出现在固定的测试时间内提前完成或未完成测试步骤的情况,从而提高了测试稳定性和测试效率。
图2示出了本发明的另一个实施例提供的浏览器页面的测试方法实现流程,其过程详述如下:
在步骤S201中,在执行选取的测试步骤过程中,若接收到浏览器发送的资源请求信息,则将资源请求信息发送至后台服务器,并接收后台服务器反馈的响应信息。
在本实施例中,当设置终端为浏览器的代理服务器时,则当接收到浏览器发送的资源请求信息时,将该资源请求信息发送到后台服务器,后台服务器根据终端发送的资源请求信息生成响应信息,并反馈至该终端。
在步骤S202中,若响应信息包含预设内容,则添加预设监控脚本至响应信息的预设内容中。
在本实施例中,预设内容为HTML内容,检测响应信息是否包含HTML内容,若包含HTML内容,则表示需要在浏览器页面加载该响应信息的HTML内容,将预设监控脚本添加到该响应信息的HTML内容中。
在本实施例中,可以通过检测响应信息是否包含HTML标签(例如,<html>)来检测出响应信息是否包含HTML内容。
在步骤S203中,通过预设监控脚本获取事件发生信息,事件发生信息为浏览器页面发生的事件信息。
在本实施例中,预设监控脚本相当于监控器,可以监控浏览器页面在加载内容的过程中发生的DOM事件信息和出现的元素信息。
在本实施例中,通过调用预设监控脚本提供的接口,可以获取到浏览器页面的发生的DOM事件信息,即事件发生信息。
在步骤S204中,若事件发生信息包含预设事件信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本实施例中,在步骤S104判断测试步骤是否执行完毕的基础上,还可以结合事件发生信息来检测测试步骤是否执行完毕,即若检测到事件发生信息包含DOM Load事件信息,同时终端当前未处理的资源请求信息的数量等于预设数量阈值,且浏览器进程占用的CPU使用率小于预设使用率,则认为选取的测试步骤执行完毕,停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,提高了判定测试步骤是否执行完毕的准确率。
在本发明的一个实施例中,在步骤203之后,还包括:
1)通过预设监控脚本获取页面元素信息,页面元素信息为浏览器页面出现的元素信息。
2)若页面元素信息包含预设元素信息、同时页面事件状态信息包含预设事件信息、当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本实施例中,预设元素信息是指页面加载完成后,即测试步骤执行执行完成时,页面会出现的一个元素信息,当出现该元素信息后,则认为测试步骤已经完成。
在本实施例中,通过调用预设监控脚本提供的接口,还可以获取到页面出现的元素信息,得到页面元素信息。
在本实施例中,若浏览器页面包含加载的场景是异步加载场景或包含canvas元素这种大数据使用的画布组件,则在步骤S104的基础上,还可以结合页面是否已经出现预设元素、页面是否已经发送预设事件来判断测试步骤是否执行完毕。
在一个实施例中,还可以记录每个测试步骤的执行时间、记录在执行测试步骤时,与后台服务器进行的交互时长、根据在浏览器执行测试步骤中获取到的浏览器占用的终端的CPU使用率绘制相应的CPU使用率曲线以及根据在执行测试步骤过程中获取到的信息生成相应的日志信息,日志信息包括交互信息、事件发生信息和元素出现信息。根据每个测试步骤的执行时间、与后台服务器进行的交互时长和CPU使用率曲线,可以精确判断测试步骤执行是否正常,测试时间是否合理,如果不合理,相应的开发人员借助这些信息来优化测试步骤。
在本实施例中,还可以在测试步骤执行时间过长时,通过分析日志信息中的交互信息以及交互时长来定位原因,然后进行调整,提升用户体验,也可以当测试步骤执行失败时,根据日志信息定位失败原因,例如,通过分析页面元素信息发现并没有出现某个元素,从而导致测试步骤执行失败,快速解决了问题,实现了测试问题的精准定位。
其中,交互信息是指资源请求信息和响应信息。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例2:
图3示出了本发明的一个实施例提供的浏览器页面的测试系统100,用于执行图1所对应的实施例中的方法步骤,其应用于安装有浏览器的终端,该浏览器通过后台服务器获取网络信息,该浏览器页面的测试系统100包括:
测试脚本获取模块110,用于启动待测试的浏览器,并获取浏览器对应的页面测试脚本。
测试步骤选取模块120,用于从页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤。
测试信息获取模块130,用于在执行选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取浏览器占用的终端的CPU使用率,资源请求信息为浏览器通过终端发送至后台服务器的请求信息。
第一测试步骤处理模块140,用于若当前未处理的资源请求信息的数量等于预设数量阈值且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本发明的一个实施例中,浏览器页面的测试系统100包括:
网络地址获取模块,用于获取本地网络地址。
代理地址设置模块,用于将所述浏览器的代理地址设置为本地网络地址。
在本发明的一个实施例中,测试脚本获取模块110用于:
通过自动化测试工具或命令行方式启动待测试的浏览器。
在本发明的一个实施例中,浏览器页面的测试系统100包括:
第一元素信息获取模块,用于通过所述自动化测试工具获取页面元素信息。
第四测试步骤处理模块,用于若所述页面元素信息包含预设元素信息、同时所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本发明的一个实施例中,浏览器页面的测试系统100包括:
接口处理模块,用于若所述浏览器为预设浏览器,则通过所述浏览器提供的接口获取到当前未处理的资源请求信息的数量和事件发生信息;
第五测试步骤处理模块,用于若所述事件发生信息包含预设事件信息、同时所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
图4示出了本发明的另一个实施例提供的浏览器页面的测试系统100,用于执行图2所对应的实施例中的方法步骤,其包括:
响应信息接收模块150,用于在执行选取的测试步骤过程中,若接收到浏览器发送的资源请求信息,则将资源请求信息发送至后台服务器,并接收后台服务器反馈的响应信息。
监控脚本添加模块160,用于若响应信息包含预设内容,则添加预设监控脚本至响应信息的预设内容中。
事件信息监控模块170,用于通过预设监控脚本获取事件发生信息,事件发生信息为浏览器页面发生的事件信息。
第二测试步骤处理模块180,用于若事件发生信息包含预设事件信息、同时当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在本发明的一个实施例中,浏览器页面的测试系统100还包括:
第二元素信息获取模块,用于通过预设监控脚本获取页面元素信息,页面元素信息为浏览器页面出现的元素信息。
第三测试步骤处理模块,用于若页面元素信息包含预设元素信息、同时页面事件状态信息包含预设事件信息、当前未处理的资源请求信息的数量等于预设数量阈值并且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
在一个实施例中,浏览器页面的测试系统100还包括其他功能模块/单元,用于实现实施例1中各实施例中的方法步骤。
实施例3:
图5是本发明一实施例提供的终端的示意图。如图5所示,该实施例的终端5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现如实施例1中所述的各实施例的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器50执行所述计算机程序52时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图3所示模块110至140的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端5中的执行过程。例如,所述计算机程序52可以被分割成测试脚本获取模块、测试步骤选取模块、测试信息获取模块和第一测试步骤处理模块。各模块具体功能如下:
测试脚本获取模块,用于启动待测试的浏览器,并获取浏览器对应的页面测试脚本。
测试步骤选取模块,用于从页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤。
测试信息获取模块,用于在执行选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取浏览器占用的终端的CPU使用率,资源请求信息为浏览器通过终端发送至后台服务器的请求信息。
第一测试步骤处理模块,用于若当前未处理的资源请求信息的数量等于预设数量阈值且浏览器占用的终端的CPU使用率小于预设使用率,则停止执行选取的测试步骤,并从页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
所述终端5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端5的示例,并不构成对终端5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端5的内部存储单元,例如终端5的硬盘或内存。所述存储器51也可以是所述终端5的外部存储设备,例如所述终端5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
实施例4:
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如实施例1中所述的各实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述计算机程序被处理器执行时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图3所示的模块110至140的功能。
所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,实施例1至4可以任意组合,组合后形成的新的实施例也在本申请的保护范围之内。某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种浏览器页面的测试方法,其特征在于,应用于安装有浏览器的终端,所述浏览器通过后台服务器获取网络信息;
所述浏览器页面的测试方法包括:
启动待测试的所述浏览器,并获取所述浏览器对应的页面测试脚本;
从所述页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤;
在执行所述选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取所述浏览器占用的所述终端的CPU使用率,所述资源请求信息为所述浏览器通过所述终端发送至所述后台服务器的请求信息;
若所述当前未处理的资源请求信息的数量等于预设数量阈值且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,其中,所述预设数量阈值为0。
2.如权利要求1所述的浏览器页面的测试方法,其特征在于,还包括:
在执行所述选取的测试步骤过程中,若接收到所述浏览器发送的资源请求信息,则将所述资源请求信息发送至后台服务器,并接收所述后台服务器反馈的响应信息;
若所述响应信息包含预设内容,则添加预设监控脚本至所述响应信息的预设内容中;
通过所述预设监控脚本获取事件发生信息,所述事件发生信息为所述浏览器页面发生的事件信息;
若所述事件发生信息包含预设事件信息、同时所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于所述预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
3.如权利要求2所述的浏览器页面的测试方法,其特征在于,还包括:
通过所述预设监控脚本获取页面元素信息,所述页面元素信息为所述浏览器页面出现的元素信息;
若所述页面元素信息包含预设元素信息、同时所述页面事件状态信息包含所述预设事件信息、所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于所述预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
4.如权利要求1所述的浏览器页面的测试方法,其特征在于,还包括:
获取本地网络地址;
将所述浏览器的代理地址设置为所述本地网络地址。
5.如权利要求1所述的浏览器页面的测试方法,其特征在于,所述启动待测试的浏览器,包括:
通过自动化测试工具或命令行方式启动所述待测试的浏览器。
6.如权利要求5所述的浏览器页面的测试方法,其特征在于,还包括:
通过所述自动化测试工具获取页面元素信息;
若所述页面元素信息包含预设元素信息、同时所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于所述预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
7.如权利要求1所述的浏览器页面的测试方法,其特征在于,还包括:
若所述浏览器为预设浏览器,则通过所述浏览器提供的接口获取到当前未处理的资源请求信息的数量和事件发生信息;
若所述事件发生信息包含预设事件信息、同时所述当前未处理的资源请求信息的数量等于预设数量阈值并且所述浏览器占用的终端的CPU使用率小于所述预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试。
8.一种浏览器页面的测试系统,其特征在于,应用于安装有浏览器的终端,所述浏览器通过后台服务器获取网络信息;
所述浏览器页面的测试系统包括:
测试脚本获取模块,用于启动待测试的所述浏览器,并获取所述浏览器对应的页面测试脚本;
测试步骤选取模块,用于从所述页面测试脚本包含的测试步骤中选取测试步骤,并执行选取的测试步骤;
测试信息获取模块,用于在执行所述选取的测试步骤过程中,统计当前未处理的资源请求信息的数量,并获取所述浏览器占用的所述终端的CPU使用率,所述资源请求信息为所述浏览器通过所述终端发送至所述后台服务器的请求信息;
第一测试步骤处理模块,用于若所述当前未处理的资源请求信息的数量等于预设数量阈值且所述浏览器占用的终端的CPU使用率小于预设使用率,则停止执行所述选取的测试步骤,并从所述页面测试脚本包含的测试步骤中选取其余测试步骤重新进行测试,其中,所述预设数量阈值为0。
9.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的浏览器页面的测试方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的浏览器页面的测试方法的步骤。
CN201811145929.8A 2018-09-29 2018-09-29 一种浏览器页面的测试方法、系统及终端 Active CN109344066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811145929.8A CN109344066B (zh) 2018-09-29 2018-09-29 一种浏览器页面的测试方法、系统及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811145929.8A CN109344066B (zh) 2018-09-29 2018-09-29 一种浏览器页面的测试方法、系统及终端

Publications (2)

Publication Number Publication Date
CN109344066A CN109344066A (zh) 2019-02-15
CN109344066B true CN109344066B (zh) 2022-02-25

Family

ID=65307779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811145929.8A Active CN109344066B (zh) 2018-09-29 2018-09-29 一种浏览器页面的测试方法、系统及终端

Country Status (1)

Country Link
CN (1) CN109344066B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909286A (zh) * 2019-10-23 2020-03-24 云深互联(北京)科技有限公司 浏览器数据的处理方法、系统和设备
CN111026667B (zh) * 2019-12-09 2023-05-05 北京乐学帮网络技术有限公司 脚本执行方法、装置和电子设备
CN112597054B (zh) * 2020-12-30 2023-04-11 深圳市世强元件网络有限公司 移动终端h5页面应用测试装置、测试方法和电脑终端
CN113094228A (zh) * 2021-03-19 2021-07-09 联想(北京)有限公司 任务监控方法及装置、设备、存储介质
CN113094265B (zh) * 2021-04-01 2022-09-09 山石网科通信技术股份有限公司 测试脚本的分析方法及分析装置、电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138452A (zh) * 2015-08-03 2015-12-09 广东欧珀移动通信有限公司 一种基于终端系统的浏览器性能自动化测试方法
CN108196788A (zh) * 2017-12-28 2018-06-22 新华三技术有限公司 QoS指标监测方法、装置、存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2894694A1 (fr) * 2005-12-09 2007-06-15 St Microelectronics Sa Procede et dispositif de mise au point d'un programme execute par un processeur multitache
JP5467891B2 (ja) * 2010-02-19 2014-04-09 ルネサスエレクトロニクス株式会社 情報処理装置、デバッグ装置、デバッグ方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138452A (zh) * 2015-08-03 2015-12-09 广东欧珀移动通信有限公司 一种基于终端系统的浏览器性能自动化测试方法
CN108196788A (zh) * 2017-12-28 2018-06-22 新华三技术有限公司 QoS指标监测方法、装置、存储介质

Also Published As

Publication number Publication date
CN109344066A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN109344066B (zh) 一种浏览器页面的测试方法、系统及终端
WO2018223717A1 (zh) 网页前端测试方法、装置、系统、设备及可读存储介质
CN112799940B (zh) 回归测试方法、装置、计算机系统和计算机可读存储介质
CN109739711B (zh) 一种接口测试方法、装置、设备和存储介质
CN112199300B (zh) 一种接口测试方法、装置、电子设备及存储介质
CN110515795B (zh) 一种大数据组件的监控方法、装置、电子设备
CN109828859B (zh) 移动终端内存分析方法、装置、存储介质及电子设备
CN111147310A (zh) 一种日志跟踪处理的方法、装置、服务器及介质
WO2020177519A1 (zh) 在智能终端上执行的调试方法以及软件调试器
CN111309743A (zh) 报表推送方法及装置
CN107102937B (zh) 一种用户界面测试方法和装置
CN112653736B (zh) 一种并行回源方法、装置及电子设备
CN110717122B (zh) 页面性能采集方法、装置及电子设备
CN110825603A (zh) 页面首次加载时间确定方法、装置、电子设备及存储介质
CN104424098A (zh) 一种应用测试方法及装置
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN108255672B (zh) 数据校验的方法、装置和存储介质以及电子设备
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
US20140325479A1 (en) Synchronization of an automation script
CN115576791A (zh) 压测线程的动态调整方法、装置、电子设备及存储介质
CN115202973A (zh) 应用运行状态的确定方法、装置、电子设备和介质
CN109446462B (zh) 基于页面的数据监控处理方法、装置、设备和存储介质
CN109522124B (zh) 存储管理系统加载方法、装置、设备及可读存储介质
CN108809763B (zh) 一种网络性能参数采集方法、终端装置及存储介质
CN109960659B (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