一种模拟测试的方法、装置及存储介质与流程

文档序号:14749821发布日期:2018-06-22 11:28阅读:210来源:国知局

本发明涉及自动化测试领域,特别是涉及一种模拟测试的方法、装置及存储介质。



背景技术:

在应用程序(APP,Application)的线下测试或线上演练过程中,需要关注的对象和服务往往会依赖很多内部方法和或外部接口服务,模拟(mock)测试是以可控的方式模拟这些内部方法和或外部接口服务的依赖,以便验证APP在可能存在的各种状态下是否可提供稳定可靠的服务。

现有的技术方案是在测试时,使用计算机端的代理软件(例如超文本传输协议(HTTP,HyperText Transfer Protocol)监视器Charles、代理抓包工具Fiddler等)开发代理端口,在代理软件中截获APP的测试请求,并手动修改测试请求中请求的HTTP的响应结果。

现有技术的mock测试过程需要人工参与,通过手动修改的方式模拟HTTP响应结果,但是在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低。



技术实现要素:

本发明提供一种模拟测试的方法、装置及存储介质,用以解决现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

为解决上述技术问题,一方面,本发明提供一种模拟测试的方法,包括:接收第一预定用户设备发送的测试请求,其中,所述测试请求中至少包括测试请求地址;根据所述测试请求地址在预设模拟mock规则中获取预设响应内容,并向所述第一预定用户设备返回所述预设响应内容。

可选的,根据所述测试请求地址在预设mock规则中获取预设响应内容,包括:检测所述预设mock规则中是否存在与所述测试请求地址相同的mock请求地址;在所述预设mock规则中存在与所述测试请求地址相同的mock请求地址的情况下,在所述预设mock规则中获取所述预设响应内容,其中,所述预设响应内容为所述mock请求地址对应的响应内容。

可选的,检测所述预设mock规则中是否存在与所述测试请求地址相同的mock请求地址之后,还包括:在所述预设mock规则中不存在与所述请求地址相同的mock请求地址的情况下,将所述测试请求转发至所述测试请求地址对应的服务器。

可选的,接收第一预定用户设备发送的测试请求之前,还包括:建立与第一预定用户设备之间的连接。

可选的,接收第一预定用户设备发送的测试请求之前,还包括:接收第二预定用户设备发送的所述预设mock规则,并保存所述预设mock规则。

可选的,接收第一预定用户设备发送的测试请求,包括:接收第一预定用户设备发送的访问预设端口的测试请求。

另一方面,本发明还提供一种模拟测试的装置,包括:请求接收模块,用于接收第一预定用户设备发送的测试请求,其中,所述测试请求中至少包括测试请求地址;获取模块,用于根据所述测试请求地址在预设mock规则中获取预设响应内容;反馈模块,用于向所述第一预定用户设备返回所述预设响应内容。

可选的,所述获取模块,包括:检测单元,用于检测所述预设mock规则中是否存在与所述测试请求地址相同的mock请求地址;获取单元,用于在所述预设mock规则中存在与所述测试请求地址相同的mock请求地址的情况下,在所述预设mock规则中获取所述预设响应内容,其中,所述预设响应内容为所述mock请求地址对应的响应内容。

可选的,所述获取模块,还包括:转发单元,用于在所述预设mock规则中不存在与所述请求地址相同的mock请求地址的情况下,将所述测试请求转发至所述测试请求地址对应的服务器。

可选的,还包括:连接模块,用于建立与第一预定用户设备之间的连接。

可选的,还包括:规则接收模块,用于接收第二预定用户设备发送的所述预设mock规则,并保存所述预设mock规则。

可选的,所述请求接收模块,具体用于:接收第一预定用户设备发送的访问预设端口的测试请求。

另一方面,本发明实施例还提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述模拟测试的方法的步骤。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能在预设的mock规则中自动获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

附图说明

图1是本发明第一实施例中模拟测试的方法流程图;

图2是本发明第二实施例中模拟测试的方法流程图;

图3是本发明第三实施例中模拟测试的方法流程图;

图4是本发明第四实施例中模拟测试的方法流程图;

图5是本发明第五实施例中模拟测试的方法流程图;

图6是本发明第六实施例中模拟测试装置的结构示意图;

图7是本发明第七实施例中模拟测试装置的结构示意图;

图8是本发明第八实施例中模拟测试装置的结构示意图;

图9是本发明第九实施例中模拟测试装置的结构示意图;

图10是本发明第十一实施例中智能路由器的工作流程示意图。

具体实施方式

