CN108848000B - 网络请求测试方法、装置、计算机设备和存储介质 - Google Patents

网络请求测试方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN108848000B
CN108848000B CN201810428406.8A CN201810428406A CN108848000B CN 108848000 B CN108848000 B CN 108848000B CN 201810428406 A CN201810428406 A CN 201810428406A CN 108848000 B CN108848000 B CN 108848000B
Authority
CN
China
Prior art keywords
request
response
network request
response data
network
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
CN201810428406.8A
Other languages
English (en)
Other versions
CN108848000A (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.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201810428406.8A priority Critical patent/CN108848000B/zh
Publication of CN108848000A publication Critical patent/CN108848000A/zh
Application granted granted Critical
Publication of CN108848000B publication Critical patent/CN108848000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种网络请求测试方法、装置、计算机设备和存储介质。所述方法包括:监控应用程序发出的第一网络请求,获取第一网络请求的第一请求标识;根据第一请求标识判断第一网络请求是否为异步请求;当第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识;对第一请求标识对应的第一响应数据和第二请求标识对应的第二响应数据进行拦截,查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序;获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。采用本方法能够测试覆盖率。

Description

网络请求测试方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种网络请求测试方法、装置、计算机设备和存储介质。
背景技术
在实际应用环境中,终端进行网络异步请求时,当异步响应的数据返回次序不同时,可能会造成不同的网络响应结果,如某些数据返回次序可以得到正常的响应结果,而某些数据返回次序可能会造成响应崩溃等异常响应结果。而在测试环境下,测试网络请求时需要请求方和被请求方服务器进行数据交互,且由于进行测试的请求方无法控制服务器返回数据的次序,因此,难以对网络请求的所有响应情况进行测试,测试的覆盖率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试覆盖率的网络请求测试方法、装置、计算机设备和存储介质。
一种网络请求测试方法,所述方法包括:
监控应用程序发出的第一网络请求,获取所述第一网络请求的第一请求标识;
根据所述第一请求标识判断所述第一网络请求是否为异步请求;
当所述第一网络请求为异步请求时,查找所述第一请求标识关联的第二请求标识;
对所述第一请求标识对应的第一响应数据和所述第二请求标识对应的第二响应数据进行拦截,查找所述第一请求标识对应的预设响应返回顺序,将所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序;
获取所述应用程序的第一响应结果,将所述第一响应结果与所述预设响应返回顺序对应的预设响应结果进行比较得到测试结果。
在其中一个实施例中,所述监控应用程序发出的第一网络请求之后,还包括:
对所述第一网络请求进行拦截;
所述查找所述第一请求标识关联的第二请求标识之后,还包括:
对所述第二请求标识对应的第二网络请求进行拦截;
发送拦截到的所述第一网络请求和所述第二网络请求。
在其中一个实施例中,还包括:
记录所述第二请求标识对应的第二网络请求的发送时间;
根据所述发送时间和预设响应时长得到第一预计响应时间;
当到达所述第一预计响应时间后,所述第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找所述第三网络请求对应的历史响应数据,将所述历史响应数据作为所述第三网络请求对应的当前拦截到的第三响应数据。
在其中一个实施例中,还包括:
对所述第三网络请求的第三请求标识进行记录;
所述将拦截到的所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序之后,还包括:
当监控到与记录的所述第三请求标识对应的第三响应数据时,拦截所述第三响应数据,并将所述第三响应数据添加至所述第三网络请求对应的历史响应数据中。
在其中一个实施例中,还包括:
当查找不到所述第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间;
当到达所述第二预计响应时间时还未拦截到所述第三网络请求对应的第三响应数据时,根据所述第三网络请求生成响应异常提示。
在其中一个实施例中,还包括:
所述根据所述第三网络请求生成响应异常提示之后,包括:
接收输入的模拟响应数据,将所述模拟响应数据作为所述第三网络请求对应的当前拦截到的第三响应数据;
将所述模拟响应数据记录为所述第三网络请求的历史响应数据
在其中一个实施例中,还包括:
当查找不到所述第一请求标识对应的预设响应返回顺序时,将所述第一响应数据和所述第二响应数据的返回顺序进行排列组合得到组合顺序;
将所述第一响应数据和所述第二响应数据按照各所述组合顺序返回给所述应用程序,并在所述应用程序中显示相应的组合顺序;
获取各所述组合顺序对应的所述应用程序的第二响应结果,并获取各所述组合顺序对应的输入预期结果,将所述第二响应结果与相应的输入预期结果进行比较得到测试结果。
一种网络请求测试装置,所述装置包括:
第一标识获取模块,用于监控应用程序发出的第一网络请求,获取所述第一网络请求的第一请求标识;
异步判断模块,用于根据所述第一请求标识判断所述第一网络请求是否为异步请求;
关联标识获取模块,用于当所述第一网络请求为异步请求时,查找所述第一请求标识关联的第二请求标识;
第一数据返回模块,用于对所述第一请求标识对应的第一响应数据和所述第二请求标识对应的第二响应数据进行拦截,查找所述第一请求标识对应的预设响应返回顺序,将所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序;
第一测试模块,用于获取所述应用程序的第一响应结果,将所述第一响应结果与所述预设响应返回顺序对应的预设响应结果进行比较得到测试结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述网络请求测试方法、装置、计算机设备和存储介质,当监控到应用程序发出的异步的网络请求时,查找网络请求对应的关联网络请求,对网络请求及对应的关联网络请求返回的响应数据均进行拦截,将拦截到的响应数据按照网络请求对应的预设响应返回顺序返回给应用程序,从而可以将测试人员想要测试的各种响应返回情况进行遍历测试,并实现各种分支情况的自动化测试,提高测试的覆盖率和测试效率。
附图说明
图1为一个实施例中网络请求测试方法的应用场景图;
图2为一个实施例中网络请求测试方法的流程示意图;
图3为另一个实施例中网络请求测试方法的流程示意图;
图4为一个实施例中网络请求测试装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的网络请求测试方法,可以应用于如图1所示的应用环境中。其中,测试终端通过网络与服务器进行通信。测试终端对本地应用程序向服务器发出的第一网络请求进行监控,获取第一网络请求的第一请求标识,根据第一请求标识判断第一网络请求是否为异步请求,当判断出第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识,测试终端监控服务器向应用程序返回的响应数据,并拦截与第一请求标识对应的第一响应数据及与第二请求标识对应的第二响应数据,当将第一响应数据和第二响应数据拦截完毕后,测试终端查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序,并获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。从而能够提高网络请求测试的测试覆盖率。其中,测试终端可以但不限于是各种个人计算机、笔记本电脑、平板电脑等设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网络请求测试方法,以该方法应用于图1中的测试终端为例进行说明,包括以下步骤:
步骤210,监控应用程序发出的第一网络请求,获取第一网络请求的第一请求标识。
应用程序安装在测试终端上,测试终端对应用程序运行时向服务器发出的网络访问请求进行测试。应用程序发送的网络访问请求用于同服务器进行数据交换。测试终端监控到应用程序向服务器发出第一网络请求时,获取第一网络请求的第一请求标识。第一请求标识用于对第一网络请求进行唯一标记,第一请求标识可以为代码、编号等,也可以为访问请求的地址、请求地址中的关键字符等,请求标识可以与网络请求的请求功能相对应。
步骤220,根据第一请求标识判断第一网络请求是否为异步请求。
测试终端获取异步请求表,异步请求表中存储了属于异步请求的网络请求的请求标识。测试终端从异步请求表中查找是否存在与第一请求标识相一致的请求标识,当查找到相一致的请求标识时,判断第一网络请求为异步请求,当没有查找到相一致的请求标识时,判断第一网络请求为同步请求。
同步请求是指应用程序向服务器发送多个网络请求时,服务器按照网络请求的接收顺序向应用程序逐序返回响应数据。而异步请求是指应用程序向服务器发送多个网络请求时,服务器先将多个网络请求进行接收,但是向应用程序返回响应数据的顺序不一定按照接收顺序,有可能先接收到的网络请求对应的响应数据的返回时间迟于后接收到的网络请求对应的响应数据的返回时间,即网络请求对应的响应数据的返回时间不能确定,且当前网络状况也可能对各异步请求的返回时间和返回顺序造成影响。
其中,当多个异步请求的请求数据之间具有关联关系时,多个异步请求对应的响应数据的返回顺序不同时,可能会造成应用程序不同的响应结果。例如,当应用程序向服务器请求“画图面板视图”、“画笔”、“颜色面板”三个数据用于实现“画图”的应用功能时,应用程序会向服务器发出“画图面板视图”、“画笔”、“颜色面板””三个异步请求,若服务器接收到三个异步请求后,针对三个异步请求返回响应的顺序为“画图面板视图”、“颜色面板”、“画笔”或者“颜色面板”、“画图面板视图”、“画笔”时,可以实现预设的功能,而若返回顺序为“画笔”、“画图面板视图”、“颜色面板”或“画笔”、“颜色面板”、“画图面板视图”等顺序,则可能造成应用程序响应失败或崩溃,因为应用程序接收到数据“画笔”后要执行数据“画笔”对应的画图动作,但此时还未准备好“画图面板视图”、“颜色面板”,使得画笔的画图动作无法正常进行,会导致应用程序响应失败。需要说明的是,在实际应用中应用程序请求的数据可以为其他类型的数据,上述举例只是为了便于对异步请求进行解释说明。
步骤230,当第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识。
当测试终端判断出第一网络请求为异步请求时,测试终端查找与第一请求标识相关联的第二请求标识,第二请求标识对应的第二网络请求所请求的数据与第一网络请求所请求的数据之间具有关联关系,具体地,第一网络请求对应的响应数据与第二网络请求对应的响应数据能够共同用于实现同一应用功能。第二请求标识的数量可能为一个或多个,第二请求标识对应的第二网络请求为异步请求,。第一请求标识与第二请求标识之间的映射关系事先设定并存储在测试终端上,测试终端通过获取映射关系可以查找到第一请求标识对应的第二请求标识。
步骤240,对第一请求标识对应的第一响应数据和第二请求标识对应的第二响应数据进行拦截,查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序。
终端对服务器返回的响应数据进行监控,服务器返回的响应数据中可以携带相应网络请求的请求标识,或者服务器生成与请求标识对应的响应标识,返回响应数据时携带响应标识。当测试终端监控到与第一请求标识对应的第一响应数据时将第一响应数据进行拦截,当监控到与第二请求标识对应的第二响应数据时将第二响应数据进行拦截。
当测试终端对所有的第一响应数据及第二响应数据拦截完毕后,测试终端查找第一请求标识对应的预设响应返回顺序。预设响应返回顺序中记录了第一响应数据对应的第一请求标识及第二响应数据对应的各个第二请求标识的排列顺序,预设响应返回顺序预先由测试人员设定并存储,同一个第一请求标识对应的预设响应返回顺序的数量可以为一个或多个,测试人员可能需要对多种响应数据的返回顺序进行测试,因此可以设定多个预设响应返回顺序。测试终端将第一响应数据和第二响应数据按照预设响应返回顺序中各请求标识的排列顺序返回给应用程序。
步骤250,获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。
当测试终端按照一种预设响应返回顺序向应用程序返回所有第一响应数据和第二响应数据后,获取预设响应返回顺序对应的预设响应结果,预设响应结果事先与预设响应返回顺序进行对应存储。其中,预设响应结果可以为响应页面的相关信息如响应地址、页面截图等,测试终端可以将应用程序实际响应的响应页面的相关信息与预设响应结果进行比对。测试终端将第一响应结果与预设响应结果进行比较,当二者一致时,判定该预设响应返回顺序对应的测试成功,否则判定该预设响应返回顺序对应的测试失败。
在本实施例中,可以在测试终端中或者应用程序中安装监控装置以实现上述描述的网络请求、响应数据的监控功能,响应数据的数据拦截、数据返回功能等。监控装置可以但不限于是SDK(Software Development Kit,软件开发工具包)数据包等。
在本实施例中,当测试终端监控到应用程序发出的异步的网络请求时,查找网络请求对应的关联网络请求,对网络请求及对应的关联网络请求返回的响应数据均进行拦截,将拦截到的响应数据按照网络请求对应的预设响应返回顺序返回给应用程序,从而可以将测试人员想要测试的各种响应返回情况进行遍历测试,并实现各种分支情况的自动化测试,提高测试的覆盖率和测试效率。
在一个实施例中,如图3所示,在监控应用程序发出的第一网络请求的步骤210之后,还可以包括:
步骤215:对第一网络请求进行拦截。
当测试终端监控到应用程序发出的第一网络请求进行拦截,当根据第一网络请求的第一请求标识判断出第一网络请求为同步请求时,释放拦截的第一网络请求,将第一网络请求发送给服务器;当判断出第一网络请求为异步请求时,将第一网络请求继续保持拦截状态,不继续发送给服务器。
查找第一请求标识关联的第二请求标识的步骤230之后,还可以包括:
步骤232,对第二请求标识对应的第二网络请求进行拦截。
测试终端查找到第二请求标识之后,继续监控应用程序发出的网络请求,并获取应用程序发出的各网络请求的请求标识,将获取的请求标识与第二请求标识进行比对,当获取的请求标识与其中一个第二请求标识相一致时,则判定监控到的网络请求为第二网络请求,将第二网络请求进行拦截,不继续发送给服务器。
步骤234,发送拦截到的第一网络请求和第二网络请求。
当测试终端将所有第二请求标识对应的第二网络请求拦截完毕后,测试终端再将第一网络请求和第二网络请求发送给服务器,发送的顺序不做特别限定。
在本实施例中,当测试终端监控到为异步请求的第一网络请求时,将第一网络请求暂时拦截,当测试终端后续监控到第一网络请求关联的第二网络请求时,再将第一网络请求和第二网络请求发出,保持具有数据关联性的网络请求发送的同步性,且便于监控管理。
在一个实施例中,网络请求测试方法还可以包括:记录第二请求标识对应的第二网络请求的发送时间;根据发送时间和预设响应时长得到第一预计响应时间;当到达第一预计响应时间后,第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找第三网络请求对应的历史响应数据,将历史响应数据作为第三网络请求对应的当前拦截到的第三响应数据。
测试终端查找到关联的第二请求标识之后,继续监控应用程序发出的与第二请求标识对应的第二网络请求。具体地,测试终端可以获取应用程序发出的各网络请求的请求标识,将获取的请求标识与第二请求标识进行比对,当获取的请求标识与其中一个第二请求标识相一致时,则判定监控到的网络请求为第二网络请求。测试终端将各第二网络请求的发送时间进行记录,或者记录最后一个发送出去的第二网络请求的发送时间。
测试终端获取预先存储的预设响应时长,预设响应时长为应用程序向服务器发送网络请求后,服务器向应用程序返回响应数据的最大时间间隔,预设响应时长预先有测试人员根据经验设定并存储至测试终端。测试终端在记录的最后一个发送出去的第二网络请求的发送时间的基础上加上预设响应时长计算出第一预计响应时间并设置进行时间监控。
当到达第一预计响应时间后,测试终端判断所有的第二网络请求对应的响应数据是否均被拦截到,当判断出所有响应数据均被拦截到时,不做特别处理;当判断出第二网络请求中存在没有拦截到相应响应数据的第三网络请求时,测试终端获取第三网络请求的第三请求标识,并查找与第三请求标识对应的历史响应数据,历史响应数据为第三网络请求历次进行发送时对应的服务器返回的响应结果,测试终端将历次响应结果与第三请求标识进行关联记录。测试终端从历史响应数据中抽取一个响应数据作为第三网络请求对应的当前拦截到的第三响应数据,不再继续等待服务器返回的响应顺序。需要注意的是,第二网络请求中包含第三网络请求,且最终得到的第二响应数据中包含第三响应数据。具体地,测试终端在抽取响应数据时可以随机抽取出一个响应数据,也可以抽取最后一个记录的响应数据,也可采取其他方式,在此不做特别限定。当测试终端获取到所有未拦截到响应数据的第三网络请求的历史响应数据后,可以继续执行查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序的步骤。
在本实施例中,当到达预设响应时间后第二网络请求中仍然存在未拦截到对应响应数据的第三网络请求时,测试终端直接将第三网络请求的历史响应数据作为第三网络请求本次的响应数据,不再等待实际返回的数据,从而可以节省测试时间,提高测试效率。
在一个实施例中,网络请求测试方法还可以包括:对第三网络请求的第三请求标识进行记录;将拦截到的第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序之后,还可以包括:当监控到与记录的第三请求标识对应的第三响应数据时,拦截第三响应数据,并将第三响应数据添加至第三网络请求对应的历史响应数据中。
当到达第一预计响应时间后,第二网络请求中存在尚未拦截到响应数据的第三网络请求时,测试终端获取第三网络请求的第三请求标识,并将第三请求标识进行记录。在测试终端将拦截到的第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序之后,测试终端继续监控服务器返回的与第三请求标识对应的第三响应数据,当监控到第三响应数据时,测试终端将第三响应数据拦截,不再继续向应用程序返回。测试终端查找第三请求标识对应的历史响应数据,并将拦截的第三响应数据添加至查找到的历史响应数据中。
在本实施例中,测试终端将超时响应的网络请求进行记录,在向应用程序返回响应数据后,继续监控服务器是否返回了该超时响应的网络请求对应的响应数据,当监控到时,对监控到的响应数据进行拦截并添加至该超时响应的网络请求的历史响应数据中,避免了向应用程序重复发送响应数据而造成应用程序响应应答异常。
在一个实施例中,网络请求测试方法还可以包括:当查找不到第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间;当到达第二预计响应时间时还未拦截到第三网络请求对应的第三响应数据时,根据第三网络请求生成响应异常提示。
当到达第一预计响应时间后,存在尚未拦截到响应数据的第三网络请求,且测试终端查找不到第三网络请求对应的历史响应数据时,可能由于第三网络请求是首次发送,也可能第三网络请求对应的历史响应数据未保存等原因,测试终端再次将第三网络请求发送给服务器,并记录第三网络请求再次发送的时间,测试终端获取预设响应时长,根据第三网络请求再次发送的时间和预设响应时长计算出第二预计响应时间。网络请求再次发送的预设响应时长可以与首次发送的预设响应时长相同,也可以不同。
当在未到达第二预计响应时间时测试终端已拦截到第三网络请求对应的第三响应数据时,则可以继续执行查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序的步骤;当在到达第二预计响应时间后测试终端还未拦截到第三网络请求对应的第三响应数据时,测试终端根据第三网络请求生成响应异常提示,将响应异常提示进行显示,响应异常提示中可以包括第三网络请求的第三请求标识、响应超时说明等信息。从而使得测试人员根据响应异常提示进行进一步处理,保证测试的顺利进行。
在一个实施例中,在根据第三网络请求生成响应异常提示的步骤之后,还可以包括:接收输入的模拟响应数据,将模拟响应数据作为第三网络请求对应的当前拦截到的第三响应数据;将模拟响应数据记录为第三网络请求的历史响应数据。
当测试终端生成响应异常提示并显示后,可以显示数据输入界面,数据输入界面中包括第三网络请求的相关信息如请求标识等,当有多个第三网络请求时,在数据输入界面中将各第三网络请求的第三请求标识与输入入口进行对照设置。测试人员可以通过数据输入界面输入或者模拟响应数据,模拟响应数据用来模拟第三网络请求对应的服务器返回的实际响应数据,与实际响应数据具有相同的数据格式和数据结构。测试终端通过数据输入界面接收测试人员输入的模拟响应数据并读取各模拟响应数据对应的第三请求标识,根据第三请求标识将模拟响应数据作为对应的第三网络请求的当前拦截到的第三响应数据,所有的第三网络请求对应的模拟响应数据获取完毕后,可以继续执行查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序的步骤。并将模拟响应数据与对应的第三请求标识进行关联存储,作为相应第三网络请求的历史响应数据,便于下次测试时调用。
在一个实施例中,网络请求测试方法还可以包括:当查找不到第一请求标识对应的预设响应返回顺序时,将第一响应数据和第二响应数据的返回顺序进行排列组合得到组合顺序;将第一响应数据和第二响应数据按照各组合顺序返回给应用程序,并在应用程序中显示相应的组合顺序;获取各组合顺序对应的应用程序的第二响应结果,并获取各组合顺序对应的输入预期结果,将第二响应结果与相应的输入预期结果进行比较得到测试结果。
当测试终端中预先没有设定第一请求标识对应的预设响应返回顺序时,测试终端将第一响应数据和第二响应数据的返回顺序进行排列组合得到多个顺序组合。例如,第一响应数据标识为“1”、第二响应数据有两个,标识为“2”和“3”,则将三个响应数据进行排列组合得到6种组合顺序,分别为“123”、“132”、“213”、“231”、“321”和“312”。
测试终端得到组合顺序后,将第一响应数据和第二响应数据分别按照各组合顺序返回给应用程序,从而对各种组合顺序进行遍历测试。测试终端在将各种组合顺序的响应数据返回给应用程序时,在应用程序中显示相应的组合顺序。应用程序接收到响应数据后进行响应,测试终端获取各组合顺序下应用程序的第二响应结果。测试人员在观测到第二响应结果的同时,也可以获得相应的组合顺序。显示界面中可以提供预期结果输入界面,测试人员可以通过预期结果输入界面输入或导入显示的组合顺序对应的预期结果。测试终端通道预期结果输入界面接收测试人员输入的输入预期结果,并将输入预期结果与第二响应结果进行比较,判断二者是否一致并得到测试结果,根据测试结果判断各响应数据返回顺序的测试是否正常。在其他实施例中,测试人员也可以无需输入预期结果,根据观测到的应用程序的响应结果判断测试是否异常得到测试结果,将测试结果输入至测试终端中。
在本实施例中,当测试人员没有事先设定想要测试的响应数据的返回顺序时,测试终端可以自动将各种可能的排列顺序进行遍历测试,自动化程度高并可以提高测试的覆盖率。
需要说明的是,本申请中的第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。
应该理解的是,虽然图2-3流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种网络请求测试装置,包括:第一标识获取模块、异步判断模块420、关联标识获取模块430、第一数据返回模块440和第一测试模块450,其中:
第一标识获取模块410,用于监控应用程序发出的第一网络请求,获取第一网络请求的第一请求标识。
异步判断模块420,用于根据第一请求标识判断第一网络请求是否为异步请求。
关联标识获取模块430,用于当第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识。
第一数据返回模块440,用于对第一请求标识对应的第一响应数据和第二请求标识对应的第二响应数据进行拦截,查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序。
第一测试模块450,用于获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。
在一个实施例中,装置还可以包括:
第一拦截模块,用于对第一网络请求进行拦截。
第二拦截模块,用于对第二请求标识对应的第二网络请求进行拦截。
第一请求发送模块,用于发送拦截到的第一网络请求和第二网络请求。
在一个实施例中,装置还可以包括:
时间记录模块,用于记录第二请求标识对应的第二网络请求的发送时间。
第一预计时间得到模块,用于根据发送时间和预设响应时长得到第一预计响应时间。
历史数据查询模块,用于当到达第一预计响应时间后,第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找第三网络请求对应的历史响应数据,将历史响应数据作为第三网络请求对应的当前拦截到的第三响应数据。
在一个实施例中,装置还可以包括:
标识记录模块,用于对所述第三网络请求的第三请求标识进行记录。
第三数据拦截模块,用于当监控到与记录的所述第三请求标识对应的第三响应数据时,拦截所述第三响应数据,并将所述第三响应数据添加至所述第三网络请求对应的历史响应数据中。
在一个实施例中,装置还可以包括:
请求重复模块,用于当查找不到第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间。
异常提示模块,用于当到达第二预计响应时间时还未拦截到第三网络请求对应的第三响应数据时,根据第三网络请求生成响应异常提示。
在一个实施例中,装置还可以包括:
模拟数据接收模块,用于接收输入的模拟响应数据,将模拟响应数据作为第三网络请求对应的当前拦截到的第三响应数据。
模拟数据记录模块,用于将模拟响应数据记录为第三网络请求的历史响应数据。
在一个实施例中,装置还可以包括:
组合顺序获得模块,用于当查找不到第一请求标识对应的预设响应返回顺序时,将第一响应数据和第二响应数据的返回顺序进行排列组合得到组合顺序。
顺序显示模块,用于将第一响应数据和第二响应数据按照各组合顺序返回给应用程序,并在应用程序中显示相应的组合顺序。
第二测试模块,用于获取各组合顺序对应的应用程序的第二响应结果,并获取各组合顺序对应的输入预期结果,将第二响应结果与相应的输入预期结果进行比较得到测试结果。
关于网络请求测试装置的具体限定可以参见上文中对于网络请求测试方法的限定,在此不再赘述。上述网络请求测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络请求测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:监控应用程序发出的第一网络请求,获取第一网络请求的第一请求标识;根据第一请求标识判断第一网络请求是否为异步请求;当第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识;对第一请求标识对应的第一响应数据和第二请求标识对应的第二响应数据进行拦截,查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序;获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。采用本方法能够测试覆盖率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第一网络请求进行拦截;对第二请求标识对应的第二网络请求进行拦截;发送拦截到的第一网络请求和第二网络请求。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:记录第二请求标识对应的第二网络请求的发送时间;根据发送时间和预设响应时长得到第一预计响应时间;当到达第一预计响应时间后,第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找第三网络请求对应的历史响应数据,将历史响应数据作为第三网络请求对应的当前拦截到的第三响应数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第三网络请求的第三请求标识进行记录;当监控到与记录的第三请求标识对应的第三响应数据时,拦截第三响应数据,并将第三响应数据添加至第三网络请求对应的历史响应数据中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当查找不到第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间;当到达第二预计响应时间时还未拦截到第三网络请求对应的第三响应数据时,根据第三网络请求生成响应异常提示。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收输入的模拟响应数据,将模拟响应数据作为第三网络请求对应的当前拦截到的第三响应数据;将模拟响应数据记录为第三网络请求的历史响应数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当查找不到第一请求标识对应的预设响应返回顺序时,将第一响应数据和第二响应数据的返回顺序进行排列组合得到组合顺序;将第一响应数据和第二响应数据按照各组合顺序返回给应用程序,并在应用程序中显示相应的组合顺序;获取各组合顺序对应的应用程序的第二响应结果,并获取各组合顺序对应的输入预期结果,将第二响应结果与相应的输入预期结果进行比较得到测试结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:监控应用程序发出的第一网络请求,获取第一网络请求的第一请求标识;根据第一请求标识判断第一网络请求是否为异步请求;当第一网络请求为异步请求时,查找第一请求标识关联的第二请求标识;对第一请求标识对应的第一响应数据和第二请求标识对应的第二响应数据进行拦截,查找第一请求标识对应的预设响应返回顺序,将第一响应数据和第二响应数据按照预设响应返回顺序返回给应用程序;获取应用程序的第一响应结果,将第一响应结果与预设响应返回顺序对应的预设响应结果进行比较得到测试结果。采用本方法能够测试覆盖率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第一网络请求进行拦截;对第二请求标识对应的第二网络请求进行拦截;发送拦截到的第一网络请求和第二网络请求。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:记录第二请求标识对应的第二网络请求的发送时间;根据发送时间和预设响应时长得到第一预计响应时间;当到达第一预计响应时间后,第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找第三网络请求对应的历史响应数据,将历史响应数据作为第三网络请求对应的当前拦截到的第三响应数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第三网络请求的第三请求标识进行记录;当监控到与记录的第三请求标识对应的第三响应数据时,拦截第三响应数据,并将第三响应数据添加至第三网络请求对应的历史响应数据中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当查找不到第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间;当到达第二预计响应时间时还未拦截到第三网络请求对应的第三响应数据时,根据第三网络请求生成响应异常提示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收输入的模拟响应数据,将模拟响应数据作为第三网络请求对应的当前拦截到的第三响应数据;将模拟响应数据记录为第三网络请求的历史响应数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当查找不到第一请求标识对应的预设响应返回顺序时,将第一响应数据和第二响应数据的返回顺序进行排列组合得到组合顺序;将第一响应数据和第二响应数据按照各组合顺序返回给应用程序,并在应用程序中显示相应的组合顺序;获取各组合顺序对应的应用程序的第二响应结果,并获取各组合顺序对应的输入预期结果,将第二响应结果与相应的输入预期结果进行比较得到测试结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络请求测试方法,所述方法包括:
监控应用程序发出的第一网络请求,获取所述第一网络请求的第一请求标识;
根据所述第一请求标识判断所述第一网络请求是否为异步请求;
当所述第一网络请求为异步请求时,查找所述第一请求标识关联的第二请求标识;
对所述第一请求标识对应的第一响应数据和所述第二请求标识对应的第二响应数据进行拦截,查找所述第一请求标识对应的预设响应返回顺序,将所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序;
获取所述应用程序的第一响应结果,将所述第一响应结果与所述预设响应返回顺序对应的预设响应结果进行比较得到测试结果;
记录所述第二请求标识对应的第二网络请求的发送时间;
根据所述发送时间和预设响应时长得到第一预计响应时间;
当到达所述第一预计响应时间后,所述第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找所述第三网络请求对应的历史响应数据,将所述历史响应数据作为所述第三网络请求对应的当前拦截到的第三响应数据。
2.根据权利要求1所述的方法,其特征在于,所述监控应用程序发出的第一网络请求之后,还包括:
对所述第一网络请求进行拦截;
所述查找所述第一请求标识关联的第二请求标识之后,还包括:
对所述第二请求标识对应的第二网络请求进行拦截;
发送拦截到的所述第一网络请求和所述第二网络请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第三网络请求的第三请求标识进行记录;
所述将所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序之后,还包括:
当监控到与记录的所述第三请求标识对应的第三响应数据时,拦截所述第三响应数据,并将所述第三响应数据添加至所述第三网络请求对应的历史响应数据中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当查找不到所述第三网络请求对应的历史响应数据时,再次发送第三网络请求并计算第二预计响应时间;
当到达所述第二预计响应时间时还未拦截到所述第三网络请求对应的第三响应数据时,根据所述第三网络请求生成响应异常提示。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第三网络请求生成响应异常提示之后,包括:
接收输入的模拟响应数据,将所述模拟响应数据作为所述第三网络请求对应的当前拦截到的第三响应数据;
将所述模拟响应数据记录为所述第三网络请求的历史响应数据。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当查找不到所述第一请求标识对应的预设响应返回顺序时,将所述第一响应数据和所述第二响应数据的返回顺序进行排列组合得到组合顺序;
将所述第一响应数据和所述第二响应数据按照各所述组合顺序返回给所述应用程序,并在所述应用程序中显示相应的组合顺序;
获取各所述组合顺序对应的所述应用程序的第二响应结果,并获取各所述组合顺序对应的输入预期结果,将所述第二响应结果与相应的输入预期结果进行比较得到测试结果。
7.一种网络请求测试装置,其特征在于,所述装置包括:
第一标识获取模块,用于监控应用程序发出的第一网络请求,获取所述第一网络请求的第一请求标识;
异步判断模块,用于根据所述第一请求标识判断所述第一网络请求是否为异步请求;
关联标识获取模块,用于当所述第一网络请求为异步请求时,查找所述第一请求标识关联的第二请求标识;
第一数据返回模块,用于对所述第一请求标识对应的第一响应数据和所述第二请求标识对应的第二响应数据进行拦截,查找所述第一请求标识对应的预设响应返回顺序,将所述第一响应数据和所述第二响应数据按照所述预设响应返回顺序返回给所述应用程序;
第一测试模块,用于获取所述应用程序的第一响应结果,将所述第一响应结果与所述预设响应返回顺序对应的预设响应结果进行比较得到测试结果;
时间记录模块,用于记录所述第二请求标识对应的第二网络请求的发送时间;
第一预计时间得到模块,用于根据所述发送时间和预设响应时长得到第一预计响应时间;
历史数据查询模块,用于当到达所述第一预计响应时间后,所述第二网络请求中存在尚未拦截到响应数据的第三网络请求时,查找所述第三网络请求对应的历史响应数据,将所述历史响应数据作为所述第三网络请求对应的当前拦截到的第三响应数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一拦截模块,用于监控应用程序发出的第一网络请求之后,对所述第一网络请求进行拦截;
第二拦截模块,用于查找所述第一请求标识关联的第二请求标识之后,对所述第二请求标识对应的第二网络请求进行拦截;
第一请求发送模块,用于发送拦截到的所述第一网络请求和所述第二网络请求。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201810428406.8A 2018-05-07 2018-05-07 网络请求测试方法、装置、计算机设备和存储介质 Active CN108848000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810428406.8A CN108848000B (zh) 2018-05-07 2018-05-07 网络请求测试方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810428406.8A CN108848000B (zh) 2018-05-07 2018-05-07 网络请求测试方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108848000A CN108848000A (zh) 2018-11-20
CN108848000B true CN108848000B (zh) 2021-05-11

Family

ID=64212729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810428406.8A Active CN108848000B (zh) 2018-05-07 2018-05-07 网络请求测试方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108848000B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871251B (zh) * 2019-01-17 2023-12-29 平安科技(深圳)有限公司 一种响应数据的处理方法、装置、存储介质及终端设备
CN109587013B (zh) * 2019-01-18 2022-08-19 深圳壹账通智能科技有限公司 App网络兼容性测试方法、装置、计算机设备及存储介质
CN110069395B (zh) * 2019-03-12 2023-07-25 平安科技(深圳)有限公司 一种模拟异步接口的方法、装置、存储介质及计算机设备
CN110008118B (zh) * 2019-03-13 2023-03-10 深圳壹账通智能科技有限公司 页面数据测试方法、装置、计算机设备和存储介质
CN113835912B (zh) * 2020-06-24 2024-02-09 北京新氧科技有限公司 应用程序的崩溃信息处理方法及设备
CN113726770B (zh) * 2021-08-30 2023-06-30 平安国际融资租赁有限公司 数据拦截方法、装置、计算机设备及存储介质
CN113992543A (zh) * 2021-10-29 2022-01-28 建信金融科技有限责任公司 一种响应报文发送方法、装置、设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833125A (zh) * 2011-06-17 2012-12-19 腾讯科技(深圳)有限公司 测试服务器、采用该测试服务器的测试***及其测试方法
JP2015210791A (ja) * 2014-04-30 2015-11-24 富士通株式会社 分散処理装置、分散処理システム、および分散処理プログラム
CN107070735B (zh) * 2016-12-30 2018-04-20 上海壹账通金融科技有限公司 异步接口测试的方法、测试终端及***
CN107294803A (zh) * 2017-06-15 2017-10-24 北京小度信息科技有限公司 响应信息一致性测试方法及装置

Also Published As

Publication number Publication date
CN108848000A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108848000B (zh) 网络请求测试方法、装置、计算机设备和存储介质
CN109672741B (zh) 微服务监控方法、装置、计算机设备和存储介质
CN110008118B (zh) 页面数据测试方法、装置、计算机设备和存储介质
CN109766256B (zh) 应用程序中h5页面性能测试方法、装置和计算机设备
CN110162453B (zh) 测试方法、装置、计算机可读存储介质和计算机设备
CN111475376A (zh) 处理测试数据的方法、装置、计算机设备和存储介质
CN109726134B (zh) 接口测试方法和***
CN110941555A (zh) 测试用例推荐方法、装置、计算机设备和存储介质
CN110990183A (zh) 数据库集群的异常检测方法、装置、计算机可读存储介质
CN112000903B (zh) 数据查询方法、装置、计算机设备和存储介质
CN112637008B (zh) 链路模拟测试方法、装置、***、计算机设备和存储介质
CN111026647B (zh) 代码覆盖率的获取方法、装置、计算机设备和存储介质
CN110781070A (zh) 大数据测试验证方法、装置、计算机设备及存储介质
CN109542764B (zh) 网页自动化测试方法、装置、计算机设备和存储介质
CN110798376A (zh) 接口测试方法、装置、计算机设备和存储介质
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN108052440B (zh) 对业务***操作逻辑的修正方法、装置、设备和存储介质
CN114328243A (zh) 一种异常运行数据的处理方法、装置、设备和存储介质
WO2019153978A1 (zh) 终端指纹测试方法、装置、计算机设备和存储介质
CN103838651A (zh) 主板功能测试管控***及方法
CN113419968B (zh) 应用测试方法、装置、电子设备及存储介质
CN111176986A (zh) 线程脚本调试方法、装置、计算机设备和存储介质
CN112817816B (zh) 埋点处理方法、装置、计算机设备和存储介质
CN111625835B (zh) 程序漏洞路径追踪方法、装置、计算机设备及存储介质
CN110798678B (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