CN109683997B - 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 - Google Patents
通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 Download PDFInfo
- Publication number
- CN109683997B CN109683997B CN201811571710.4A CN201811571710A CN109683997B CN 109683997 B CN109683997 B CN 109683997B CN 201811571710 A CN201811571710 A CN 201811571710A CN 109683997 B CN109683997 B CN 109683997B
- Authority
- CN
- China
- Prior art keywords
- interface
- application program
- client
- sandbox
- access
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种通过沙箱访问应用程序接口的方法、沙箱和沙箱设备。该方法包括:沙箱获取并保存客户端的应用程序访问配置信息,该应用程序访问配置信息与客户端的唯一标识对应,包括应用程序访问接口信息;该沙箱接收客户端应用程序发送的应用程序接口访问请求,该访问请求中包括客户端的唯一标识;沙箱根据客户端的唯一标识查询已保存的应用程序访问配置信息,获得与该客户端的唯一标识对应的应用程序访问接口信息;该沙箱根据获得的应用程序访问接口信息确定该客户端访问的应用程序接口,当确定该客户端访问的应用程序接口不为假接口时,沙箱访问确定的应用程序接口。
Description
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及一种测试环境中沙箱接口的方法、沙箱以及沙箱设备。
背景技术
在移动互联网时代,开发移动应用程序(Application ,APP)成为大多数公司的首选。一般而言,移动APP需要有云端服务配合来满足用户的各种需要,而移动应用程序正是通过应用程序编程接口(Application Programming Interface,API)来访问云端服务的,所以API接口对于移动APP而言至关重要。
一般而言,产品会经过开发和测试再发布到生产环境,所以API接口对应也会有三套环境,即开发环境、测试环境和生产环境,不同的环境下,API接口的访问路径肯定是不一样的。目前常规的做法是,通过修改APP的代码来指定不同环境的访问路径,这种做法操作复杂,每次切换操作环境,都需要修改APP的代码,重新编译APP。如果错误地发布了开发环境的APP或者测试环境的APP,必然导致用户无法正常使用APP,对产品造成很坏的影响。
发明内容
本发明实施例提供一种通过沙箱访问应用程序接口的方法、沙箱及沙箱设备。
本发明实施例第一方面,提供一种沙箱访问应用程序接口的方法,包括:
沙箱获取并保存客户端的应用程序访问配置信息,该应用程序访问配置信息与客户端的唯一标识对应,包括应用程序访问接口信息;
该沙箱接收客户端应用程序发送的应用程序接口访问请求,该访问请求中包括客户端的唯一标识;
沙箱根据客户端的唯一标识查询已保存的应用程序访问配置信息,获得与该客户端的唯一标识对应的应用程序访问接口信息;
该沙箱根据获得的应用程序访问接口信息确定该客户端访问的应用程序接口,当确定该客户端访问的应用程序接口不为假接口时,沙箱访问确定的应用程序接口。
在本发明实施例中,通过沙箱访问预先配置的应用程序接口,在开发或测试环境中,不需要修改APP代码,而是通过沙箱进行应用程序接口访问,可以灵活的在开发接口、测试接口、正式接口等接口进行访问切换;同时因为APP代码只有一份,编译后的版本只有一份,所以也避免了错误发布APP版本的情况。
在一些可能的实现方式中,应用程序访问接口信息包括:客户端访问的应用程序接口是否为假接口;以及,当不为假接口时,所述客户端访问的应用程序接口路径。
沙箱根据应用程序访问接口信息中的应用程序接口路径访问确定的应用程序接口;应用程序接口路径为以下接口之一的路径:开发接口、测试接口、正式接口。
在一些可能的实现方式中,沙箱包括假接口,沙箱根据获得的应用程序访问接口信息确定所述客户端访问的应用程序接口具体为:沙箱确定客户端访问的应用程序接口是否为假接口;当为假接口时,沙箱向该客户端应用程序返回静态数据。
在一些可能的实现方式中,应用程序访问配置信息还包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息;当确定该客户端访问的应用程序接口为假接口时,沙箱根据查询得到的所述应用程序访问配置信息向该客户端应用程序返回模拟动态数据。
通过在沙箱中设置假接口向客户端应用程序返回静态数据或模拟动态数据,可以实现开发过程中应用程序和应用程序接口并行开发。
本发明实施例第二方面,提供了一种沙箱,包括获取模块、存储模块和调度模块;
获取模块用于获取客户端的应用程序访问配置信息,该应用程序访问配置信息与该客户端的唯一标识对应,包括应用程序访问接口信息;
存储模块用于存储获取模块获取的客户端的应用程序访问配置信息;
调度模块用于接收客户端应用程序发送的应用程序接口访问请求,该访问请求中包括所述客户端的唯一标识;
调度模块还用于根据客户端的唯一标识查询存储模块中保存的应用程序访问配置信息,获得与该客户端的唯一标识对应的应用程序访问接口信息;
调度模块还用于根据应用程序访问接口信息确定客户端访问的应用程序接口,当确定客户端访问的应用程序接口不为假接口时,访问确定的应用程序接口。
在本发明实施例中,通过沙箱访问预先配置的应用程序接口,在开发或测试环境中,不需要修改APP代码,而是通过沙箱进行应用程序接口访问,可以灵活的在开发接口、测试接口、正式接口等接口进行访问切换;同时因为APP代码只有一份,编译后的版本只有一份,所以也避免了错误发布APP版本的情况。
在一些可能的实现方式中,应用程序访问接口信息包括:所述客户端访问的应用程序接口是否为假接口;以及,当不为假接口时,所述客户端访问的应用程序接口路径;
调度模块根据应用程序访问接口信息中的应用程序接口路径访问确定的应用程序接口;
应用程序接口路径为以下接口之一的路径:开发接口、测试接口、正式接口。
在一些可能的实现方式中,沙箱还包括假接口模块,调度模块根据应用程序访问接口信息确定所述客户端访问的应用程序接口为:所述调度模块确定客户端访问的应用程序接口是否为假接口;当为假接口时,调度模块通知假接口模块向客户端应用程序返回静态数据。
在一些可能的实现方式中,应用程序访问配置信息还包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息;当调度模块确定客户端访问的应用程序接口为假接口时, 假接口模块根据调度模块查询得到的应用程序访问配置信息向客户端应用程序返回模拟动态数据。
通过在沙箱中设置假接口向客户端应用程序返回静态数据或模拟动态数据,可以实现开发过程中应用程序和应用程序接口并行开发。
本发明实施例第三方面,提供了一种沙箱设备,包括处理器和存储器,其中,该存储器包括第二方面的沙箱。
本发明实施例第四方面,提供了一种沙箱设备,包括处理器和存储器,该存储器用于存储指令,该处理器用于执行该指令,该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
本发明实施例第五方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的沙箱的示意性框图;
图2是本发明实施例的通过沙箱访问应用程序接口的方法的流程图;
图3是本发明实施例的沙箱的结构示意图;
图4是本发明实施例的沙箱的另一个结构示意图;
图5是本发明实施例通过沙箱访问应用程序接口的方法的另一个流程图。
具体实施方式
下面结合附图对本发明实施例的优选实施例进行详细阐述,以使本发明实施例的优点和特征能更易于被本领域技术人员理解,从而对本发明实施例保护范围做出更为清楚明确的界定。
参图1所示,为本发明实施例采用的沙箱设备的示意图。
如图1所示,沙箱设备100包括处理器101、存储器102。存储器120中有沙箱300。
存储器120可以包括易失性存储器(volatile memory) 和/或非易失性存储器(non-volatile memory),易失性存储器例如随机存取存储器(random-access memory,RAM);非易失性存储器例如只读存储器(read-only memory,ROM),快闪存储器(flashmemory) ,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等。
处理器101用于执行存储器102中的程序,该程序可以是操作系统或各种应用程序。
此外,沙箱设备100还可以包括显示器,输入设备,输出设备(图1中未示出)等,例如,输入设备可以包括键盘、鼠标、触控板、麦克风、轨迹球、触控莹幕、游戏控制器、数码化输入板及输入笔/指向器、扫描器、条码阅读机以及网络摄影机等输入设备。输出设备可以包括打印机、扬声器以及显示器等输出设备。
沙箱设备100还可以包括通信总线、显卡、声卡、及各种传感器(图1中未示出)等。
以沙箱设备100为服务器设备为例,其中包括沙箱300,沙箱300是在进行应用程序开发或测试时,协助开发人员或测试人员进行应用程序和应用程序接口功能联调的辅助系统。沙箱300隔离了APP和真实应用程序接口的访问,按照APP测试人员的预先配置,引导APP的访问请求到相应的API接口。
图2为本发明实施例通过图1的沙箱300访问应用程序接口的方法的示意性流程图,包括:
201,沙箱获取并保存客户端的应用程序访问配置信息,该应用程序访问配置信息与客户端的唯一标识对应,包括应用程序访问接口信息;
安装了应用程序的客户端设备(如手机)可以通过无线信号,如Wi-Fi信号访问内部局域网来与沙箱通信。在测试环境下,客户端应用程序接口访问应用程序接口时,需要根据测试人员的要求访问不同类型的接口,以实现对应用程序的测试,因此,在访问应用程序之前,该客户端的应用程序访问配置信息需要让沙箱知晓,客户端可以将包括应用程序访问配置信息的应用程序访问配置文件访发送给沙箱,或者客户端通过浏览器访问沙箱的配置页面,在该页面上进行配置应用程序访问信息。
应用程序访问配置信息与客户端的唯一标识对应,其中包括应用程序访问接口信息。该应用程序访问接口信息包括应用程序访问接口是否为假接口,以及当不为假接口时的接口路径。
客户端的唯一标识根据客户端设备的不同可以为不同的标识,只要能将该客户端设备与其他设备区分就标识就可以。例如:如果客户端为苹果手机,该唯一标识可以为CFUUID (CF Universally Unique Identifier,CF通用唯一识别码),或CFUUID通过MD5算法进行计算得到的值。
如果客户端为安装安卓系统的移动设备,唯一标识可以为下列中的一个:设备地址(DEVICE_ID)、安卓地址(ANDROID_ID)、MAC ADDRESS(Media Access Control Address,媒体访问控制地址)或者SIM卡中的IMSI (International Mobile SubscriberIdentification Number,国际移动用户识别码);或者选择以上一个通过MD5算法进行计算得到的值作为唯一标识。
其中设备地址(DEVICE_ID)可以是IMEI(International Mobile EquipmentIdentity,国际移动设备识别码),MEID(Mobile Equipment Identifier,移动设备识别码),ESN(Electronic Serial Number,电子序列号)等中的一个。
202,沙箱接收客户端应用程序发送的应用程序接口访问请求,该访问请求中包括该客户端的唯一标识;
在测试环境下,测试人员通过客户端应用程序向沙箱发送应用程序接口访问请求,该访问请求可以是HTTP请求,该请求头部包括客户端的唯一标识;
例如,客户端应用程序可以先获取该客户端设备的DEVICE_ID作为唯一标识,如果发现没有DEVICE_ID再去获取ANDROID_ID, ANDROID_ID也没有则获取IMSI,如果IMSI也没有则获取设备MAC ADDRESS,以上都没有则通过随机数创建一个作为唯一标识,并缓存起来。然后将上述获得的唯一标识包括在HTTP请求中。
203,沙箱根据该客户端的唯一标识查询已保存的应用程序访问配置信息,获得与该客户端的唯一标识对应的应用程序访问接口信息;
204,沙箱根据获得的应用程序访问接口信息确定客户端访问的应用程序接口。
205,当确定客户端访问的应用程序接口不为假接口时,沙箱访问确定的应用程序接口。
203-205中,沙箱在接收客户端应用程序发送的应用程序接口访问请求后,并不是按照访问请求中的应用程序接口路径进行调度,而是根据户端的唯一标识查询所述存储模块中保存的应用程序访问配置信息,得到与该客户端对应的应用程序访问接口信息。
已保存的应用程序访问配置信息可以是配置文件,也可以是保存在数据库中的信息。
沙箱查询配置信息获得与该客户端的唯一标识对应的应用程序访问接口信息;该应用程序访问接口信息包括访问接口是否是假接口;以及不是假接口时,该客户端应用程序需要访问的应用程序接口路径。
沙箱根据该应用程序访问接口信息确定该应用程序访问接口是不是假接口, 当根据得到的应用程序访问接口信息确定客户端访问接口为假接口时,则沙箱将客户端的应用程序接口访问请求转到沙箱中的假接口上,假接口返回静态数据给客户端应用程序,该静态数据符合接口定义,接口定义包括访问地址、传入参数、返回参数和返回格式等;如果应用程序访问接口信息显示为客户端配置的访问接口不为假接口时,则沙箱获取接口信息中的客户端配置访问的具体接口的路径,从而确定客户端访问的应用程序接口。
不同的应用程序接口对应不同的接口路径,如开发接口、测试接口、正式接口分别有不同的接口路径,接口路径可以为接口服务器的域名或者IP地址。
例如,得到的应用程序访问接口信息为不访问假接口,其配置访问接口路径为开发接口的接口路径,则沙箱访问该接口路径。
图2所示实施例中,在开发或测试环境中,不需要修改APP代码,而是通过沙箱进行应用程序接口访问,可以灵活的在开发接口、测试接口、正式接口等接口进行访问切换;同时因为APP代码只有一份,编译后的版本只有一份,所以也避免了错误发布APP版本的情况。
在图2所示实施例的中,应用程序访问配置信息还包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息;
当该客户端配置的应用程序访问接口信息中的应用程序接口为假接口时,
沙箱用于根据上述配置信息进行相应的操作,向客户端应用程序返回对应的模拟动态数据。
例如,当配置信息包括随机返回错误信息,模拟网络等待时间为3秒,则。沙箱可以通过其中的假接口在等待3秒后向该客户端返回错误信息。
可以理解的是,上述配置信息仅为示例,应用程序开发或测试人员可以根据需要配置其他信息。
沙箱还可以存储客户端的访问数据以及沙箱向客户端返回的数据。沙箱中的假接口在向客户端应用程序返回静态数据或模拟动态数据时可以调用沙箱中存储的数据。
此外,沙箱在访问应用程序接口后,得到应用程序接口返回数据,则将该返回数据发送给客户端。可见,对于客户端来说,沙箱是隔离了客户端与应用程序接口的直接访问。
通过在沙箱中设置假接口模拟应用程序接口输出,向客户端应用程序返回静态数据或模拟动态数据,可以实现开发过程中应用程序和应用程序接口并行开发,即使应用程序接口还在开发过程中,应用程序也能通过应用程序接口获取测试数据用于应用程序内部的业务逻辑处理。
此外,假接口可以模拟正常访问中较难发生的异常错误以及数据边界,以方便开发测试人员检查和调试应用程序的可靠性和稳定性。
如图3所示,为本发明实施例沙箱300的示意性框图, 该沙箱用于执行上述访问应用程序接口的方法,如图3所示,沙箱300包括获取模块301,存储模块302,调度模块303。
获取模块301用于获取客户端的应用程序访问配置信息,所述应用程序访问配置信息与所述客户端的唯一标识对应,包括应用程序访问接口信息。
客户端的唯一标识可参考图2中实施例的说明,在此不赘述。应用程序访问配置信息中包括与客户端的唯一标识对应的应用程序访问接口信息。例如,该接口信息包括应用程序访问接口是否为假接口,以及当不为假接口时的接口路径。
存储模块302用于存储获取模块301获取的客户端的应用程序访问配置信息;
获取模块301获取到应用程序访问配置信息后,将其存储在存储模块302中。存储在存储模块302中的配置信息为与客户端的唯一标识对应的配置文件或者数据库信息。
调度模块303用于接收客户端应用程序发送的应用程序接口访问请求,所述访问请求中包括所述客户端的唯一标识;调度模块303根据所述客户端的唯一标识查询存储模块302保存的应用程序访问配置信息,获得与该客户端的唯一标识对应的应用程序访问接口信息;调度模块303还用于根据获得的该访问接口配置信息确定该客户端访问的应用程序访问接口信息,当确定所述客户端访问的应用程序接口不为假接口时,访问确定的所述应用程序接口。
具体的,调度模块303根据配置信息确定与客户端的唯一标识对应的应用程序访问接口是不是假接口,如果不是假接口,则调度模块303获得配置信息中该客户端应用程序需要访问的应用程序接口路径,根据该接口路径访问该应用程序接口。应用程序接口路径为以下接口之一的路径:开发接口、测试接口、正式接口。
调度模块303执行上述操作的说明可以参见图2所示实施例中的202-205的说明。在此不赘述。
调度模块303在访问应用程序接口后,得到应用程序接口的返回数据,将该数据发送给客户端。
综上所述,图3所示的实施例优点在于:在开发或测试环境中,不需要修改应用程序代码,而是通过沙箱300进行应用程序访问调度,可以灵活的在开发接口、测试接口、正式接口等接口的进行访问切换;同时因为应用程序代码只有一份,编译后的版本只有一份,所以也避免了错误发布应用程序版本的情况。
可选的,如图4所示,沙箱300还可以包括假接口模块304,当调度模块303确定应用程序访问接口为假接口时,则调度模块303则将应用程序接口访问请求转到假接口模块304,假接口模块304接收到应用程序接口访问请求后,向发送该访问请求的客户端应用程序返回静态数据。
可选的,应用程序访问配置信息还可以包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息。
当该客户端配置的应用程序访问接口信息中的应用程序接口为假接口时,
假接口模块304还用于根据调度模块303查询得到的上述配置信息进行相应的操作,向客户端应用程序返回对应的模拟动态数据。
例如,当配置信息包括强制返回空数据,模拟网络等待时间为3秒,则假接口模块304在等待3秒后向该客户端返回空数据。
存储模块302还可以存储客户端的访问数据,以及调度模块303及假接口模块304向客户端返回的数据。假接口模块304在向客户端应用程序返回静态数据时可以调用存储模块302中存储的数据。
通过在沙箱300中设置假接口模块304模拟应用程序接口输出,向客户端应用程序返回静态数据或模拟动态数据,可以实现应用程序和应用程序接口并行开发,即使应用程序接口还在开发过程中,应用程序也能通过应用程序接口获取测试数据用于应用程序内部的业务逻辑处理。此外,假接口模块304可以模拟正常访问中较难发生的异常错误以及数据边界,以方便开发测试人员检查和调试应用程序的可靠性和稳定性。
图5为本发明实施例通过沙箱300访问应用程序接口的方法的另一个流程图,以下结合图5说明本发明通过沙箱访问应用程序接口的方法在实际应用场景中的一个实施例。
在某移动终端(手机)上安装了名称为“51米多多”的应用程序:该移动终端唯一标识为74de9a0c9a2e53fa505744401c38984e,其通过MD5算法进行计算得到。应用程序接口(API接口)的线上正式域名为https://api.51job.com。API接口的开发接口路径为https://10.100.2.72。API接口的测试接口路径为https://10.100.3.105,该移动终端连接内部无线网络,通过代理服务器登录到沙箱服务器上。
该方法包括:
501,沙箱获取并存储唯一标识是74de9a0c9a2e53fa505744401c38984e的移动终端的配置信息;
移动终端发起访问请求,访问沙箱的配置页面,进行应用程序访问信息的配置,在该访问请求中带有设备唯一标识74de9a0c9a2e53fa505744401c38984e。该移动终端配置信息内容示例如下:
上述配置信息仅为示例,可以理解,也可以为其他配置信息。
502. 沙箱存储与该移动终端设备唯一标识对应的配置信息;
配置信息与移动终端设备唯一标识对应存储在沙箱中。
503.沙箱接收到移动终端应用程序“51米多多”发送的访问请求,其中访问请求中设备唯一标识是74de9a0c9a2e53fa505744401c38984e,访问API接口路径为以下路径:https://api.51job.com/api/user/user_login;
504,沙箱从访问请求中得到移动终端唯一标识74de9a0c9a2e53fa505744401c38984e;
505,沙箱查询已存移动终端设备唯一标识的列表,找到与标识74de9a0c9a2e53fa505744401c38984e对应的配置信息;
在505中,如果沙箱没有找到与移动终端对应的配置信息(即沙箱没有保存与该移动终端唯一标识对应的配置信息),则默认访问正式环境,即https://api.51job.com/api/user/user_login.php。
506,沙箱根据找到的配置信息确定应用程序访问接口;
507,沙箱确定该移动终端应用程序配置访问的接口不为假接口,而是路径为即https://10.100.2.72/ api/user/user_login的开发接口;
在其他可能的实现方式中,如果移动终端配置信息中如果找到配置信息,如果配置的是访问正式环境API-api.51job.com,则访问https://api.51job.com/api/user/user_login.php。
如果配置的是测试环境API-10.100.3.105,则访问https://10.100.3.105/api/user/user_login.php。
如果配置的是访问假接口(即不访问第三方接口)),则访问沙箱自带的/api/user/user_login.php接口。
508,沙箱访问上述路径为https://10.100.2.72/ api/user/user_login的开发接口;
509,沙箱接收并保存开发接口返回的数据;
510, 沙箱将开发接口返回的数据发送给移动终端应用程序“51米多多”。
可以理解,上述过程仅是示例性说明,例如如果在501的配置信息中,配置该客户端实际访问的接口为假接口, 则506后执行下列步骤:
511,沙箱确定该移动终端应用程序实际访问的接口为假接口/api/user/user_login.php;
512, 沙箱根据配置信息向移动终端应用程序“51米多多”返回数据。
沙箱将假接口user_login.php接口的返回信息(比如登录成功或失败的状态值、失败的错误提示信息等)再返回给客户端应用程序。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行前述本发明各种实施例中的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块物理上单独存在,也可以两个或两个以上模块集成在一个模块中。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上,仅为本发明实施例具体实施方式,但本发明实施例保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明实施例保护范围之内。因此,本发明实施例保护范围应该以权利要求书所限定的保护范围为准。
Claims (7)
1.一种通过沙箱访问应用程序接口的方法,其特征在于,包括:
沙箱获取并保存客户端的应用程序访问配置信息,所述应用程序访问配置信息与所述客户端的唯一标识对应,包括应用程序访问接口信息;
所述沙箱接收客户端应用程序发送的应用程序接口访问请求,所述访问请求中包括所述客户端的唯一标识;
所述沙箱根据所述客户端的唯一标识查询已保存的应用程序访问配置信息,获得与所述客户端的唯一标识对应的应用程序访问接口信息;
所述应用程序访问接口信息包括:所述客户端访问的应用程序接口是否为假接口;以及,当不为假接口时,所述客户端访问的应用程序接口路径;
所述沙箱根据获得的应用程序访问接口信息确定所述客户端访问的应用程序接口,当确定所述客户端访问的应用程序接口不为假接口时,所述沙箱根据所述应用程序接口路径访问确定的所述应用程序接口,所述应用程序接口路径为以下接口之一的路径:开发接口、测试接口、正式接口。
2.如权利要求1所述的方法,其特征在于,所述沙箱包括所述假接口,所述沙箱根据获得的应用程序访问接口信息确定所述客户端访问的应用程序接口为:确定所述客户端访问的应用程序接口是否为所述假接口;
当为所述假接口时,所述沙箱向所述客户端应用程序返回静态数据。
3.如权利要求2所述的方法,其特征在于,
所述应用程序访问配置信息还包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息;
当确定所述客户端访问的应用程序接口为假接口时,所述沙箱根据查询得到的所述应用程序访问配置信息向所述客户端应用程序返回模拟动态数据。
4.一种沙箱,用于其特征在于,包括获取模块、存储模块和调度模块;
所述获取模块,用于获取客户端的应用程序访问配置信息,所述应用程序访问配置信息与所述客户端的唯一标识对应,包括应用程序访问接口信息;
所述存储模块,用于存储所述获取模块获取的客户端的应用程序访问配置信息;
所述调度模块,用于接收客户端应用程序发送的应用程序接口访问请求,所述访问请求中包括所述客户端的唯一标识;
所述调度模块,还用于根据所述客户端的唯一标识查询所述存储模块中保存的应用程序访问配置信息,获得与所述客户端的唯一标识对应的应用程序访问接口信息,所述应用程序访问接口信息包括:所述客户端访问的应用程序接口是否为假接口;以及,当不为假接口时,所述客户端访问的应用程序接口路径;
所述调度模块,还用于根据应用程序访问接口信息确定所述客户端访问的应用程序接口,当确定所述客户端访问的应用程序接口不为假接口时,根据所述应用程序接口路径访问确定的所述应用程序接口,所述应用程序接口路径为以下接口之一的路径:开发接口、测试接口、正式接口。
5.如权利要求4所述的沙箱,其特征在于,还包括假接口模块,所述调度模块根据应用程序访问接口信息确定所述客户端访问的应用程序接口为:所述调度模块确定所述客户端访问的应用程序接口是否为假接口;
当为假接口时,所述调度模块通知所述假接口模块向所述客户端应用程序返回静态数据。
6.如权利要求5所述的沙箱,其特征在于,所述应用程序访问配置信息还包括以下信息中的一种或多种:是否随机返回错误信息、是否强制返回空数据、是否模拟网络等待时间、是否随机产生推送信息;
当所述调度模块确定所述客户端访问的应用程序接口为假接口时,所述假接口模块根据所述调度模块查询得到的所述应用程序访问配置信息向所述客户端应用程序返回模拟动态数据。
7.一种沙箱设备,其特征在于,包括处理器和存储器;所述存储器包括如权利要求4至6任一项的沙箱。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811571710.4A CN109683997B (zh) | 2018-12-21 | 2018-12-21 | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811571710.4A CN109683997B (zh) | 2018-12-21 | 2018-12-21 | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683997A CN109683997A (zh) | 2019-04-26 |
CN109683997B true CN109683997B (zh) | 2022-02-11 |
Family
ID=66188184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811571710.4A Active CN109683997B (zh) | 2018-12-21 | 2018-12-21 | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683997B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597723A (zh) * | 2019-09-18 | 2019-12-20 | 达疆网络科技(上海)有限公司 | 一种轻量级的商家系统对接快速测试联调系统 |
TWI732466B (zh) * | 2020-02-25 | 2021-07-01 | 財金資訊股份有限公司 | 應用程式介面集中沙盒及其操作方法、電腦可讀取之記錄媒體及電腦程式產品 |
CN113760315A (zh) * | 2020-09-27 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 测试系统的方法和装置 |
CN112948239B (zh) * | 2021-02-04 | 2024-05-14 | 深圳市仁凯网络科技有限公司 | 应用程序的测试方法、系统、终端设备及计算机存储介质 |
CN114417323B (zh) * | 2022-01-21 | 2023-02-28 | 北京飞书科技有限公司 | 数据引用方法、装置、设备及介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436507B (zh) * | 2011-12-28 | 2014-07-16 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
EP2680179B1 (en) * | 2012-06-27 | 2015-03-04 | BlackBerry Limited | Selection of sandbox for initiating application |
US8856864B2 (en) * | 2012-09-27 | 2014-10-07 | Intel Corporation | Detecting, enforcing and controlling access privileges based on sandbox usage |
US9445112B2 (en) * | 2012-12-06 | 2016-09-13 | Microsoft Technology Licensing, Llc | Secure transcoding of video data |
CN103268442B (zh) * | 2013-05-14 | 2015-12-23 | 北京奇虎科技有限公司 | 一种实现安全访问视频网站的方法和装置 |
CN103618758B (zh) * | 2013-10-31 | 2017-01-11 | 新浪网技术(中国)有限公司 | Web服务器及其系统资源访问控制方法 |
CN104408367B (zh) * | 2014-11-28 | 2019-04-05 | 北京奇虎科技有限公司 | 应用程序配置方法与装置 |
LU92657B1 (en) * | 2015-02-16 | 2016-08-17 | Universität des Saarlandes | Mining sandboxes |
US9973584B2 (en) * | 2015-10-30 | 2018-05-15 | Hyland Software, Inc. | Methods and apparatuses for location-based data access |
CN108933713B (zh) * | 2018-07-20 | 2022-08-26 | 创新先进技术有限公司 | 基于影子链路实现沙箱调试的方法、装置及业务服务器 |
-
2018
- 2018-12-21 CN CN201811571710.4A patent/CN109683997B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109683997A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN110221982B (zh) | 业务系统的性能测试方法、装置、设备及可读存储介质 | |
CN105808399B (zh) | 一种远程调试的方法和装置 | |
CN108628743B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
CN110719199B (zh) | 一种网络自动测试及故障定位方法及装置 | |
US10698797B2 (en) | Mobile application program testing method, server, terminal, and storage medium | |
CN105099811A (zh) | 一种接口测试方法和装置 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN105487966A (zh) | 程序测试方法、装置及系统 | |
CN110119350B (zh) | 软件开发工具包测试方法、装置和设备及计算机存储介质 | |
CN110928770B (zh) | 软件测试的方法、装置、系统、存储介质和电子设备 | |
CN111651232A (zh) | 一机多控方法、装置、系统及电子设备 | |
CN105743725A (zh) | 一种测试应用程序的方法和装置 | |
CN112699034B (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN106302011B (zh) | 基于多端的测试方法及终端 | |
CN109951549B (zh) | 网络页面的访问方法、装置及计算机可读存储介质 | |
CN113535578B (zh) | 一种cts测试方法、装置及测试设备 | |
CN113535580A (zh) | 一种cts测试方法、装置及测试设备 | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN110324345B (zh) | 服务器的登陆方法、装置、存储介质及终端 | |
CN116107781A (zh) | 日志追踪方法、装置、电子设备、及计算机程序产品 | |
CN112416750A (zh) | 应用程序边界测试方法及系统 | |
CN111782291A (zh) | 一种测试页面的启动方法和装置 | |
CN113626295A (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 |