为了解决现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题,本发明提供了一种模拟测试的方法、装置及存储介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明第一实施例提供了一种模拟测试的方法,该方法的流程如图1所示,包括步骤S101至S102:

S101,接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的互联网协议地址(IP地址,Internet Protocol Address)不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、用户体验设计团队(UED,User Experience Design)等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

S102,根据测试请求地址在预设mock规则中获取预设响应内容,并向第一预定用户设备返回预设响应内容。

在获取测试请求地址之后,根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址(即测试人员确定的需要在测试时反馈预设响应内容的地址)和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,获取测试请求地址之后,可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,实现响应内容的自动获取和反馈。

具体实现时,本发明实施例的执行主体可以为路由器、服务器等可以进行测试请求获取和结果反馈的网络设备。优选地,本发明实施例所提供的模拟测试的方法可以作为代理服务搭建在路由器或服务器上,在可以实现路由器或服务器原有功能的情况下,进一步实现模拟测试的功能。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明第二实施例提供了一种模拟测试的方法,该方法的流程如图2所示,包括步骤S201至S205:

S201,接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的IP地址不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、UED等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

S202,检测预设mock规则中是否存在与测试请求地址相同的mock请求地址,若存在,则执行步骤S203,若不存在,则执行S204。

本发明实施例在实现时,在获取测试请求地址对应的预设响应内容时,会首先检测预设mock规则中是否存在与第一预定用户设备的测试请求中包含的测试请求地址相同的mock请求地址,以保证在反馈预设响应内容时可以返回正确的响应内容。具体地,mock规则中包括多个mock请求地址和上述多个mock请求地址对应的预设响应内容。

S203,在预设mock规则中获取预设响应内容,其中,预设响应内容为mock请求地址对应的响应内容。

在本发明实施例中,只有在预设mock规则中存在与测试请求地址相同的mock请求地址的情况下,才可以针对该测试请求地址反馈预设响应内容,以保证反馈的预设响应内容为第一预定用户设备希望得到的响应内容。应当了解的是,针对该测试请求地址反馈的预设响应内容是与测试请求地址相同的mock测试地址对应的响应内容。

S204,将测试请求转发至测试请求地址对应的服务器。

在本发明实施例中,在预设mock规则中不存在与测试请求地址相同的mock请求地址的情况下,说明该测试请求中的测试请求地址不需要进行mock测试,此时直接根据测试请求中的测试请求地址,将该测试请求转发至测试请求地址对应的服务器上,使其访问真正的测试地址。

S205,向第一预定用户设备返回预设响应内容。

在预设mock规则中存在与测试请求地址相同的mock请求地址的情况下,将获取的预设响应内容反馈至第一预定用户设备;在预设mock规则中不存在与测试请求地址相同的mock请求地址的情况下,接收真实服务器上反馈的响应结果,并将该响应结果作为预设响应内容发送至第一预定用户设备。

具体实现时,本发明实施例的执行主体可以为路由器、服务器等可以进行测试请求获取和结果反馈的网络设备。优选地,本发明实施例所提供的模拟测试的方法可以作为代理服务搭建在路由器或服务器上,在可以实现路由器或服务器原有功能的情况下,进一步实现模拟测试的功能。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明第三实施例提供了一种模拟测试的方法,该方法的流程如图3所示,包括步骤S301至S303:

S301,建立与第一预定用户设备之间的连接。

为了方便各级用户(测试人员、产品经理和UED等)均可以进行mock测试,且不需要通过手动修改响应结果,在开始测试之前需要与用户使用的用户设备建立连接。具体地,本发明实施例中提到的第一预定用户设备为各级用户使用的安装有待测试App的移动终端,且在本发明实施例中,在同一时间可以与多个用户设备同时建立连接,用户设备之间不存在冲突,可以满足多个用户同时进行测试。

具体实现时,本发明实施例的执行主体可以为路由器、服务器等可以进行测试请求获取和结果反馈的网络设备。优选地,本发明实施例所提供的模拟测试的方法可以作为代理服务搭建在路由器或服务器上,在可以实现路由器或服务器原有功能的情况下,进一步实现模拟测试的功能。在本发明实施例的执行为路由器的情况下,测试人员可直接将用户设备通过路由器的热点连接至路由器,方便后续模拟测试的进行。

S302,接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的IP地址不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、UED等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

S303,根据测试请求地址在预设mock规则中获取预设响应内容,并向第一预定用户设备返回预设响应内容。

在获取测试请求地址之后,根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,获取测试请求地址之后,可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,实现响应内容的自动获取和反馈。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明第四实施例提供了一种模拟测试的方法,该方法的流程图如图4所示,包括步骤S401至S403:

