CN117873872A - 应用程序交互的调试方法、装置及电子设备 - Google Patents
应用程序交互的调试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117873872A CN117873872A CN202311731438.2A CN202311731438A CN117873872A CN 117873872 A CN117873872 A CN 117873872A CN 202311731438 A CN202311731438 A CN 202311731438A CN 117873872 A CN117873872 A CN 117873872A
- Authority
- CN
- China
- Prior art keywords
- network request
- target network
- data
- proxy
- application program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000003993 interaction Effects 0.000 title claims abstract description 57
- 238000004088 simulation Methods 0.000 claims abstract description 104
- 230000000007 visual effect Effects 0.000 claims abstract description 57
- 238000011161 development Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 14
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012800 visualization 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/362—Software debugging
-
- 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/3664—Environments for testing or debugging software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种应用程序交互的调试方法、装置及电子设备,所述方法包括:获取应用程序发送的目标网络请求;确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;在确定所述目标网络请求开启代理服务时,提供可视化操作界面;响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;根据所述模拟数据对所述应用程序交互进行调试。本发明实施例可以在不同网络环境下的应用程序交互实时灵活进行调试。
Description
技术领域
本发明实施例涉及互联网技术领域,特别是涉及一种应用程序交互的调试方法、一种应用程序交互的调试装置、一种电子设备以及一种计算机可读存储介质。
背景技术
在应用程序(Application,App)测试中,需要通过与其他终端设备进行数据交互完成测试。目前一种常见应用程序交互的测试方式是,在应用程序所在的操作***中安装一个软件客户端,然后基于该软件客户端拦截应用程序向服务器发送的网络请求,然后通过软件客户端针对该网络请求模拟返回对应的网络响应,进而可以根据模拟的网络响应对应用程序的交互进行调试。
然而,基于软件客户端所能模拟的网络响应并不灵活,只能基于预先设定好的方式针对网络请求模拟对应的网络响应,因此通过这些模拟的网络响应无法在不同网络环境下灵活地对应用程序交互进行调试。
发明内容
本发明实施例是提供一种应用程序交互的调试方法、装置、电子设备以及计算机可读存储介质,以解决无法在不同网络环境下灵活地对应用程序交互进行调试的问题。
本发明实施例公开了一种应用程序交互的调试方法,所述方法包括:
获取应用程序发送的目标网络请求;
确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;
在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项;
响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;
根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据;
根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
本发明实施例公开了一种应用程序交互的调试装置,所述装置包括:
获取模块,用于获取应用程序发送的目标网络请求;
确定模块,用于确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;
展示模块,用于在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项;
第一配置模块,用于响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;
第二配置模块,用于根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据;
调试模块,用于根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,获取应用程序发送的目标网络请求,确定目标网络请求是否开启代理服务,代理服务安装于应用程序的开发环境中,在确定目标网络请求开启代理服务时,提供可视化操作界面,可视化操作界面中可以包括目标网络请求对应的配置项,响应于针对可视化操作界面的配置项的操作,对配置项进行配置得到配置项对应的代理数据,随后,可以根据代理数据对目标网络请求进行配置,得到针对目标网络请求的模拟数据,其中,代理数据可以包括针对不同的网络环境的配置信息,模拟数据为模拟真实线上的服务器在不同的网络环境下针对目标网络请求作出的反馈所相关的数据,根据模拟数据对应用程序交互进行调试,具体地,调试至少包括调试应用程序的网络请求或者调试应用程序对网络请求的处理逻辑。本发明实施例可以在应用程序发送的目标网络请求开启代理服务时,提供包括目标网络请求对应的配置项的可视化操作界面,如此,开发人员可以通过可视化操作界面的配置项的操作,得到目标网络请求的配置项对应的代理数据,从而根据代理数据得到目标网络请求在不同的网络环境下模拟真实线上的服务器产生的模拟数据,进而根据模拟数据对应用程序在不同网络环境下的交互进行调试,以便提升应用程序的用户使用应用程序的交互体验。
附图说明
图1是本发明实施例中提供的一种应用环境的示意图;
图2是本发明实施例中提供的一种应用程序交互的调试方法的步骤流程图;
图3是本发明实施例中提供的一种目标网络请求的配置项的示意图;
图4是本发明实施例中提供的一种应用程序交互的调试整体方案示意图;
图5是本发明实施例中提供的一种基于自定义配置对目标网络请求进行配置的示意图;
图6是本发明实施例中提供的一种应用程序交互的调试装置的结构框图;
图7是实现本发明各个实施例的一种电子设备的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了使本领域技术人员更好地理解本发明实施例,下面对于本发明实施例涉及的一些术语和关键词进行说明:
网络请求:指计算机网络中用来相互通信的基本方法中对资源或数据发出的请求消息。
网络响应:指对网络请求的回应,其中,回应的数据为资源或请求要求的数据。
Service Worker:控制关联的页面或者网站,拦截并修改访问和资源请求的一种浏览器的能力。
接口/端口:请求方(发送网络请求)和响应方(返回网络响应)之间约定的数据传输路径。
代理服务:是一种特殊的网络服务,允许一个终端设备(一般为客户端)通过代理服务与另一个终端设备(一般为服务器)进行非直接的连接。
本发明实施例所提供的应用程序交互的调试方法,可以应用于如图1所示的应用环境中。其中,用于应用程序交互的调试的终端设备101通过网络与服务器102进行数据通信,在终端设备101中包括应用程序,该应用程序中设置了接口代理工具,接口代理工具中包括代理服务。具体地,终端设备101的接口代理工具获取应用程序发送的目标网络请求;确定目标网络请求是否开启代理服务;代理服务安装于应用程序的开发环境中;在确定目标网络请求开启代理服务时,提供可视化操作界面;可视化操作界面中包括目标网络请求对应的配置项;响应于针对可视化操作界面的配置项的操作,对配置项进行配置得到配置项对应的代理数据;根据代理数据对目标网络请求进行配置,得到针对目标网络请求的模拟数据;其中,代理数据包括针对不同的网络环境的配置信息,模拟数据为模拟真实线上的服务器102在不同的网络环境下针对目标网络请求作出的反馈所相关的数据;根据模拟数据对应用程序交互进行调试;其中,调试至少包括调试应用程序的网络请求或者调试应用程序对网络请求的处理逻辑。
实际应用中,终端设备101和服务器102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、机器人、车载终端、便携式可穿戴设备和服务器,其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参照图2,示出了本发明实施例中提供的一种应用程序交互的调试方法的步骤流程图,具体可以包括如下步骤:
步骤201、获取应用程序发送的目标网络请求。
在具体实现中,用户可以通过手机、计算机、平板电脑等终端设备中安装的应用程序(例如浏览器)来访问其他终端设备(例如服务器),具体地,应用程序可以向服务器发送网络请求,服务器则可以针对网络请求向应用程序返回包含视频、图片、文本、链接等各类型的数据的网络响应。
在本发明实施例中,在应用程序中安装有能够提供代理服务的网络请求模拟及同步工具(以下简称为模拟工具),作为一个可选示例,模拟工具可以是Service Worker。模拟工具跟随应用程序安装到应用程序的开发环境的项目代码中,随后,就可以通过模拟工具拦截应用程序向服务器发送的全部或者部分的网络请求作为目标网络请求。
需要说明的是,本发明实施例的模拟工具是安装并运行于应用程序内,而不是安装在应用程序所在的操作***中,因此模拟工具只会拦截应用程序发送的网络请求,而不会拦截操作***中的其他应用程序发送的网络请求,即,本发明实施例的模拟工具针对的只是对应的应用程序,不会对操作***内其他应用程序发送的网络请求造成影响。
步骤202、确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中。
在应用程序的开发过程中,为了保证工作进度,提高应用程序的开发调试速度,开发人员可以针对网络请求模拟生成对应的网络响应,从而开发人员可以根据网络响应来调试应用程序的交互,从而使得用户与应用程序之间的交互效果更好,提高了用户使用应用程序的交互体验。
在本发明实施例中,可以根据应用程序的调试需求选择需要的目标网络请求,这些目标网络请求可以被配置为开启代理服务,其中,开启了代理服务后可以视为模拟工具接管了对目标网络请求的处理,模拟工具的代理服务安装于应用程序的开发环境中,因此不会对终端设备的操作***内其他应用程序发送的网络请求造成影响。作为一个可选示例,目标网络请求可以包括HTTP请求(HTTP请求的默认端口为80端口)等其他类型请求(其他端口的网络请求),假设调试需求需要为80端口或者80端口的指定请求类型的目标网络请求,可以配置为80端口的目标网络请求开启代理服务,或者,配置为对80端口且为80端口的指定请求类型(例如HTTP请求中的GET请求,OPTIONS请求或者POST请求等)的目标网络请求开启代理服务。
步骤203、在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项。
步骤204、响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据。
在本发明实施例中,模拟工具可以为开发人员提供可视化操作界面,该可视化操作界面中可以包括目标网络请求对应的配置项,配置项可以是一个,也可以是多个,开发人员可以通过可视化操作界面目标网络请求的配置项进行自定义数据配置,可以得到配置项对应的代理数据,进而可以根据代理数据得到模拟数据,实现了模拟数据的个性化生成。
具体地,通过可视化操作界面对获取到的目标网络请求进行展示及编辑,可对目标网络请求的各项指标进行自定义数据配置。参照图3,是本发明实施例提供的一种目标网络请求的配置项的示意图,可以将目标网络请求允许进行配置的各项指标(配置项)罗列出来,例如,目标网络请求允许进行配置的各项配置项可以包括但不限于加入请求标识、返回配置的响应数据、同步真实数据、通过网络请求、设置响应延迟和设置响应失败等等,假设开发人员希望目标网络请求配置为设置响应失败,则通过模拟工具的可视化操作界面在目标网络请求的对应配置项进行选择或者设置即可。
本发明实施例通过提供了一个在应用程序的内部的模拟工具,根据开发人员对模拟工具的配置,对对应的目标网络请求的代理数据自动进行实时收集、处理,并将处理后的结果(模拟数据)进行返回,同时,该模拟工具可以提供可视化操作界面,通过可视化操作界面可以方便开发人员便捷对目标网络请求进行个性化配置。在本发明实施例中,通过模拟工具的可视化操作界面以达到对目标网络请求的定制化配置的能力,实现在可视化操作界面对目标网络请求进行模拟修改的功能,从而根据实际开发需求灵活且实时地通过配置项配置得到代理数据,进而根据代理数据得到相应的模拟数据用于调整应用程序交互,提高应用程序的开发效率。
步骤205、根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据。
步骤206、根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
在本发明实施例中,代理数据可以配置为针对不同的网络环境,例如,针对现实中网络状况不好时的网络环境的代理数据,针对现实中服务器出错的网络环境的代理数据等等。示例性地,代理数据为根据对应用程序的调试需求针对不同的网络环境对配置项进行配置后得到数据,根据代理数据可以确定针对不同的网络环境如何返回目标网络请求对应的网络响应,然后可以将网络响应作为目标网络请求的模拟数据。例如,代理数据为配置响应成功则可以直接返回配置的响应数据或者延迟返回响应,则可以得到模拟网络环境为正常或者不稳定情况下,模拟服务器会返回的模拟数据,如果代理数据为配置响应失败可以返回响应失败,则可以得到模拟网络环境为出错情况下,模拟服务器会返回的模拟数据。
具体地,在应用程序的本地数据库中可以预先存储有开发人员通过可视化操作界面针对不同的网络环境对目标网络请求的配置项配置得到的代理数据,如此,基于在确定目标网络请求开启代理服务时,可以从应用程序的本地数据库中获取到目标网络请求对应的代理数据,进而基于代理数据得到的模拟数据(模拟数据也可以称为测试数据),从而模拟了真实线上服务器在不同的网络环境下针对目标网络请求产生的网络响应,进而可以根据模拟数据对应用程序交互进行调试,使得调试后的应用程序能够在各种网络环境下进行正常交互。
在一示例性实施例中,所述代理数据至少可以包括以下的至少一项:返回配置的响应数据、同步真实数据、通过网络请求、设置响应延迟和设置响应失败。在本发明实施例中,在确定目标网络请求开启代理服务后,模拟工具会对该目标网络请求做出对应的处理,即模拟服务器对目标网络请求做出对应的处理,其中,具体如何处理可以通过读取开发人员对目标网络请求的配置项配置得到的代理数据确定,例如,针对请求类型为GET请求的目标网络请求,若其代理数据为返回配置的响应数据,则模拟工具可以直接返回预先针对目标网络请求配置好的响应数据作为模拟数据,针对请求类型为OPTIONS请求的目标网络请求,若其代理数据为通过网络请求,则模拟工具可以将网络请求转发至服务器进行处理,服务器返回的处理结果作为模拟数据,针对请求类型为POST请求的目标网络请求,若其代理数据为设置响应延迟,则模拟工具可以设置响应延迟1秒后再返回响应数据。当然,上述的代理数据仅仅是作为示例,在具体实施本发明实施例时可以根据实际需求通过可视化操作界面对目标网络请求进行自定义数据配置得到代理数据,本发明实施例对此无需加以限制。
在本发明实施例中,根据代理数据对目标网络请求进行配置,得到针对目标网络请求的模拟数据后,就可以根据模拟数据对应用程序交互进行调试,具体地,调试是指通过分析、诊断和修复应用程序中的错误和问题,以确保应用程序能够正常运行并达到预期的功能和性能,其中,调试应用程序的网络请求和处理逻辑是对应用程序的交互调试过程中的一部分。具体地,调试应用程序的网络请求,具体可以调试网络请求的网络参数以保证被正确发送到服务器并获取到响应;调试应用程序对网络请求的处理逻辑,具体可以确定应用程序是如何处理和解析服务器的网络响应,例如可以包括确保应用程序能够正确解析网络响应的数据格式(如JSON、XML等),处理错误响应(如HTTP错误码),以及正确地为用户展示网络响应等等。当然,在实际应用中,也可以对应用程序的网络请求和处理逻辑之外的其他内容进行调整,本发明实施例对此无需加以限制。
在上述的应用程序交互的调试方法中,获取应用程序发送的目标网络请求,确定目标网络请求是否了开启代理服务,代理服务安装于应用程序的开发环境中,在确定目标网络请求开启代理服务时,提供可视化操作界面,可视化操作界面中可以包括目标网络请求对应的配置项,响应于针对可视化操作界面的配置项的操作,对配置项进行配置得到配置项对应的代理数据,随后,可以根据代理数据对目标网络请求进行配置,得到针对目标网络请求的模拟数据,其中,代理数据可以包括针对不同的网络环境的配置信息,模拟数据为模拟真实线上的服务器在不同的网络环境下针对目标网络请求作出的反馈所相关的数据,根据模拟数据对应用程序交互进行调试,具体地,调试至少包括调试应用程序的网络请求或者调试应用程序对网络请求的处理逻辑。本发明实施例可以在应用程序发送的目标网络请求开启代理服务时,提供包括目标网络请求对应的配置项的可视化操作界面,如此,开发人员可以通过可视化操作界面的配置项的操作,得到目标网络请求的配置项对应的代理数据,从而根据代理数据得到目标网络请求在不同的网络环境下模拟真实线上的服务器产生的模拟数据,进而根据模拟数据对应用程序在不同网络环境下的交互进行调试,以便提升应用程序的用户使用应用程序的交互体验。
在一示例性实施例中,在所述步骤202、确定所述目标网络请求是否开启代理服务之后,所述方法还包括:
在确定所述目标网络请求未开启代理服务时,获取所述目标网络请求对应的真实数据;其中,所述真实数据为真实线上的服务器针对所述目标网络请求作出的反馈所相关的数据,所述真实数据用于对所述应用程序交互进行调试。
在本发明实施例中,在确定目标网络请求未开启代理服务时,可以从服务器获取目标网络请求对应的真实数据(真实数据也可以称为线上数据或者远程数据),然后,再将真实数据同步保存在应用程序对应的本地数据库中,其中,真实数据也可以用于对应用程序交互进行调试,另外,也可以在真实数据基础上根据应用程序的调试需求修改后再作为模拟数据,用于对应用程序交互进行调试。
在上述示例性实施例中,在确定目标网络请求未开启代理服务时,可以获取目标网络请求对应的真实数据并同步至应用程序的本地数据库中,如此,可以基于真实数据对应用程序交互进行调试,或者基于真实数据生成模拟数据,以更快生成相对贴近真实的模拟数据对应用程序进行调试,进一步提升了应用程序交互效果,为用户提供更好的交互体验。
在一示例性实施例中,所述步骤101、获取应用程序发送的目标网络请求,包括:
拦截所述应用程序通过指定方式发送的网络请求,并将所述网络请求作为目标网络请求;其中,所述指定方式至少包括指定域名的指定端口。
在具体实现中,模拟工具所拦截的网络请求的范围可以根据实际需求设置,为了减少需要处理的数据量以及不影响操作***内其他应用程序,本发明实施例的模拟工具设置为只运行应用程序内,进一步地,还可以根据调试需求仅拦截应用程序通过指定方式发送的网络请求,例如,仅拦截应用程序通过指定域名(例如某个视频网站)发送的网络请求,或者仅拦截应用程序通过指定域名的指定端口(例如某个视频网站通过80端口)发送的网络请求。由于模拟工具只需要拦截应用应用程序指定方式发送的网络请求作为目标网络请求,进而后续的对目标网络请求进行确定是否开启代理服务等的处理,模拟工具除了可以减少需要处理的数据量之外,不会影响操作***内其他应用程序发送的网络请求,或者应用程序内与调试需求无关发送的网络请求。
在上述示例性实施例中,通过仅拦截应用程序通过指定方式发送的网络请求作为目标网络请求,因此减少了模拟工具需要处理的目标网络请求的数量,因此可以提高了获取用于调试用于程序的网络响应的速度,进而提高了应用程序的整体开发效率。
在一示例性实施例中,在所述步骤102、确定所述目标网络请求是否开启代理服务之前,所述方法还包括:
从所述目标网络请求中获取目标网络请求数据;其中,所述目标网络请求数据至少包括请求方法和请求路径;
根据所述目标网络请求数据生成针对所述目标网络请求的唯一标识;
确定是否存在所述目标网络请求的唯一标识对应的配置项;
在确定存在所述目标网络请求的唯一标识对应的配置项时,执行所述确定所述目标网络请求是否开启代理服务;
在确定不存在所述目标网络请求的唯一标识对应的配置项时,生成针对所述目标网络请求的唯一标识对应的配置项。
其中,目标网络请求的目标网络请求数据至少可以包括使用的协议、域名、请求路径和请求方法等参数。作为一个可选示例,本发明实施例可以根据目标网络请求的目标网络请求数据中的请求方法和请求路径,生成针对目标网络请求的唯一标识来标识对应的目标网络请求,该唯一标识可以是字符串。当然,在实际应用中也可以采用其他方式生成目标网络请求对应的唯一标识,只要能够唯一识别到对应的网络请求即可,本发明实施例对此无需加以限制。
在本发明实施例中,在应用程序的本地中设置有本地配置列表,该本地配置列表中保存了已经生成配置项的目标网络请求的唯一标识。在模拟工具获取到目标网络请求后,从目标网络请求的目标网络请求数据中提取请求方法和请求路径,然后,将请求方法和请求路径编码为唯一标识(key)来标识对应的目标网络请求,在应用程序的本地配置列表中查找是否存在该唯一标识,若在应用程序的本地配置列表中存在该唯一标识,则说明该目标网络请求已经生成有对应的配置项,则可以继续确定该目标网络请求是否开启代理服务,并在确定开启代理服务时,获取通过在可视化操作界面中展示该目标网络请求的配置项使得开发人员可以对目标网络请求的配置项进行配置得到代理数据,若在应用程序的本地配置列表中不存在该唯一标识,则说明该目标网络请求还未生成有对应的配置项,则生成针对目标网络请求的唯一标识对应的配置项,并将唯一标识保存在应用程序的本地配置列表中,以及将配置项保存在应用程序的本地存储数据库中进行持久化存储。
在上述示例性实施例中,可以根据目标网络请求的目标网络请求数据生成针对目标网络请求的唯一标识,进而可以通过查询唯一标识是否在应用程序的本地数据库中,来确定对应的目标网络请求是否已经生成配置项供开发人员进行操作,并在目标网络请求未生成配置项时生成对应的配置项,后续就可以根据目标网络请求的配置项得到代理数据,用语对目标网络请求进行配置得到模拟数据,避免针对相同的目标网络请求重复生成配置项。
在一示例性实施例中,通过如下方式确定所述目标网络请求是否开启代理服务:
确定所述目标网络请求对应的配置项是否存在代理标识;
当所述目标网络请求对应的配置项存在代理标识,确定所述目标网络请求开启代理服务;
当所述目标网络请求对应的配置项不存在代理标识,确定所述目标网络请求未开启代理服务。
其中,代理标识用于表征对应的目标网络请求是否需要开启代理服务,代理标识可以提前配置在目标网络请求的配置项中。
在本发明实施例中,可以根据应用程序的调试需求,确定目标网络请求是否需要开启代理服务,在获取到目标网络请求后,确定目标网络请求对应的配置项是否存在代理标识,在目标网络请求对应的配置项存在代理标识时,确定目标网络请求开启代理服务,此时,可以获取开发人员通过可视化操作界面对目标网络请求的配置项进行配置得到的代理数据,进而根据代理数据生成目标网络请求的模拟数据;在目标网络请求对应的配置项不存在代理标识时,确定目标网络请求未开启代理服务,此时,如果该目标网络请求已经从服务器同步对应的线上数据,则不再拦截该目标网络请求,直接使该目标网络请求通过(即可以直接转发到服务器以使服务器对该目标网络请求进行正常处理),如果该目标网络请求未从服务器同步对应的线上数据,获取该目标网络请求的服务器的线上数据,并保存在本地数据库中。在实际应用中,为了方便开发人员操作,让开发人员不用去手动的录入测试数据,有时候开发人员需要的测试数据只需要基于线上数据模拟出即可,因此,本发明实施例自动将线上数据同步(复制一份用于生成测试数据),可以减少开发人员的手动操作步骤,进一步提高了应用程序的开发效率。
在上述示例性实施例中,根据目标网络请求对应的配置项是否存在代理标识来确定目标网络请求是否开启代理服务,从而无需对所有的目标网络请求使用代理服务,降低了数据处理量。
在一示例性实施例中,所述配置项对应的代理数据至少可以包括以下的至少一项:返回配置的响应数据、同步真实数据、通过网络请求、设置响应延迟和设置响应失败;所述步骤205、根据所述代理数据对所述目标网络请求进行配置,包括:
如果所述代理数据为所述同步真实数据,则针对所述目标网络请求返回对应的真实数据;
如果所述代理数据为所述返回配置的响应数据,则针对所述目标网络请求返回预先配置好的响应数据;
如果所述代理数据为所述通过网络请求,则将所述目标网络请求转发至服务器进行处理并获取所述服务器的处理结果;
如果所述代理数据为所述设置响应延迟,则在达到预设延迟时间后针对所述目标网络请求进行处理并返回处理结果;
如果所述代理数据为所述设置响应失败,则针对所述目标网络请求返回处理失败的结果。
具体地,如果代理数据为同步真实数据,表示需要同步真实的线上服务器针对目标网络请求处理后的真实数据,则可以针对目标网络请求返回在本地数据库中预先存储的真实线上的服务器针对目标网络请求处理后对应的真实数据作为模拟数据;如果代理数据为返回配置的响应数据,表示需要模拟工具针对目标网络请求返回预先配置好的响应数据作为模拟数据,则针对目标网络请求从本地数据库中获取返回预先配置好的响应数据作为模拟数据;如果代理数据为通过网络请求,表示需要真实的线上服务器针对目标网络请求进行处理,则将目标网络请求转发至服务器进行处理并获取服务器的处理结果作为模拟数据;如果代理数据为设置响应延迟,表示模拟工具需要在达到预设延迟时间后才进行处理,则在达到预设延迟时间后模拟工具针对目标网络请求进行处理并返回处理结果作为模拟数据;如果代理数据为设置响应失败,表示模拟工具需要需要返回处理失败的结果,则针对目标网络请求返回处理失败的结果作为模拟数据。
当然,上述的针对不同的代理数据对目标网络请求进行配置仅仅是作为示例,在实际应用中也可以设置其他的代理数据,本发明实施例对此无需加以限制。
在上述示例性实施例中,由于代理数据包括针对不同的网络环境的配置信息,因此,根据不同的代理数据对目标网络请求进行配置,可以得到针对不同的网络环境下的不同的模拟数据,进而可以根据不同的网络环境下的不同的模拟数据对应用程序交互进行调试,实现在不同的网络环境下对应用程序交互的优化。
在一示例性实施例中,在所述步骤202、确定所述目标网络请求是否开启代理服务之前,所述方法还包括:
提供可视化操作界面;所述可视化操作界面中包括目标网络请求对应的配置项;
响应于针对所述目标网络请求对应的配置项的操作,为所述目标网络请求的配置项添加代理标识。
在本发明实施例中,提供可视化操作界面,该可视化操作界面中可以包括目标网络请求对应的配置项,如果开发人员希望应用程序的某个或者多个目标网络请求通过模拟工具进行模拟,则可以通过可视化操作界面中针对该目标网络请求对应的配置项的操作,为目标网络请求的配置项添加代理标识,那么在应用程序发送该目标网络请求时,将拦截该目标网络请求。
在上述示例性实施例中,提供包括目标网络请求对应的配置项的可视化操作界面,使得开发人员可以根据需求对目标网络请求的配置项快速设置代理标识,以根据配置项的代理标识确定是否需要开启代理服务,提高了开发人员对应用程序的开发效率。
为了使本领域技术人员更好地理解本发明实施例,以下采用一个具体示例进行说明。
参照图4,是本发明实施例中提供的一种应用程序交互的调试整体方案示意图,具体过程包括:
步骤401、通过应用程序(网页)中安装的模拟工具捕获网络请求,然后根据网络请求中的网络请求数据生成唯一标识,然后基于唯一标识进行基础过滤,具体地,基础过滤包括检查网络请求的唯一标识是否已在本地配置列表中,若是在本地配置列表中,则读取该网络请求的配置项,按照配置项进行处理,执行步骤402,若是不在本地配置列表中,则执行步骤404;
步骤402、检查该网络请求是否开启代理服务,若是开启代理服务,则进入步骤步骤403,若是未开启代理服务,则进入步骤步骤404。
步骤403、读取自定义配置(自定义配置是指的开发人员通过可视化操作界面对目标网络请求的配置项所进行的配置),然后,根据自定义配置生成代理数据,或者根据自定义配置从本地数据库(IndexDB)中获取到代理数据对网络请求的配置项进行配置得到模拟数据。
步骤404、检查是否已经同步了服务端的该网络请求的线上数据,若已经同步了服务端的该网络请求的线上数据,则不再拦截该网络请求,直接使该网络请求通过,若没有同步服务端的该网络请求的线上数据,获取该网络请求的服务端的线上数据,并更新保存在本地数据库中。
步骤405、初始化配置,初始化配置具体为根据网络请求的网络请求数据生成唯一标识,并针对唯一标识生成该网络请求的配置项,并将唯一标识保存在本地配置列表,以及将网络请求的配置项保存在本地数据库中,同时,还可以获取到该网络请求的远程数据(线上数据)。
参照图5,是本发明实施例中提供的一种基于自定义配置对目标网络请求进行配置的示意图,具体包括:
步骤501、读取自定义配置(代理数据);
步骤502、根据自定义配置检查该网络请求是否需要配置响应失败;若是,则执行步骤503,若否则执行步骤504;
步骤503、针对该网络请求配置响应失败对应的失败配置数据;
步骤504、针对该网络请求配置响应成功对应的配置响应数据。
应用本发明实施例,至少包括有如下优点:1.提供了浏览器层面的接口代理方案,方便的管理全部及部分接口的网络请求、网络响应及其对应的网络环境;2.模拟工具的安装和使用方便,随应用程序的项目安装使用,模拟工具开关便捷;3.不经过操作***层级对网络请求进行代理,不会影响操作***底层对网络请求的处理,避免影响其他应用程序的网络请求;4.自动同步远程数据(线上数据)到本地数据库,可在此基础上直接修改得到模拟数据,无需单独从服务器中拉取并保存。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明实施例中提供的一种应用程序交互的调试装置的结构框图,具体可以包括如下模块:
获取模块601,用于获取应用程序发送的目标网络请求;
确定模块602,用于确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;
展示模块603,用于在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项;
第一配置模块604,用于响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;
第二配置模块605,用于根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据;
调试模块606,用于根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
在一示例性实施例中,所述装置还包括:真实数据获取模块,用于:
在确定所述目标网络请求未开启代理服务时,获取所述目标网络请求对应的真实数据;其中,所述真实数据为真实线上的服务器针对所述目标网络请求作出的反馈所相关的数据,所述真实数据用于对所述应用程序交互进行调试。
在一示例性实施例中,所述获取模块601,用于:
拦截所述应用程序通过指定方式发送的网络请求,并将所述网络请求作为目标网络请求;其中,所述指定方式至少包括指定域名的指定端口。
在一示例性实施例中,所述装置还包括:配置项处理模块,用于:
从所述目标网络请求中获取目标网络请求数据;其中,所述目标网络请求数据至少包括请求方法和请求路径;
根据所述目标网络请求数据生成针对所述目标网络请求的唯一标识;
确定是否存在所述目标网络请求的唯一标识对应的配置项;
在确定存在所述目标网络请求的唯一标识对应的配置项时,执行所述确定所述目标网络请求是否开启代理服务;
在确定不存在所述目标网络请求的唯一标识对应的配置项时,生成针对所述目标网络请求的唯一标识对应的配置项。
在一示例性实施例中,所述配置项处理模块,用于:
确定所述目标网络请求对应的配置项是否存在代理标识;
当所述目标网络请求对应的配置项存在代理标识,确定所述目标网络请求开启代理服务;
当所述目标网络请求对应的配置项不存在代理标识,确定所述目标网络请求未开启代理服务。
在一示例性实施例中,所述配置项对应的代理数据至少包括以下的至少一项:返回配置的响应数据、同步真实数据、通过网络请求、设置响应延迟和设置响应失败;所述第二配置模块605,用于:
如果所述代理数据为所述同步真实数据,则针对所述目标网络请求返回对应的真实数据;
如果所述代理数据为所述返回配置的响应数据,则针对所述目标网络请求返回预先配置好的响应数据;
如果所述代理数据为所述通过网络请求,则将所述目标网络请求转发至服务器进行处理并获取所述服务器的处理结果;
如果所述代理数据为所述设置响应延迟,则在达到预设延迟时间后针对所述目标网络请求进行处理并返回处理结果;
如果所述代理数据为所述设置响应失败,则针对所述目标网络请求返回处理失败的结果。
在一示例性实施例中,所述装置还包括:代理标识添加模块,用于:
提供可视化操作界面;所述可视化操作界面中包括目标网络请求对应的配置项;
响应于针对所述目标网络请求对应的配置项的操作,为所述目标网络请求的配置项添加代理标识。。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述应用程序交互的调试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述应用程序交互的调试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本发明实施例还提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述应用程序交互的调试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信***与网络和其他设备通信。
电子设备通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与电子设备700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(Graphics Processing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
电子设备700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元706用于显示由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板7061。
用户输入单元707可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。虽然在图7中,触控面板7071与显示面板7061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元708为外部装置与电子设备700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备700内的一个或多个元件或者可以用于在电子设备700和外部装置之间传输数据。
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器710是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
电子设备700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理***与处理器710逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
另外,电子设备700包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种应用程序交互的调试方法,其特征在于,所述方法包括:
获取应用程序发送的目标网络请求;
确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;
在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项;
响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;
根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据;
根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述目标网络请求是否开启代理服务之后,所述方法还包括:
在确定所述目标网络请求未开启代理服务时,获取所述目标网络请求对应的真实数据;其中,所述真实数据为真实线上的服务器针对所述目标网络请求作出的反馈所相关的数据,所述真实数据用于对所述应用程序交互进行调试。
3.根据权利要求1所述的方法,其特征在于,所述获取应用程序发送的目标网络请求,包括:
拦截所述应用程序通过指定方式发送的网络请求,并将所述网络请求作为目标网络请求;其中,所述指定方式至少包括指定域名的指定端口。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述目标网络请求是否开启代理服务之前,所述方法还包括:
从所述目标网络请求中获取目标网络请求数据;其中,所述目标网络请求数据至少包括请求方法和请求路径;
根据所述目标网络请求数据生成针对所述目标网络请求的唯一标识;
确定是否存在所述目标网络请求的唯一标识对应的配置项;
在确定存在所述目标网络请求的唯一标识对应的配置项时,执行所述确定所述目标网络请求是否开启代理服务;
在确定不存在所述目标网络请求的唯一标识对应的配置项时,生成针对所述目标网络请求的唯一标识对应的配置项。
5.根据权利要求1所述的方法,其特征在于,通过如下方式确定所述目标网络请求是否开启代理服务:
确定所述目标网络请求对应的配置项是否存在代理标识;
当所述目标网络请求对应的配置项存在代理标识,确定所述目标网络请求开启代理服务;
当所述目标网络请求对应的配置项不存在代理标识,确定所述目标网络请求未开启代理服务。
6.根据权利要求1所述的方法,其特征在于,所述配置项对应的代理数据至少包括以下的至少一项:返回配置的响应数据、同步真实数据、通过网络请求、设置响应延迟和设置响应失败;所述根据所述代理数据对所述目标网络请求进行配置,包括:
如果所述代理数据为所述同步真实数据,则针对所述目标网络请求返回对应的真实数据;
如果所述代理数据为所述返回配置的响应数据,则针对所述目标网络请求返回预先配置好的响应数据;
如果所述代理数据为所述通过网络请求,则将所述目标网络请求转发至服务器进行处理并获取所述服务器的处理结果;
如果所述代理数据为所述设置响应延迟,则在达到预设延迟时间后针对所述目标网络请求进行处理并返回处理结果;
如果所述代理数据为所述设置响应失败,则针对所述目标网络请求返回处理失败的结果。
7.根据权利要求1所述的方法,其特征在于,在所述确定所述目标网络请求是否开启代理服务之前,所述方法还包括:
提供可视化操作界面;所述可视化操作界面中包括目标网络请求对应的配置项;
响应于针对所述目标网络请求对应的配置项的操作,为所述目标网络请求的配置项添加代理标识。
8.一种应用程序交互的调试装置,其特征在于,所述装置包括:
获取模块,用于获取应用程序发送的目标网络请求;
确定模块,用于确定所述目标网络请求是否开启代理服务;其中,所述代理服务安装于所述应用程序的开发环境中;
展示模块,用于在确定所述目标网络请求开启代理服务时,提供可视化操作界面;所述可视化操作界面中包括所述目标网络请求对应的配置项;
第一配置模块,用于响应于针对所述可视化操作界面的所述配置项的操作,对所述配置项进行配置得到所述配置项对应的代理数据;
第二配置模块,用于根据所述代理数据对所述目标网络请求进行配置,得到针对所述目标网络请求的模拟数据;其中,所述代理数据包括针对不同的网络环境的配置信息,所述模拟数据为模拟真实线上的服务器在不同的网络环境下针对所述目标网络请求作出的反馈所相关的数据;
调试模块,用于根据所述模拟数据对所述应用程序交互进行调试;其中,所述调试至少包括调试所述应用程序的网络请求或者调试所述应用程序对网络请求的处理逻辑。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311731438.2A CN117873872A (zh) | 2023-12-14 | 2023-12-14 | 应用程序交互的调试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311731438.2A CN117873872A (zh) | 2023-12-14 | 2023-12-14 | 应用程序交互的调试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117873872A true CN117873872A (zh) | 2024-04-12 |
Family
ID=90576382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311731438.2A Pending CN117873872A (zh) | 2023-12-14 | 2023-12-14 | 应用程序交互的调试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873872A (zh) |
-
2023
- 2023-12-14 CN CN202311731438.2A patent/CN117873872A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345543B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN107040609B (zh) | 一种网络请求处理方法和装置 | |
CN110704328B (zh) | 接口测试方法、装置、电子设备及可读存储介质 | |
WO2018077041A1 (zh) | 应用运行的方法及装置 | |
CN110224920B (zh) | 一种分享方法及终端设备 | |
WO2018006841A1 (zh) | 二维码信息传输方法、装置以及设备 | |
CN109739402B (zh) | 快应用处理方法及终端设备 | |
WO2017161994A1 (zh) | 一种显示页面的方法及装置、计算机存储介质 | |
CN111049980A (zh) | 一种应用分享方法、电子设备及计算机可读存储介质 | |
WO2021143669A1 (zh) | 一种获取配置信息的方法及电子设备 | |
CN113238868B (zh) | 任务处理方法、装置、服务器、设备、***及存储介质 | |
CN111209031B (zh) | 一种数据获取方法、装置、终端设备及存储介质 | |
CN111143002A (zh) | 一种应用分享方法、电子设备及计算机可读存储介质 | |
CN111399819B (zh) | 数据生成方法、装置、电子设备及存储介质 | |
CN115756881A (zh) | 基于sdk的数据处理方法、装置、设备、存储介质 | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
WO2018209802A1 (zh) | 一种显示设备标识的方法、移动终端及终端设备 | |
CN109271779A (zh) | 一种安装包检测方法、终端设备及服务器 | |
CN112486567B (zh) | 代码的合并请求发送方法、装置、电子设备及存储介质 | |
CN111159738B (zh) | 权限配置方法、应用登录方法及装置 | |
CN116610508A (zh) | 一种散热测试方法、装置、电子设备及存储介质 | |
CN115904514A (zh) | 基于三维场景中云渲染像素流实现方法及终端设备 | |
CN115454857A (zh) | 测试用例编辑方法、装置、电子设备及可读存储介质 | |
CN117873872A (zh) | 应用程序交互的调试方法、装置及电子设备 | |
CN110928769B (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 |