一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

页面功能问题处理方法、装置及电子设备与流程

2022-03-23 08:20:39 来源:中国专利 TAG:


1.本公开涉及计算机领域,尤其涉及一种页面功能问题处理方法、装置及电子设备。


背景技术:

2.目前,针对线上产品的前端问题,在用户遇到问题时,难以有效地解决用户所遇到的问题。为了解决上述问题,在相关技术中,一般是客服收集用户描述的问题,之后反馈给开发人员,开发人员通过客服收集的信息对用户遇到的问题进行复现。但有时候,客服和用户均不是专业的,对问题的描述不准确,因而需要对问题进行多次反复沟通,处理,导致解决线上产品的问题的效率较低。上述问题亟待解决。


技术实现要素:

3.本公开提供一种页面功能问题处理方法、装置及电子设备,以至少解决相关技术中复现用户的功能问题时,存在的步骤繁琐,导致问题处理效率低的技术问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种页面功能问题处理方法,包括:发送问题复现请求,其中,所述问题复现请求用于请求预定账户复现在实现预定页面功能时所出现的问题;获取所述预定账户在复现所述预定页面功能时的执行环境信息,以及所述预定账户在复现所述预定页面功能时录制的应用程序接口api数据;基于所述执行环境信息和所述api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题。
5.可选地,所述问题复现请求中携带有数据收集链接和所述预定账户的标识信息,所述获取所述预定账户在复现所述预定页面功能时的执行环境信息,以及所述预定账户在复现所述预定页面功能时录制的api数据包括:获取所述预定账户在打开所述数据收集链接的场景下的所述执行环境信息和所述api数据。
6.可选地,所述获取所述预定账户在打开所述数据收集链接的场景下的所述执行环境信息和所述api数据包括:基于所述预定账户在页面应用上打开所述数据收集链接的操作,接收所述页面应用采集并上报的所述页面应用的执行环境信息;基于所述预定账户在所述数据收集链接对应的页面上实现所述预定页面功能时的操作,接收所述页面应用录制的api数据。
7.可选地,基于所述执行环境信息和所述api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题包括:基于所述执行环境信息,构建模拟环境;获取状态模拟链接,并接收在所述模拟环境下对所述状态模拟链接的打开操作;响应于所述打开操作,在所述状态模拟链接对应的页面,基于所述api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题。
8.可选地,所述基于所述执行环境信息,构建模拟环境,包括:响应于开发账户对环
境信息的查看指令,从应用服务器中调取所述执行环境信息,其中,所述应用服务器在所述预定账户复现所述预定页面功能时收集并存储所述执行环境信息和所述api数据;基于调取的所述执行环境信息在所述开发账户对应的资源上构建所述模拟环境。
9.可选地,所述响应于所述打开操作,在所述状态模拟链接对应的页面,基于所述api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题包括:响应于所述开发账户在所述模拟环境下对所述状态模拟链接的打开操作,接收开发账户在所述状态模拟链接对应的页面上执行的开发复现操作,所述开发复现操作为预先收集到的用于复现问题所执行的操作;响应于所述开发复现操作,从所述应用服务器中调用所述开发复现操作对应的api数据;通过将调用的所述api数据拟合所述开发复现操作,在所述状态模拟链接对应的页面上显示对所述预定账户的状态进行模拟的模拟结果,其中,所述模拟结果中包括所述预定账户在实现所述预定页面功能时所出现的问题。
10.可选地,所述执行环境信息包括以下至少之一:所述预定账户所采用的浏览器的用户代理信息,所述预定账户所采用的浏览器的本地存储数据信息,所述预定账户所采用的浏览器的版本信息,存储在所述预定账户本地终端上的数据信息,所述预定账户所采用的终端设备的设备信息。
11.可选地,所述api数据包括以下至少之一:所述预定账户的基本信息对应的api数据,所述预定账户的描述信息对应的api数据,所述预定账户的操作记录信息对应的api数据,所述预定账户的私密信息对应的api数据,所述预定账户的学习配置信息对应的api数据,所述预定账户的消费信息对应的api数据。
12.根据本公开实施例的第二方面,提供一种页面功能问题处理装置,包括:发送模块,用于发送问题复现请求,其中,所述问题复现请求用于请求预定账户复现在实现预定页面功能时所出现的问题;获取模块,用于获取所述预定账户在复现所述预定页面功能时的执行环境信息,以及所述预定账户在复现所述预定页面功能时录制的api数据;确定模块,用于基于所述执行环境信息和所述应用程序接口api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题。
13.可选地,所述获取模块包括:获取单元,用于获取所述预定账户在打开数据收集链接的场景下的所述执行环境信息和所述api数据,其中,所述问题复现请求中携带有数据收集链接和所述预定账户的标识信息。
14.可选地,所述获取单元包括:第一获取子单元,用于基于所述预定账户在页面应用上打开所述数据收集链接的操作,接收所述页面应用采集并上报的所述页面应用的执行环境信息;第二获取子单元,用于基于所述预定账户在所述数据收集链接对应的页面上实现所述预定页面功能时的操作,接收所述页面应用录制的api数据。
15.可选地,所述确定模块包括:构建单元,用于基于所述执行环境信息,构建模拟环境;接收单元,用于获取状态模拟链接,并接收在所述模拟环境下对所述状态模拟链接的打开操作;处理单元,用于响应于所述打开操作,在所述状态模拟链接对应的页面,基于所述api数据对所述预定账户的状态进行模拟,确定出所述预定账户在实现所述预定页面功能时所出现的问题。
16.可选地,所述构建单元包括:第一调取子单元,用于响应于开发账户对环境信息的
查看指令,从应用服务器中调取所述执行环境信息,其中,所述应用服务器在所述预定账户复现所述预定页面功能时收集并存储所述执行环境信息和所述api数据;构建子单元,用于基于调取的所述执行环境信息在所述开发账户对应的资源上构建所述模拟环境。
17.可选地,所述处理单元包括:接收子单元,用于响应于所述开发账户在所述模拟环境下对所述状态模拟链接的打开操作,接收开发账户在所述状态模拟链接对应的页面上执行的开发复现操作,所述开发复现操作为预先收集到的用于复现问题所执行的操作;第二调用子单元,用于响应于所述开发复现操作,从所述应用服务器中调用所述开发复现操作对应的api数据;处理子单元,用于通过将调用的所述api数据拟合所述开发复现操作,在所述状态模拟链接对应的页面上显示对所述预定账户的状态进行模拟的模拟结果,其中,所述模拟结果中包括所述预定账户在实现所述预定页面功能时所出现的问题。
18.可选地,所述执行环境信息包括以下至少之一:所述预定账户所采用的浏览器的用户代理信息,所述预定账户所采用的浏览器的本地存储数据信息,所述预定账户所采用的浏览器的版本信息,存储在所述预定账户本地终端上的数据信息,所述预定账户所采用的终端设备的设备信息。
19.可选地,所述api数据包括以下至少之一:所述预定账户的基本信息对应的api数据,所述预定账户的描述信息对应的api数据,所述预定账户的操作记录信息对应的api数据,所述预定账户的私密信息对应的api数据,所述预定账户的学习配置信息对应的api数据,所述预定账户的消费信息对应的api数据。
20.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现任一项所述的页面功能问题处理方法。
21.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行任一项所述的页面功能问题处理方法。
22.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现任一项所述的页面功能问题处理方法。
23.本公开的实施例提供的技术方案至少带来以下有益效果:
24.通过获取预定账户在复现预定页面功能时的执行环境信息,以及预定账户在复现预定页面功能时录制的api数据,以及基于获取的执行环境信息和api数据对预定账户的状态进行模拟,从而确定出在该预定账户在实现该预定页面功能时所出现的问题。由于获取了执行预定页面功能时的执行环境信息以及api数据,因此,可以在仅简单地获取用户的操作的情况下,就可以复现出该预定账户在实现预定页面功能时所出现的问题。采用上述方式,不需要用户描述专业的技术问题,就能够实现问题的复现,有效解决了相关技术中复现用户的功能问题时,存在的步骤繁琐,导致问题处理效率低的技术问题,进而达到高效复现用户在执行预定页面功能时所出现的问题,为高效处理解决问题提供条件。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是根据一示例性实施例示出的一种页面功能问题处理方法的流程图。
28.图2是本公开可选实施方式提供的复现线上用户数据问题方案的交互时序图。
29.图3是本公开可选实施方式提供的复现线上用户数据问题方案的架构示意图。
30.图4是根据一示例性实施例示出的页面功能问题处理装置的装置框图。
31.图5是根据一示例性实施例示出的一种终端的装置框图。
具体实施方式
32.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
33.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
34.本公开提供了如图1所示的页面功能问题处理方法。图1是根据一示例性实施例示出的一种页面功能问题处理方法的流程图,如图1所示,该方法用于上述的计算机终端中,包括以下步骤。
35.在步骤s11中,发送问题复现请求,其中,问题复现请求用于请求预定账户复现在实现预定页面功能时所出现的问题;
36.在步骤s12中,获取预定账户在复现预定页面功能时的执行环境信息,以及预定账户在复现预定页面功能时录制的api数据,其中,该api数据即应用程序接口(application process interface,简称为api)数据;
37.在步骤s13中,基于执行环境信息和api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题。
38.通过上述步骤,获取预定账户在复现预定页面功能时的执行环境信息,以及预定账户在复现预定页面功能时录制的api数据,以及基于获取的执行环境信息和api数据对预定账户的状态进行模拟,从而确定出在该预定账户在实现该预定页面功能时所出现的问题。由于获取了执行预定页面功能时的执行环境信息以及api数据,因此,可以在仅简单地获取用户的操作的情况下,就可以复现出该预定账户在实现预定页面功能时所出现的问题。采用上述方式,不需要用户描述专业的技术问题,就能够实现问题的复现,有效解决了相关技术中复现用户的功能问题时,存在的步骤繁琐,导致问题处理效率低的技术问题,进而达到高效复现用户在执行预定页面功能时所出现的问题,为高效处理解决问题提供条件。
39.在一个或多个可选实施例中,发送问题复现请求,其中,问题复现请求用于请求预定账户复现在实现预定页面功能时所出现的问题。发送的问题复现请求所对应的问题,可
以是包括多种情况下出现的问题,例如,特殊的平台(android,ios),特殊的平台版本(android 5.0.1,android 4.4.3,ios 12.3等等),特殊的app(应用app,小程序等),网页等等情况下出现的问题;发送的问题复现请求所针对的问题,还可能与不同的用户因为具备不同的数据返回、用户画像,操作历史,导致的该用户“特有”的问题。针对不同情况下的不同问题,发送特定的问题复现请求,能够对不同情况下的不同问题进行处理。
40.在一个或多个可选实施例中,该问题复现请求除了用于请求预定账户复现在实现预定页面功能时所出现的问题外,还可以携带多种信息,例如,该问题复现请求中可以携带有数据收集链接和预定账户的标识信息。在该问题复现请求中可以携带有数据收集链接和预定账户的标识信息的情况下,获取预定账户在复现预定页面功能时的执行环境信息,以及预定账户在复现预定页面功能时录制的api数据可以包括:获取预定账户在打开数据收集链接的场景下的执行环境信息和api数据。其中,该数据收集链接用于向该预定用户提供收集数据的位置,即该预定用户通过在该链接所对应的页面中执行预定页面功能的操作步骤,以便于对该预定用户执行该预定页面功能的执行环境信息以及api数据进行录制。另外,该问题复现请求中携带预定账户的标识信息,用于标识录制采集到的执行环境信息和api数据是针对于该预定账户的。通过标识信息对预定账户进行标识,在多个用户发生问题,并采用相同方法进行问题复现时,能够高效地对采集的数据进行区分和定位,便于问题的快速复现和解决。通过上述处理方式,一方面,在问题复现请求中携带数据收集链接,该预定用户可以通过直接打开数据收集链接的方式来执行预定页面功能,不仅能够提升用户体验,而且也能够保证收集到的数据的安全性;另一方面,在问题复现请求中携带该预定账户的标识信息,除了对该预定账户进行标识外,也能够触发应用在收集到api数据时,实现数据的及时上报。
41.在一个或多个可选实施例中,获取预定账户在打开数据收集链接的场景下的执行环境信息和api数据,即获取该预定账户基于该数据收集链接在执行该预定页面功能时的各种数据。其中,上述获取预定账户在打开数据收集链接的场景下的执行环境信息和api数据可以采用多种方式,例如,可以采用以下处理方式:基于预定账户在页面应用上打开数据收集链接的操作,接收页面应用采集并上报的页面应用的执行环境信息,通过该处理,在该预定账户接收到该数据收集链接后,打开该数据收集链接,并在打开该数据收集链接后的页面上执行上述预定页面功能。此时,页面应用采集当前页面的执行环境信息,因为此时的执行环境信息为预定用户执行上述预定页面功能最为真实的环境信息,在一定程度上可以保证执行环境信息的准确性。之后,基于预定账户在数据收集链接对应的页面上实现预定页面功能时的操作,接收页面应用录制的api数据。其中,在打开数据收集链接后的显示页面上,预定用户可以执行该预定页面功能所要求的操作,在预定用户执行各种操作进,页面应用会响应操作,调用相应的数据接口返回相应的数据。此时,页面应用即可对这一问题进行录制,例如,基于其中的某一操作,页面应用的api返回相应的数据,页面应用则对该过程进行录制,保存执行的操作,以及返回的api数据,进而及时地进行上报。
42.在一个或多个可选实施例中,在基于执行环境信息和api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题时,可以先基于执行环境信息,构建模拟环境,例如,页面应用的版本,可调用的函数,显示页面的浏览器的版本,浏览器的用户代理信息等。由于执行环境信息的类型可以多种,在此不进行一一展开说明。获
取状态模拟链接,并接收在模拟环境下对状态模拟链接的打开操作,由于对预定账户的状态进行模拟是由开发人员来进行的,因此,在模拟环境下的操作也可以是开发人员基于页面的显示进行手工操作的。需要说明的是,此处的状态模拟链接区别于上述数据收集链接,该状态模拟链接是用于开发人员打开状态模拟页面的,即开发人员基于开发账户在该状态模拟链接对应的状态模拟页面进行状态模拟,从而确定问题。而上述数据收集链接是用于收集预定账户执行预定页面功能的相应数据的。之后,响应于打开操作,在状态模拟链接对应的页面,基于api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题。在状态模拟链接对应的页面上,在收集的执行环境信息对应的执行环境下,以及基于预定账户在执行上述预定页面功能时所收集的api数据,对预定账户的状态进行模拟,基于模拟的过程和模拟的结果,确定出预定账户在实现上述预定页面功能时所出现的问题。
43.在一个或多个可选实施例中,基于执行环境信息,构建模拟环境时,可以采用以下处理方式:响应于开发账户对环境信息的查看指令,从应用服务器中调取执行环境信息,其中,应用服务器在预定账户复现预定页面功能时收集并存储执行环境信息和api数据;基于调取的执行环境信息在开发账户对应的资源上构建模拟环境。需要说明的是,在从应用服务器中调取该执行环境信息后,可以对该执行环境信息进行展示,例如,可以将该执行环境信息在环境信息展示器中进行展示,通过对该执行环境信息进行展示,可以使得专业开发人员可以直接获知执行环境的详细信息,这样可以直接确定出执行环境所存在的问题,为确定问题提高效率。另外,在预定用户复现预定页面功能时,该复现预定页面功能所使用的浏览器会采用环境信息收集器对执行环境信息进行收集和上报,和采用api数据收集器对api数据进行收集和上报。接收到上报的执行环境信息和api数据的应用服务器对其进行存储,供后续开发人员复现问题使用。需要说明的是,在基于调取的执行环境信息在开发账户对应的资源上构建模拟环境时,该开发账户对应的资源可以是真实的物理硬件资源,也可以是从远程虚拟机上虚拟出来的资源。
44.在一个或多个可选实施例中,响应于打开操作,在状态模拟链接对应的页面,基于api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题,可以采用以下处理:响应于开发账户在模拟环境下对状态模拟链接的打开操作,接收开发账户在状态模拟链接对应的页面上执行的开发复现操作,开发复现操作为预先收集到的用于复现问题所执行的操作。该开发复现操作也即为预先收集到的预定账户在实现预定页面功能时的操作。需要说明的是,在获取开发复现操作时,可以采用多种获取方式,例如,可以采用人工电话的方式获取,也可以采用用户问题邮件反馈的方式获取,还可以是其它回访等方式获取。获取开发复现操作,即获取之前该预定账户在实现该预定页面功能时的操作,该操作可以是用户自己描述的操作,可以是在实现上述预定页面功能时的一些简单的操作步骤说明。其中,接收开发账户在状态模拟链接对应的页面上执行的开发复现操作,即开发人员在接收到该开发复现操作后,基于开发人员对应的开发账户在打开的模拟页面上执行该操作;响应于开发复现操作,从应用服务器中调用开发复现操作对应的api数据;通过将调用的api数据拟合开发复现操作,在状态模拟链接对应的页面上显示对预定账户的状态进行模拟的模拟结果,其中,模拟结果中包括预定账户在实现预定页面功能时所出现的问题。之后,还可以将模拟结果发送给应用服务器,用于后续该预定用户需要获知问题解
决结果时,可以直接从应用服务器调取查看。例如,在开发账户在模拟页面上执行了某一操作,则可以调用之前获取到的对应于该操作的api数据,因此,在执行了一操作时,即拟合出该操作真实对应的api数据,实现对预定账户的状态的模拟,在模拟的过程和模拟的结果中可以复现预定账户在实现上述预定页面功能时所出现的问题。
45.在一个或多个可选实施例中,上述执行环境信息可以是多种类型的环境信息,例如,可以包括以下至少之一:预定账户所采用的浏览器的用户代理信息,预定账户所采用的浏览器的本地存储数据信息,预定账户所采用的浏览器的版本信息,存储在预定账户本地终端上的数据信息,预定账户所采用的终端设备的设备信息。需要说明的是,上述执行环境信息仅为一种举例,其它涉及预定账户执行上述预定页面功能时的硬件环境信息以及软件环境信息均属于本公开的一部分。
46.在一个或多个可选实施例中,如上,该api数据可以为该预定账户在实现预定页面功能时录制的,即用户在复现预定页面所出现的问题时,可以对预定账户所进行的操作返回的各种api数据进行录制。其中,api数据可以为多种,例如,可以包括:预定账户的基本信息对应的api数据,预定账户的描述信息对应的api数据,预定账户的操作记录信息对应的api数据,预定账户的私密信息对应的api数据,预定账户的学习配置信息对应的api数据,预定账户的消费信息对应的api数据,等等。本公开所涉及的api数据即为页面应用所能够调用的程序接口数据,在此不进行一一限定。通过获取不同、多样的详细的api数据,能够更为精准,全面地,有效地在描述出预定账户执行上述预定页面功能的过程,便于后续准确地复现该过程中出现的问题。
47.还需要说明的是,获取api数据时,可以获取的api数据可以为一个或多个,在api数据为多个的情况下,多个api数据可以均是该预定账户在实现预定页面功能时集中录制的。其中,基于api数据对预定账户的状态进行模拟可以包括:集中多个api数据对预定账户的状态进行模拟。通过在实现预定页面功能时录制的多个api数据,录制的api数据的数量越多,可能对实现预定页面功能的过程描述得越详细,从而使得对问题本身的描述也越清楚,因而能够间接地方便问题的发现和解决。
48.在一个或多个可选实施例中,可以对上述获取的执行环境信息和api数据进行存储,在上述数据进行存储,可以实现数据的灵活使用,例如,在需要的复现问题时才调用,而且也能够在一定程度上确定出问题与时间的相关性,例如,有时候一些问题是与时间相关的,比如,在一些时间段是问题是出现的,而在另一些时间段内问题又是出现的。
49.基于上述实施例及可选实施例,提供一种可选实施方式,下面具体说明。
50.为解决用户在使用线上(应用)产品时所遇到的问题,在相关技术中,一般采用以下解决方案:s1,可以收集用户使用线上产品的环境信息,例如,通过人工交流的方式收集浏览器user agent(ua,用户代理)信息,cookie(储存在用户本地终端上的数据)的信息,localstorage(本地存储)的信息,indexdb(浏览器提供的本地数据库)的信息等;s2,通过已知用户的操作路径,判断用户潜在可能调用到的api有哪些,配合后端操作查询对应api对于这个用户的返回值;s3,根据用户的api返回值,mock(模拟)用户的“状态数据”,然后再手工执行用户的操作步骤(流程),尝试复现用户的问题并修复。另外,在解决问题时,前后端可能不需要猜测是什么用户数据状态,只需要直接在代码中为该用户构造一个特殊的带日志的版本,重新测试,评估风险,上线,请用户在“日志收集版本”上复现问题,并收集日
志,通过日志,结合代码更好的判断和复现用户问题。但采用上述解决方案,存在以下两方面的问题:
51.一方面,存在步骤繁琐、技术难度高的问题:
52.在手工收集用户的环境信息时,研发、对外运营与用户之间的交流次数可能就是多次,效率低,而且让用户手工收集技术信息的门槛比较高,有些时候比较难于跟用户描述清楚操作步骤,不同的研发中,进程是不一致的,难以保证执行的准确性。而且在通过操作步骤,去判断调用了哪些api,哪些api的返回值会影响后续的api输入时,对于前端和后端,排查的成本都比较高,而且稍微复杂的系统:api是有同步和异步之分的,api是有前后依赖关系的,同时api是有状态和调用条件的,往往涉及到api特有的线上问题时,会存在复现不了问题,经常陷入瞎猜的情况,构造了半天,都没有猜到对应的用户的api调用路径和入参与输出数据,或存在造成问题的特殊原因。
53.另一方面,存在效率低,复用性低的问题:
54.对于特殊用户的问题,要添加日志,重新上线,然后收集日志之后要手工比对代码,复现问题,再次上线总是有风险,整体的流程长,而且人工通过新添的日志和代码比对的效率比较低下,自动化程度低,后续类似问题的解决方案复用度低。
55.从上述例子可说明,相关技术中复现用户的功能问题时,存在步骤繁琐,导致问题处理效率低的技术问题,基于此,在本公开可选实施方式中,提供了一种前端复现线上用户数据问题的解决方案,以js html页面的场景为例,本可选实施方式主要针对线上产品和用户api数据有关的前端问题,在用户遇到问题,且通过操作步骤(流程)复现不了的情况下,尽量把一些人工的研究步骤抽象和转化为自动化的步骤和机制,提升线上该类型复杂问题研究的效率和解决方案复用率。图2是本公开可选实施方式提供的复现线上用户数据问题方案的交互时序图,如图2所示,下面对本公开可选实施方式进行详细说明。
56.s0,遇到线上问题的用户(以下简称为用户)通过访问浏览器,访问页面功能;
57.s1,浏览器通过访问应用服务器,访问服务;
58.s2,应用服务器返回浏览器访问的功能页面;
59.s3,浏览器将返回的功能页面进行展示,给用户提供相应的功能;
60.s4,用户在页面上遇到功能问题,向客服人员汇报问题,其中,汇报问题的可以多种,例如,可以通过人工的方式实现,例如:通过电话,消息工具,收集用户的操作步骤和所在界面;
61.s5,客服人员确定好用户的场景和步骤后,告之用户,正在联系开发人员;
62.s6,客服人员带着产品问题(即上述用户遇到的功能问题)的复现步骤找到开发人员;
63.s7,开发人员开始研究步骤,发现问题“复现不出来”,判断得出可能和用户的环境或api状态有关。即,尝试用户提供的步骤后,发现用其他设备的相同步骤无法复现用户问题;
64.s8,开发人员通过操作,向客服人员返回一个对应于该用户的用户标识,类型为录制的特有录制链接。即准备用户问题特有的链接(包含用户id type==录制);
65.s9,客服人员将上述特有录制链接返回给用户,并请用户“复现”;
66.s10,用户基于浏览器打开收到的录制链接;
67.s11,浏览器收集“环境信息并上报”,例如,可以采用浏览器的前端程序收集环境的基本信息和参数,例如:浏览器useragent,浏览器的localstorage数据,浏览器的cookie等;
68.s12,浏览器将收集到的环境信息上报给应用服务器;
69.s13,应用服务器收到上报的环境信息后,返回给浏览器该用户的环境信息上报成功;
70.s14,用户在浏览器上执行复现步骤的操作;
71.s15,浏览器收集复现步骤对应的api数据并将收集的api数据上报给应用服务器,例如,浏览器可以采用前端程序开始监听底层的api数据,例如:用户的基本信息api,用户的画像api,用户的操作记录api,用户的隐私信息api,用户的学习信息配置api,用户最近消费api等。即录制用户在浏览器的各种api输入和输出,即实现录制过程,并实现录制内容的上报;
72.s16,应用服务器在收集到上报的api数据后,向浏览器返回api数据上报成功的回执消息;
73.s17,浏览器向用户反馈,复现完毕,准确告知客服人员;
74.s18,用户告知客服人员复现完毕;
75.s19,客服人员通知开发人员,复现数据收集完毕;
76.s20,开发人员告知客服,问题解决的大概的研究排期,即问题解决的大概时间;
77.s21,开发人员告知用户收到消息,请用户等待问题解决结果;
78.s22,开发人员开始研究问题,查看用户的环境信息,尽量构造对应的环境;
79.s23,开发人员向应用服务器请求环境信息;
80.s24,应用服务器向开发人员返回请求的环境信息;
81.s25,开发人员基于本地的浏览器向应用服务器请求打开用户标识,类型为模拟的特有链接,即打开问题特有的链接(包含用户id type==mock);
82.s26,应用服务器向开发人员返回该链接对应的页面数据和模拟数据(即mock数据),即从应用服务器自动下载特定用户id的模拟api数据;
83.s27,开发人员尝试最早的时候客服发送复现步骤;
84.s28,在开发人员的对应的模拟页面上,自动使用用户的相关模拟数据,问题被复现出来;
85.s29,开发人员对问题进行修复,验证,测试并上线;
86.s30,开发人员告知客服人员问题解决;
87.s31,客服人员告知用户问题解决,请用户验证问题解决结果;
88.s32,用户向客服人员确认问题解决;
89.s33,客服人员向开发人员确认问题解决。
90.在上述的交互过程中可以体现出本公开可选实施方式所提供的主要流程。图3是本公开可选实施方式提供的复现线上用户数据问题方案的架构示意图,如图3所示,下面对本公开可选实施方式所提供的方法的架构进行介绍:
91.首先要说明的是,要完成上述流程,需要两部分技术模块。一个部分是js(javascript)的一些模块,包括url(uniform resource locator,统一资源定位系统)参数
解析器,环境信息收集器,环境信息展示器,api数据收集器,api mock(模拟)层,api请求层,业务逻辑模块;另一个部分是应用服务器的对应服务,包括环境信息存储服务,api服务,api数据存储服务。
92.1)为了完成对于不同用户,以及区分录制操作还是mock操作的目标:
93.主要涉及到:url参数解析器模块。
94.用户输入不同的url,由url参数解析器模块拆解为用户的id(即上述预定账户的标识信息),以及当前的工作模式,即工作模式为录制或者模拟;
95.需要说明的是,用户的id可以在上报数据的时候添加。
96.2)为了完成录制目标:
97.主要涉及到:环境信息收集器、环境信息存储服务、api请求层、api数据收集器、api数据存储服务;
98.在录制模式下,环境信息收集器,用于收集环境信息,上报到环境信息存储服务中;
99.在录制模式下,api请求层和api数据收集器配合,把api的调用和输出,输入参数,api method,api url,调用发起时间,调用返回时间,调用返回值等关键信息,上报到api数据存储服务中。
100.3)为了完成查看环境信息目标:
101.在环境信息收集器对用户执行复现操作时的环境信息进行收集后,将收集的环境信息上报给应用服务器,应用服务器调用环境信息存储服务对上报的环境信息进行存储。在开发人员开始研究问题时,查看用户的环境,向应用服务器发送环境查看请求,应用服务器从环境信息的存储服务中提取信环境信息返回给开发人员,并在开发人员对应的环境信息展示器中显示。
102.4)为了完成模拟用户api数据的目标:
103.api数据收集器对用户执行复现操作对应的api数据进行收集,并将收集的api数据上报给应用服务器,应用服务器调用api数据存储服务对上报的api数据进行存储。在开发人员打开模拟的特有链接后,在对应的页面上执行复现操作时,通过api请求层向应用服务器请求与该复现操作对应的api数据,从而对该复现操作进行拟合,使得问题得以复现。
104.其中,在模拟模式下,可以由api请求层,与api mock层配合,把api数据存储服务中的mock数据,拟合到用户调用的api场景中。
105.在模拟模式下,开发人员只要人工执行相关的复现步骤,对应的api数据,就会自动返回,即将用户真实的api数据进行返回,从而达成复现用户特有问题的目标。
106.在本公开可选实施方式提供的方案中,在h5的浏览器下,实现了请用户帮忙重试复现步骤的时候,构造了一个新的包含了用户id的加密信息的数据收集链接,请用户访问,而不是重新添加日志上线,去收集用户信息;能够自动记录环境相关的参数;自动记录了api的调用和输出,输入参数,api method,api url,调用发起时间,调用返回时间,调用返回值等;而且自动记录了的环境信息,api调用信息都被自动上报到mock服务器中;实现了访问复现的连接,自动从mock服务器拉取对应用户的,上报的mock数据,完成相关联的api的自动化拟合。
107.通过上述可选实施方式,可以达到以下有益效果:
108.(1)避免了收集api数据需要重新上线的风险;
109.(2)避免了日志的相关代码没有可复用性的问题;
110.(3)避免了一部分人工收集api数据;
111.(4)提升了问题的复现、研究的效率,以及研究问题的自动化程度;
112.(5)降低研发成本。
113.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
114.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
115.根据本公开实施例,还提供了一种用于实施上述页面功能问题处理方法的装置,图4是根据一示例性实施例示出的页面功能问题处理装置的装置框图。参照图4,该装置包括发送模块41,获取模块42和确定模块43,下面对该装置进行说明。
116.发送模块41,用于发送问题复现请求,其中,问题复现请求用于请求预定账户复现在实现预定页面功能时所出现的问题;获取模块42,连接于上述发送模块41,用于获取预定账户在复现预定页面功能时的执行环境信息,以及预定账户在复现预定页面功能时录制的api数据;确定模块43,连接于上述获取模块42,用于基于执行环境信息和api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题。
117.在一个或多个可选实施例中,上述获取模块42包括:获取单元,用于获取预定账户在打开数据收集链接的场景下的执行环境信息和api数据,其中,问题复现请求中携带有数据收集链接和预定账户的标识信息。
118.在一个或多个可选实施例中,上述获取单元包括:第一获取子单元,用于基于预定账户在页面应用上打开数据收集链接的操作,接收页面应用采集并上报的页面应用的执行环境信息;第二获取子单元,用于基于预定账户在数据收集链接对应的页面上实现预定页面功能时的操作,接收页面应用录制的api数据。
119.在一个或多个可选实施例中,上述确定模块43包括:构建单元,用于基于执行环境信息,构建模拟环境;接收单元,用于获取状态模拟链接,并接收在模拟环境下对状态模拟链接的打开操作;处理单元,用于响应于打开操作,在状态模拟链接对应的页面,基于api数据对预定账户的状态进行模拟,确定出预定账户在实现预定页面功能时所出现的问题。
120.在一个或多个可选实施例中,构建单元包括:第一调取子单元,用于响应于开发账户对环境信息的查看指令,从应用服务器中调取执行环境信息,其中,应用服务器在预定账户复现预定页面功能时收集并存储执行环境信息和api数据;构建子单元,用于基于调取的执行环境信息在开发账户对应的资源上构建模拟环境。
121.在一个或多个可选实施例中,上述处理单元包括:接收子单元,用于响应于开发账户在模拟环境下对状态模拟链接的打开操作,接收开发账户在状态模拟链接对应的页面上执行的开发复现操作,开发复现操作为预先收集到的用于复现问题所执行的操作;第二调用子单元,用于响应于开发复现操作,从应用服务器中调用开发复现操作对应的api数据;处理子单元,用于通过将调用的api数据拟合开发复现操作,在状态模拟链接对应的页面上显示对预定账户的状态进行模拟的模拟结果,其中,模拟结果中包括预定账户在实现预定页面功能时所出现的问题。
122.在一个或多个可选实施例中,上述执行环境信息包括以下至少之一:预定账户所采用的浏览器的用户代理信息,预定账户所采用的浏览器的本地存储数据信息,预定账户所采用的浏览器的版本信息,存储在预定账户本地终端上的数据信息,预定账户所采用的终端设备的设备信息。
123.在一个或多个可选实施例中,上述api数据包括以下至少之一:预定账户的基本信息对应的api数据,预定账户的描述信息对应的api数据,预定账户的操作记录信息对应的api数据,预定账户的私密信息对应的api数据,预定账户的学习配置信息对应的api数据,预定账户的消费信息对应的api数据。
124.此处需要说明的是,上述发送模块41,获取模块42和确定模块43对应于实施例中的步骤s11至步骤s13,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
125.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
126.本公开的实施例可以提供一种电子设备,例如,电子设备可以是一种终端500,比如,该终端500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
127.参照图5,终端500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。
128.处理组件502通常控制终端500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
129.存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在终端500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
130.电源组件506为终端500的各种组件提供电力。电源组件506可以包括电源管理系
统,一个或多个电源,及其他与为终端500生成、管理和分配电力相关联的组件。
131.多媒体组件508包括在终端500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
132.音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当终端500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
133.i/o接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
134.传感器组件514包括一个或多个传感器,用于为终端500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如组件为终端500的显示器和小键盘,传感器组件514还可以检测终端500或终端500一个组件的位置改变,用户与终端500接触的存在或不存在,终端500方位或加速/减速和终端500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
135.通信组件516被配置为便于终端500和其他设备之间有线或无线方式的通信。终端500可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
136.在示例性实施例中,终端500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
137.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器504,上述指令可由终端500的处理器520执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
138.在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的计算机程序由终端的处理器执行时,使得终端能够执行上述任一项的页面功能问题处理方法。
139.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
140.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献