S401,接收第二预定用户设备发送的预设mock规则,并保存预设mock规则。

在本发明实施例中,进行mock测试之前,首先需要测试人员对mock规则进行预先设置,以保证在测试时可以直接获取响应结果,不需要临时设置或手动修改,并且在接收到测试人员设置的预设mock规则后,将该预设mock规则进行保存。具体地,测试人员使用的第二预定用户设备可以与第一预定用户设备相同,也可以不同;在进行预设mock规则的保存时,可以直接在本地进行保存,也可以将预设mock规则保存在专用的规则数据库中。

具体实现时,本发明实施例的执行主体可以为路由器、服务器等可以进行测试请求获取和结果反馈的网络设备。优选地,本发明实施例所提供的模拟测试的方法可以作为代理服务搭建在路由器或服务器上,在可以实现路由器或服务器原有功能的情况下,进一步实现模拟测试的功能。

S402,接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的IP地址不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、UED等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

S403,根据测试请求地址在预设mock规则中获取预设响应内容,并向第一预定用户设备返回预设响应内容。

在获取测试请求地址之后,根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,预设mock规则为保存在本地或保存在规则数据库中的,预设mock规则中具体包括mock请求地址和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,获取测试请求地址之后,可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,实现响应内容的自动获取和反馈。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明第五实施例提供了一种模拟测试的方法,该方法的流程如图5所示,包括步骤S501至S502:

S501,接收第一预定用户设备发送的访问预设端口的测试请求,其中,测试请求中至少包括测试请求地址。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的互联网协议地址(IP地址,Internet Protocol Address)不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、用户体验设计团队(UED,User Experience Design)等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,该测试请求为访问预设端口的测试请求,预设端口是测试人员根据测试目的预先设置的,如测试人员希望测试待测App有关访问HTTP服务或万维网(WWW,World Wide Web)代理服务的功能时,则将预设端口设为80端口或8080端口。

具体实现时,本发明实施例的执行主体可以为路由器、服务器等可以进行测试请求获取和结果反馈的网络设备。优选地,本发明实施例所提供的模拟测试的方法可以作为代理服务搭建在路由器或服务器上,在可以实现路由器或服务器原有功能的情况下,进一步实现模拟测试的功能。

S502,根据测试请求地址在预设mock规则中获取预设响应内容,并向第一预定用户设备返回预设响应内容。

在获取测试请求地址之后,根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址(即测试人员确定的需要在测试时反馈预设响应内容的地址)和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,获取测试请求地址之后,可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,实现响应内容的自动获取和反馈。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明的第六实施例提供了一种模拟测试的装置,其结构示意图如图6所示,包括:请求接收模块10,用于接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址;获取模块11,与请求接收模块10耦合,用于根据测试请求地址在预设模拟mock规则中获取预设响应内容;反馈模块12,与获取模块11耦合,用于向第一预定用户设备返回预设响应内容。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的IP地址不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、UED等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,请求接收模块会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

在请求接收模块获取测试请求地址之后,获取模块根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,请求接收模块获取测试请求地址之后,获取模块可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,并通过反馈模块响应内容反馈至第一预定用户,实现响应内容的自动获取和反馈。

具体地,请求接收模块接收的测试请求为访问预设端口的测试请求,预设端口是测试人员根据测试目的预先设置的,如测试人员希望测试待测App有关访问HTTP服务或WWW代理服务的功能时,则将预设端口设为80端口或8080端口。

具体实现时,本发明实施例提供的模拟测试的装置可以安装在路由器、服务器等可以进行测试请求获取和结果反馈的网络设备上,可以实现路由器或服务器原有功能的情况下,达到进一步实现模拟测试的功能的目的。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明的第七实施例提供了一种模拟测试的装置,其结构示意图如图7所示,包括:请求接收模块10,用于接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址;获取模块11,与请求接收模块10耦合,用于根据测试请求地址在预设模拟mock规则中获取预设响应内容;反馈模块12,与获取模块11耦合,用于向第一预定用户设备返回预设响应内容;其中,获取模块11包括:检测单元111,用于检测预设mock规则中是否存在与测试请求地址相同的mock请求地址;获取单元112,与检测单元111耦合,用于在预设mock规则中存在与测试请求地址相同的mock请求地址的情况下,在预设mock规则中获取预设响应内容,其中,预设响应内容为mock请求地址对应的响应内容;转发单元113,与检测单元111耦合,用于在预设mock规则中不存在与请求地址相同的mock请求地址的情况下,将测试请求转发至测试请求地址对应的服务器。

现有技术中进行模拟测试的操作过程繁琐,需要测试人员频繁地修改代理软件的配置,尤其是计算机端的IP地址不固定时,每次测试的时候都需要在代理软件上重新使用新的IP地址进行连接,严重影响了测试的效率。并且进一步地,当产品经理、UED等非技术人员在进行验收操作时,由于现有的测试操作复杂,可能导致无法进行验收的操作。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

基于上述考虑,本发明实施例在实现时,请求接收模块会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

在请求接收模块获取测试请求地址之后,检测单元检测在预设mock规则中是否存在与测试请求地址相同的mock请求地址,以保证在反馈预设响应内容时可以返回正确的响应内容。在预设mock规则中存在与测试请求地址相同的mock请求地址的情况下,获取单元在预设mock规则中获取该mock请求地址对应的响应内容,作为预设响应内容;在预设mock规则中不存在与测试请求地址相同的mock请求地址的情况下,说明该测试请求中的测试请求地址不需要进行mock测试,此时转发单元直接根据测试请求中的测试请求地址,将该测试请求转发至测试请求地址对应的服务器上,使其访问真正的测试地址。

具体实现时,本发明实施例提供的模拟测试的装置可以安装在路由器、服务器等可以进行测试请求获取和结果反馈的网络设备上,可以实现路由器或服务器原有功能的情况下,达到进一步实现模拟测试的功能的目的。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明的第八实施例提供了一种模拟测试的装置,其结构示意图如图8所示,包括:请求接收模块10,用于接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址;获取模块11,与请求接收模块10耦合,用于根据测试请求地址在预设模拟mock规则中获取预设响应内容;反馈模块12,与获取模块11耦合,用于向第一预定用户设备返回预设响应内容;连接模块13,与请求接收模块10耦合,用于建立与第一预定用户设备之间的连接。

为了方便各级用户(测试人员、产品经理和UED等)均可以进行mock测试,且不需要通过手动修改响应结果,在开始测试之前连接模块需要与用户使用的用户设备建立连接。具体地,本发明实施例中提到的第一预定用户设备为各级用户使用的安装有待测试App的移动终端,且在本发明实施例中,连接模块在同一时间可以与多个用户设备同时建立连接,用户设备之间不存在冲突,可以满足多个用户同时进行测试。

具体实现时,本发明实施例提供的模拟测试的装置可以安装在路由器、服务器等可以进行测试请求获取和结果反馈的网络设备上,可以实现路由器或服务器原有功能的情况下,达到进一步实现模拟测试的功能的目的。在本发明实施例的执行为路由器的情况下,测试人员可直接将用户设备通过路由器的热点连接至路由器,方便后续模拟测试的进行。

本发明实施例在实现时,请求接收模块会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

在请求接收模块获取测试请求地址之后,获取模块根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,请求接收模块获取测试请求地址之后,获取模块可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,并通过反馈模块响应内容反馈至第一预定用户,实现响应内容的自动获取和反馈。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明的第九实施例提供了一种模拟测试的装置,其结构示意图如图8所示,包括:请求接收模块10,用于接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址;获取模块11,与请求接收模块10耦合,用于根据测试请求地址在预设模拟mock规则中获取预设响应内容;反馈模块12,与获取模块11耦合,用于向第一预定用户设备返回预设响应内容;规则接收模块14,用于接收第二预定用户设备发送的预设mock规则,并保存预设mock规则。

在本发明实施例中,进行mock测试之前,首先需要测试人员对mock规则进行预先设置,以保证在测试时可以直接获取响应结果,不需要临时设置或手动修改,并且在规则接收模块接收到测试人员设置的预设mock规则后,将该预设mock规则进行保存。具体地,测试人员使用的第二预定用户设备可以与第一预定用户设备相同,也可以不同;在规则接收模块进行预设mock规则的保存时,可以直接在本地进行保存,也可以将预设mock规则保存在专用的规则数据库中。

本发明实施例在实现时,请求接收模块会首先接收第一预定用户设备发送的测试请求,该测试请求中可以包括测试请求地址。具体地,第一预定用户设备可以为任何需要进行测试的人员使用,包括但不限于测试人员、产品经理和UED等。

在请求接收模块获取测试请求地址之后,获取模块根据测试请求地址在预设mock规则中获取该测试请求地址对应的响应内容。具体地,mock规则中包括mock请求地址和测试人员设置的该mock请求地址对应的响应内容。由于mock规则已经在测试之前预先设置完毕,请求接收模块获取测试请求地址之后,获取模块可自动地在预设的mock规则中获取该测试请求地址对应的响应内容,并通过反馈模块响应内容反馈至第一预定用户,实现响应内容的自动获取和反馈。

具体实现时,本发明实施例提供的模拟测试的装置可以安装在路由器、服务器等可以进行测试请求获取和结果反馈的网络设备上,可以实现路由器或服务器原有功能的情况下,达到进一步实现模拟测试的功能的目的。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

本发明的第十实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤:

S1,接收第一预定用户设备发送的测试请求,其中,测试请求中至少包括测试请求地址;

S2,根据测试请求地址在预设mock规则中获取预设响应内容,并向第一预定用户设备返回预设响应内容。

本发明实施例为了简化模拟测试的步骤,需要预先设置好可能用到的mock规则,在对App进行mock测试时,如果可以自动从预设mock规则中直接获取对应的响应结果,就可以省去测试人员手动修改的步骤,提高测试效率。

在计算机程序在被处理器执行根据测试请求地址在预设模拟mock规则中获取预设响应内容的步骤时,具体实现如下步骤:检测预设mock规则中是否存在与测试请求地址相同的mock请求地址;在预设mock规则中存在与测试请求地址相同的mock请求地址的情况下,在预设mock规则中获取预设响应内容,其中,预设响应内容为mock请求地址对应的响应内容。具体地,当计算机程序在被处理器执行检测预设mock规则中是否存在与测试请求地址相同的mock请求地址的步骤之后,还被处理器执行以下步骤:在预设mock规则中不存在与请求地址相同的mock请求地址的情况下,将测试请求转发至测试请求地址对应的服务器。

当计算机程序在被处理器执行接收第一预定用户设备发送的测试请求的步骤之前,还被处理器执行以下步骤:建立与第一预定用户设备之间的连接。以方便各级用户均可以进行mock测试,且不需要通过手动修改响应结果。

可选地,计算机程序在被处理器执行接收第一预定用户设备发送的测试请求的步骤之前,还被处理器执行以下步骤:接收第二预定用户设备发送的预设mock规则,并保存预设mock规则。即通过预先设置mock规则,保证在测试时可以直接获取响应结果,不需要临时设置或手动修改。

具体地,在计算机程序在被处理器执行接收第一预定用户设备发送的测试请求的步骤时,具体实现如下步骤:接收第一预定用户设备发送的访问预设端口的测试请求。

本发明实施例在进行模拟测试时,会接收第一预定用户设备发送的测试请求,并根据测试请求中的测试请求地址,在预设的mock规则中自动获取相应的预设响应内容,并在获取预设响应内容后将预设响应内容反馈至第一预定用户设备。本发明实施例在进行模拟测试时,不需要通过测试人员进行手动修改响应结果就能获取预先设置好的响应内容,简化了模拟测试的步骤,提高了模拟测试的效率,解决了现有技术在每次进行模拟测试时都需要通过代理软件进行手动修改响应结果,使测试步骤繁琐,测试效率降低的问题。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

本发明的第十一实施例提供了一种智能路由器,在该路由器中存在代理服务(如中间人代理工具mitmproxy),上述代理服务为根据本发明第一实施例提供的方法搭建而成的,下面结合图10对该智能路由器的工作流程进行详细描述。

路由器与规则数据库建立连接,用户可以通过规则数据库上开放的设置界面添加mock规则,或通过路由器将预设的mock规则发送至规则数据库中。并且,测试人员预先在路由器中的路由(router)服务上设置跳转端口,将router上接收到的所有访问80端口和8080端口的请求重定向至mitmproxy。应当了解的是,测试人员可以设置的跳转端口不限于上述设置的80端口和8080端口,在实际设置时,应当根据实际的测试需求,对跳转端口进行设置,如需要对安全套接字层上的超文本传输协议(HTTPS,Hyper Text Transfer Protocol over Secure Socket Layer)请求进行mock时,则在跳转端口设置将router上接收到的所有访问443端口的请求重定向至mitmproxy。

用户设备A和用户设备B通过路由器共享的热点连接至路由器,并向路由器发送测试请求A和测试请求B,且测试请求A和测试请求B均为访问80端口的测试请求,则router将测试请求A和测试请求B均重定向至mitmproxy。

mitmproxy发现测试请求A的测试请求地址为www.baidu.com,该地址在规则数据库中不存在,则mitmproxy将测试请求A转发至www.baidu.com对应的真实服务器上,并将真实服务器反馈的响应结果A反馈至用户设备A;mitmproxy发现测试请求B的测试请求地址为www.google.com,该地址在规则数据库中存在,并且对应的响应内容为“hello world”,则获取并将“hello world”作为响应结果B反馈给用户B。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1