发明内容
本说明书一个或多个实施例的目的是提供一种页面文案缺陷确定方法、系统及相关装置,以提升文案缺陷的检测性能,准确确定并标记文案缺陷,实现对文案缺陷的全面、完整的有效识别。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
第一方面,提出了一种页面文案缺陷确定方法,适用于客户端,所述方法包括:
向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
接收所述服务端返回的文案缺陷和页面数据;
对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;
在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。
第二方面,提出了一种页面文案缺陷确定方法,适用于服务端,所述方法包括:
接收客户端发起的缺陷确定请求;
根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
将所述文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端;
接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
第三方面,提出了一种页面文案缺陷确定装置,包括:
发送模块,用于向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
接收模块,用于接收所述服务端返回的文案缺陷和页面数据;
还原模块,用于对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;
标记模块,用于在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。
第四方面,提出了一种页面文案缺陷确定装置,包括:
接收模块,用于接收客户端发起的缺陷确定请求;
获取模块,用于根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
发送模块,用于将所述文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图;
所述接收模块,还用于接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
第五方面,提出了一种页面文案缺陷确定系统,包括:客户端和服务端;其中,
所述客户端,用于向服务端发起缺陷确定请求;
所述服务端,用于接收客户端发起的缺陷确定请求,并根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
所述客户端,还用于接收所述服务端返回的文案缺陷和页面数据;以及,对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端;
所述服务端,还用于接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
第六方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面或第二方面所述的页面文案缺陷确定方法。
第七方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面或第二方面所述的页面文案缺陷确定方法。
由以上说明书一个或多个实施例提供的技术方案可见,通过客户端向服务端发起缺陷确定请求,以请求服务端从文案缺陷池中获取相匹配的文案缺陷,并根据该文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据,接着,将文案缺陷和页面数据返回给客户端,以便于客户端根据页面数据进行页面还原,并在还原后的页面中确定标记文案缺陷对应的缺陷内容,对标记缺陷内容的页面进行截图,将页面截图发送给服务端进行留存。从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确确定并并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例只是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
鉴于目前的页面文案缺陷确定方案存在的检测性能以及效率较差的问题,本说明书实施例提出了一种针对性的解决方案,大体思路是:通过客户端向服务端发起缺陷确定请求,以请求服务端从文案缺陷池中获取相匹配的文案缺陷,并根据该文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据,接着,将文案缺陷和页面数据返回给客户端,以便于客户端根据页面数据进行页面还原,并在还原后的页面中确定并标记文案缺陷对应的缺陷内容,对标记缺陷内容的页面进行截图,将页面截图发送给服务端进行留存。从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定并标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确确定并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
参照图1所示,为本说明书实施例提供的页面文案缺陷确定方案所适用的系统架构。在该系统架构中,可以包括:客户端102和服务端104;其中,客户端102可以向服务端104发起缺陷确定请求,服务端104接收该缺陷确定请求,并根据缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;接着,客户端102接收服务端104返回的文案缺陷和页面数据,对所述页面数据进行解析,基于解析结果还原文案缺陷所在的页面;之后,客户端102会在还原后的页面中确定标记所述文案缺陷对应的缺陷内容,并截图上传给服务端104;服务端104接收该页面截图并留存,以便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确确定并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
在本说明书实施例中,客户端102可以是各类应用程序软件的客户端,例如,社交软件类客户端,资讯类客户端,购物类客户端,工具类客户端等。应理解,客户端102除了具备客户端本身类型所拥有的功能外,还具备上述功能以实现对页面文案缺陷的检测定位。服务端104可以是例如常规服务器、云服务器、云主机、虚拟中心等。服务端104的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
实施例一
参照图2所示,为本说明书实施例提供的一种页面文案缺陷确定方法的步骤示意图,应理解,该方法可以适用于客户端,其方法可以包括以下步骤:
步骤202:向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据。
结合图4和图5所示,缺陷确定请求可以携带有客户端所对应的应用程序的应用标识,以向服务端请求该客户端所对应的文案缺陷。这是因为,文案缺陷池可以是事先通过客户端在用户环境下或测试环境下上传的具有文案缺陷的目标页面的页面文案,进行文案缺陷识别确定的多个文案缺陷构成。在该文案缺陷池中,每个文案缺陷可以对应一个页面标识,即文案缺陷与页面标识之间具有一一映射关系。然而,考虑到该服务端不仅针对一个APP的客户端进行类似的文案缺陷的收集存储,可能面临多个甚至多种APP的客户端的文案缺陷,因此,文案缺陷池中可能包含属于不同APP的客户端上传的页面文案确定的文案缺陷,或者,在服务端可以针对不同APP设置不同的文案缺陷池,即每种APP对应一个文案缺陷池,当服务端收到页面文案后,可以根据页面文案中应用标识,将基于该页面文案识别出的文案缺陷保存至对应的文案缺陷池即可。如此,在客户端发送文案缺陷确定请求给服务端后,可以根据文案缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷。其中,文案缺陷池可以存储在服务端本地也可以存储在服务端对应的云空间。
在服务端获取文案缺陷后,可以基于该文案缺陷从页面数据集合中获取该文案缺陷所在页面的页面数据。由于文案缺陷中携带有页面标识,且页面数据集合中每个页面数据都映射有唯一的页面标识,所以,可以基于文案缺陷中的页面标识从页面数据集合中获取该页面标识对应的页面数据。其中,页面数据集合可以是事先通过客户端在用户环境下或测试环境下上传的多个页面数据构成。在该页面数据集合中,每个页面数据可以对应一个页面标识,即页面数据与页面标识之间具有一一映射关系。同理,考虑到服务端不仅针对一个APP的客户端进行页面数据的收集存储,可能面临多个甚至多种APP的客户端的页面数据,因此,页面数据集合中可能包含属于不同APP的客户端上传的页面数据,或者,在服务端可以针对不同APP设置不同的页面数据集合,即每种APP对应一个页面数据集合。
应理解,本说明书实施例中,文案缺陷可以包含:多语言文案漏翻、文案字体错误或者文案字号错误等缺陷中的一种或多种组合。
应理解,缺陷确定请求可以是由客户端的测试用户即开发人员周期性发起的,具体可以根据测试需求设定的发起周期。或者,也可以是根据服务端中缺陷任务的更新而触发向客户端发起的通知而发起的。本说明书实施例并不对此进行限定。
步骤204:接收所述服务端返回的文案缺陷和页面数据。
步骤206:对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面。
在接收到页面数据之后,可以对页面数据进行解析,并基于解析结果通过页面渲染的方式还原文案缺陷所在的页面。在这里,页面还原的方式可以不限,只要能够根据解析结果将文案缺陷的页面场景复现即可。
步骤208:在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。
可选地,步骤208在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端时,可以基于所述文案缺陷的缺陷内容,从还原后的页面中提取所述文案缺陷的页面位置;基于提取的页面位置对还原后的页面中所述文案缺陷对应的缺陷内容进行标记;对进行标记的页面进行截图,并上传给所述服务端。
此外,也可以先对还原后的页面进行截图,然后基于文案缺陷的缺陷内容,从页面截图中确定文案缺陷的页面位置,并在页面截图种对文案缺陷对应的缺陷内容进行标记,之后上传给服务端进行留存。
应理解,上述步骤202-步骤208可以是在客户端的测试环境下执行的文案缺陷确定方案。
可选地,在步骤202之前,或者在上述步骤202-步骤208的执行过程中,客户端还可以将目标页面的页面数据上传给所述服务端,以使得所述服务端将接收的页面数据更新至所述页面数据集合;其中,所述页面数据集合中页面数据映射有页面标识。此时,客户端可以是在用户环境下或测试环境下,对此不做限定。
可选地,在步骤202之前,或者在上述步骤202-步骤208的执行过程中,客户端还可以提取目标页面的页面文案,并上传给所述服务端,以使得所述服务端根据所述页面文案识别文案缺陷,并将识别到的文案缺陷更新至所述文案缺陷池;其中,所述文案缺陷池中文案缺陷映射有页面标识。此时,客户端可以是在用户环境下或测试环境下,对此不做限定。
需要说明的是,本说明书实施例中页面数据的存储和查询可以通过离线实现也可以实时执行。
通过客户端向服务端发起缺陷确定请求,以请求服务端从文案缺陷池中获取相匹配的文案缺陷,并根据该文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据,接着,将文案缺陷和页面数据返回给客户端,以便于客户端根据页面数据进行页面还原,并在还原后的页面中确定并标记文案缺陷对应的缺陷内容,对标记缺陷内容的页面进行截图,将页面截图发送给服务端进行留存。从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定并标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确定位并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
参照图3所示,为本说明书实施例提供的一种页面文案缺陷确定方法的步骤示意图,应理解,该方法可以适用于服务端,其方法可以包括以下步骤:
步骤302:接收客户端发起的缺陷确定请求。
步骤304:根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据。
结合图4和图5所示,文案缺陷池可以是事先通过客户端在用户环境下或测试环境下上传的具有文案缺陷的目标页面的页面文案,进行文案缺陷识别确定的多个文案缺陷构成。在该文案缺陷池中,每个文案缺陷可以对应一个页面标识,即文案缺陷与页面标识之间具有一一映射关系。然而,考虑到该服务端不仅针对一个APP的客户端进行类似的文案缺陷的收集存储,可能面临多个甚至多种APP的客户端的文案缺陷,因此,文案缺陷池中可能包含属于不同APP的客户端上传的页面文案确定的文案缺陷,或者,在服务端可以针对不同APP设置不同的文案缺陷池,即每种APP对应一个文案缺陷池,当服务端收到页面文案后,可以根据页面文案中应用标识,将基于该页面文案识别出的文案缺陷保存至对应的文案缺陷池即可。如此,在客户端发送文案缺陷确定请求给服务端后,可以根据文案缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷。其中,文案缺陷池可以存储在服务端本地也可以存储在服务端对应的云空间。
在服务端获取文案缺陷后,可以基于该文案缺陷从页面数据集合中获取该文案缺陷所在页面的页面数据。由于文案缺陷中携带有页面标识,且页面数据集合中每个页面数据都映射有唯一的页面标识,所以,可以基于文案缺陷中的页面标识从页面数据集合中获取该页面标识对应的页面数据。其中,页面数据集合可以是事先通过客户端在用户环境下或测试环境下上传的多个页面数据构成。在该页面数据集合中,每个页面数据可以对应一个页面标识,即页面数据与页面标识之间具有一一映射关系。同理,考虑到服务端不仅针对一个APP的客户端进行页面数据的收集存储,可能面临多个甚至多种APP的客户端的页面数据,因此,页面数据集合中可能包含属于不同APP的客户端上传的页面数据,或者,在服务端可以针对不同APP设置不同的页面数据集合,即每种APP对应一个页面数据集合。
步骤306:将文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。
该步骤306的具体实现可参照步骤206,在此不作赘述。
步骤308:接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
在本说明书实施例中,服务端还可以在步骤202之前,或是在执行上述步骤202-208过程中,接收所述客户端上传的目标页面的页面数据,并更新至所述页面数据集合;其中,所述页面数据集合中页面数据映射有页面标识。
在本说明书实施例中,服务端还可以在步骤202之前,或是在执行上述步骤202-208过程中,接收所述客户端上传的目标页面的页面文案,根据所述页面文案识别文案缺陷,并将识别到的文案缺陷更新至所述文案缺陷池;其中,所述文案缺陷池中文案缺陷映射有页面标识。
其中,在根据页面文案识别文案缺陷时,可以使用文本检测算法识别文案缺陷,或者通过机器学习训练模型以进行文案缺陷的检测识别。
应理解,本说明书实施例中,文案缺陷可以包含:多语言文案漏翻、文案字体错误或者文案字号错误、文案质量优化、文案截断等缺陷中的一种或多种组合。
可选地,在每次更新文案缺陷池后,可以周期性扫描所述文案缺陷池中包含的文案缺陷;基于文案缺陷映射的页面标识对所述文案缺陷池中的文案缺陷进行聚合;具体可以将同一页面标识的文案缺陷聚合在一起,形成聚合后的文案缺陷,这里的聚合可以简单理解为汇总。
进一步,针对经过聚合处理后的文案缺陷池,在根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷时,可以根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的聚合后的文案缺陷,之后的步骤与前述类似,在此不做赘述。
考虑到在客户端侧对页面中文案缺陷进行确定并标记时,有可能因为技术原因无法在一次将还原后的页面中所有文案缺陷确定并标记上,存在漏掉标记的情况,因此,可以在接收所述客户端上传的页面截图之后,由服务端进行补偿标记,具体可以基于所述文案缺陷的缺陷内容,核验所述页面截图中是否存在未标记的文案缺陷;如果存在,则根据核验结果确定的未标记的文案缺陷的页面位置,在所述页面截图中对未标记的文案缺陷进行标记。
通过客户端向服务端发起缺陷确定请求,以请求服务端从文案缺陷池中获取相匹配的文案缺陷,并根据该文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据,接着,将文案缺陷和页面数据返回给客户端,以便于客户端根据页面数据进行页面还原,并在还原后的页面中确定并标记文案缺陷对应的缺陷内容,对标记缺陷内容的页面进行截图,将页面截图发送给服务端进行留存。从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定并标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确定位并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
参照图4所示,为本说明书实施例提供的页面文案缺陷确定的流程示意图。
其中,以上页面文案缺陷确定功能可通过软件开发工具包SDK的形式集成于各类APP中,与相应的检测服务端进行交互处理,实现对相应APP的页面文案缺陷检测确定。其中,SDK可以按照功能区分为页面数据上报SDK、页面文案上报SDK以及页面还原SDK。所以,在实际的待检测页面文案缺陷的APP中,可以集成这三种SDK,或者,在实际的用于测试环境下的APP中可以仅集成页面还原SDK,以及在实际的用于测试环境下或用户环境下的APP中可以集成页面数据上报SDK和页面文案上报SDK。
考虑到测试环境下收集的页面数据以及页面文案的体量有限,所以,在该检测流程示意图展示的方案中,可以涉及不同环境下的数据交互。其中,服务端维护的页面数据集合以及文案缺陷池,可以是通过用户环境(即用户场景)下客户端与服务端交互确定。而基于确定的页面数据集和文案缺陷池,对页面进行还原并确定文案缺陷是通过测试环境(即测试场景)下客户端与服务端交互实现。
如图4所示,左侧为客户端侧,例如,可以是包含页面文案的各类APP中一种APP的客户端;右侧为服务端侧,其中,这里的服务端可以是各类可以处理页面数据以及页面文案,并协同客户端对页面文案中文案缺陷进行检测确定的处理平台,在此不做具体限定。该图4中,可以主要包含两个处理流程,其中第一个处理流程是页面数据集合以及文案缺陷池的创建或更新流程,该流程可以是一个在线实时持续的过程,或是离线的周期性过程,图4中该流程是在用户场景下进行。第二个处理流程是页面还原并确定文案缺陷的过程,图4中该流程是在测试场景下进行。
在用户场景下,客户端通过页面数据上报SDK对用户访问页面的页面数据进行请求拦截,并将拦截到的页面数据上报给服务端。应理解,在本说明书实施例中,页面数据的请求可以通过网关中间件实现。其中,客户端上报的页面数据中可以包含:页面数据请求ID、请求参数、结果信息、页面URL、页面ID等信息。考虑到服务端可以同时对多种类型的APP的页面文案进行文案缺陷确定,所以,在服务端可以同时维护多种应用的页面数据,具体实现时,可以通过创建不同应用的页面数据集合来进行区分维护,或是,通过标记应用标识将所有类型APP的页面数据维护在一个页面数据集合中。进而,除了包含上述信息外,页面数据还可以包含应用标识。服务端在接收到页面数据之后,可以对该页面数据进行整理,并根据页面数据集合的创建规则将页面数据保存至对应的页面数据集合。其中,页面数据集合可以保存在服务端本地或该服务端的云端存储空间。其实,在服务端保存页面数据之后,还可以向客户端返回上报成功的响应。
同样在用户场景下,客户端在每次通过页面数据上报SDK上报其用户访问的页面数据之后,还可以通过文案上报SDK上报用户访问的该页面的页面文案,其中,客户端上报的页面文案可以包含:页面文案请求ID、页面URL、页面ID以及文案设置语言、文案位置、文案ID等附属信息。其中,上报的页面文案可以是单个屏幕展示的一屏文案,也可以是整屏(由多个单屏按页面顺序拼接而成)的页面文案。服务端在接收到页面文案后,对页面文案进行缺陷识别。具体可以采用规则中心预置的处理规则,分别对页面文案进行预处理和后处理,其中,预处理可以使用各类过滤规则对页面文案中的词语进行简单过滤,之后,采用后处理规则中的文本规则以及XML路径语言(XML Path Language,XPath)规则进行文本处理,然后,进行词库匹配、术语库匹配、语种检测等操作,之后,进行自然语言处理NLP模型的识别检测,最终确定文案缺陷。应理解,这里仅介绍了一种可实现的文案缺陷识别方案,此外,还可以通过其它方式进行缺陷识别,或是,进行其它类型缺陷(字体错误、字号错误等)的识别。在为每个页面文案识别出文案缺陷后,可以对文案缺陷进行保存。与上述页面数据集合的保存方式类似,可以按照应用类型的不同划分为不同的文案缺陷池,例如,APP1对应文案缺陷池1,APP2对应文案缺陷池2,APP3对应文案缺陷池3,依次类推,进行类似处理。或者,将不同类型的应用对应的页面文案的文案缺陷统一存储于一个文案缺陷池。这里不对此进行限定,可根据实际需求进行灵活设置。其中,每个文案缺陷在保存时,可以以页面ID与缺陷内容(例如,缺陷文案语言、缺陷文案位置、缺陷文案细节等)建立对应关系进行存储。这样,查找时可基于页面ID进行查找。
基于以上内容,可以创建页面数据集合以及文案缺陷池。而且,可以通过客户端对用户访问页面的实时上报,在线实时更新页面数据集合以及文案缺陷池,以便于测试环境下的客户端可以及时准确检测定位到文案缺陷。在创建了文案缺陷池之后,还可以根据页面ID对文案缺陷进行聚合,这样,就可以将属于同一页面的文案缺陷聚合在一起作为一个任务触发。需要说明的是,文案缺陷池中包含有多个文案缺陷,每个文案缺陷可以作为一个单独的缺陷任务,也可以按照上述聚合的方式,将所属同一页面的多个文案缺陷汇集在一起作为一个缺陷任务。
当服务端创建有页面数据集合以及文案缺陷池后,可以进行第二处理流程,即借助测试场景下的客户端(该客户端与用户场景下的客户端为同一APP的客户端),与服务端进行交互实现对文案缺陷的检测定位。具体地,测试场景下,开发人员可以通过客户端上的页面还原SDK,从服务端获取缺陷任务,具体可以通过轮询方式周期性获取,或是在每次有缺陷任务更新聚合的情况下触发。测试场景下客户端通过页面还原SDK发送缺陷任务获取请求,服务端根据该获取请求从聚合得到的缺陷任务集合中或是直接从缺陷任务池中查找,其实,这里的查找可以是按照缺陷任务的排序依次从中获取,比如,按照缺陷任务的页面排序或是缺陷任务的时间排序。获取到缺陷任务之后,根据该缺陷任务中文案缺陷所对应的页面ID,从页面数据集合中查找相匹配的页面数据,并发送给测试场景下客户端。客户端通过页面还原SDK对页面数据进行解析,并根据解析结果进行页面还原,得到缺陷任务对应的原页面。进一步,可以根据缺陷任务中每个文案缺陷的缺陷内容,在还原出的页面上对文案缺陷进行确定并标记,例如,以有颜色的方框进行标记,或以其它标记方式突出显示文案缺陷。从而,在还原后的页面中对文案缺陷进行精准定位,便于开发人员快速及时识别到文案缺陷。在将文案缺陷进行标记之后,可以通过客户端的页面还原SDK对当前页面进行截图,然后上传截图给服务端进行保存。如果当前页面是整屏页面,则可以一屏截图上传之后,滑动屏幕到下一屏,继续进行截图上传,直至该整屏页面的文案缺陷标记完成,并全部截图上传成功。服务端在持续收到页面截图之后,可以对页面截图进行关联保存,例如,每个页面截图与该页面截图包含的文案缺陷对应存储,以方便查看分析。
其实,在考虑到有可能客户端会漏掉对某些文案缺陷的确定并标记,或者客户端无法完成文案缺陷定位,所以,在服务端收到页面截图之后,还可以对一些页面截图进行补偿处理,即使用文案缺陷与页面截图中标记的文案缺陷进行比对分析,看是否有漏掉的文案缺陷没有定位标记,如果有,则可以在服务端对页面截图中漏掉的文案缺陷进行确定并标记,如果没有,则可以直接保存。
应理解,本说明书中无论是在还原后的页面中对文案缺陷进行确定并标记还是在页面截图中对文案缺陷进行确定并标记,都可以依据文案缺陷中缺陷内容所包含的缺陷细节以及缺陷位置等信息,提取或确定并文案缺陷在还原后的页面或页面截图中的位置,以实现定位标记。
参照图5所示,为测试场景下页面文案缺陷确定方案在服务端的处理流程图,该处理流程可以包含:生成缺陷任务的流程;获取缺陷任务的流程;页面截图上报的流程。
其中,生成缺陷任务的流程中,可以先通过定时器扫描文案缺陷池中的文案缺陷,将具有相同页面ID的文案缺陷聚合为一个缺陷任务,生成任务记录,并更新该缺陷任务的状态为Reday。
然后,在获取缺陷任务的流程中,如果当前缺陷任务的状态为Reday,则获取该缺陷任务所在页面的页面数据,并将该缺陷任何和页面数据下发给客户端进行页面还原处理,并在还原后的页面中检测定位标记文案缺陷。同时,将缺陷任务的状态修改为running。
在接收到页面截图后,服务端可以查询缺陷任务的状态,如果缺陷任务成功完成,则更新缺陷任务的状态,例如修改为ending。假如该缺陷任务中有漏掉的文案缺陷,则可以通过对页面截图进行文案缺陷识别的方式在页面截图中确定并标记文案缺陷的位置,并将结果保存、关联。如果缺陷任务未成功完成,则可以判断该缺陷任务是否可重试,如果可以则可以再次将该缺陷任务的状态修改为Reday,以便于该缺陷任务可以再次被下发给客户端进行页面还原以及文案缺陷的检测。如果不可以重试,则直接结束该缺陷任务。其实,在服务端将缺陷任务下发给客户端后,即缺陷任务的状态处于running时,服务端可以开启对该缺陷任务的处理时长监测,如果该处理时长超时,则可以判断该缺陷任务是否可重试,如果该处理时长并未超时,则直接结束该缺陷任务。
从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定并标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确定位并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
实施例二
参照图6所示,为本说明书实施例提供的页面文案缺陷确定装置,该装置600可以包括:
发送模块602,用于向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据。
接收模块604,用于接收所述服务端返回的文案缺陷和页面数据。
还原模块606,用于对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面。
标记模块608,用于在还原后的页面中确定标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。
可选地,作为一个实施例,所述发送模块602,还用于将目标页面的页面数据上传给所述服务端,以使得所述服务端将接收的页面数据更新至所述页面数据集合;其中,所述页面数据集合中页面数据映射有页面标识。
在本说明书实施例的一种具体实现方式中,所述发送模块602,还用于提取目标页面的页面文案,并上传给所述服务端,以使得所述服务端根据所述页面文案识别文案缺陷,并将识别到的文案缺陷更新至所述文案缺陷池;其中,所述文案缺陷池中文案缺陷映射有页面标识。
在本说明书实施例的再一种具体实现方式中,所述标记模块608在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端时,具体用于基于所述文案缺陷的缺陷内容,从还原后的页面中提取所述文案缺陷的页面位置;基于提取的页面位置对还原后的页面中所述文案缺陷对应的缺陷内容进行标记;对进行标记的页面进行截图,并上传给所述服务端。
参照图7所示,为本说明书实施例提供的页面文案缺陷确定装置,该装置700可以包括:
接收模块702,用于接收客户端发起的缺陷确定请求;
获取模块704,用于根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;
发送模块706,用于将所述文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端;
所述接收模块702,还用于接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
可选地,作为一个实施例,所述接收模块702还用于接收所述客户端上传的目标页面的页面数据,并更新至所述页面数据集合;其中,所述页面数据集合中页面数据映射有页面标识。
在本说明书实施例的一种具体实现方式中,所述接收模块702还用于接收所述客户端上传的目标页面的页面文案,根据所述页面文案识别文案缺陷,并将识别到的文案缺陷更新至所述文案缺陷池;其中,所述文案缺陷池中文案缺陷映射有页面标识。
在本说明书实施例的再一种具体实现方式中,所述装置700还包括:聚合模块,用于周期性扫描所述文案缺陷池中包含的文案缺陷;基于文案缺陷映射的页面标识对所述文案缺陷池中的文案缺陷进行聚合;
则获取模块704在根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷时,具体用于根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的聚合后的文案缺陷。
在本说明书实施例的再一种具体实现方式中,所述装置700还包括:补偿模块,用于在所述接收模块702接收所述客户端上传的页面截图之后,基于所述文案缺陷的缺陷内容,核验所述页面截图中是否存在未标记的文案缺陷;如果存在,则根据核验结果确定的未标记的文案缺陷的页面位置,在所述页面截图中对未标记的文案缺陷进行标记。
通过客户端向服务端发起缺陷确定请求,以请求服务端从文案缺陷池中获取相匹配的文案缺陷,并根据该文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据,接着,将文案缺陷和页面数据返回给客户端,以便于客户端根据页面数据进行页面还原,并在还原后的页面中确定并标记文案缺陷对应的缺陷内容,对标记缺陷内容的页面进行截图,将页面截图发送给服务端进行留存。从而,通过页面还原的方式复现缺陷,并根据文案缺陷在还原的页面中确定并标记缺陷内容,并截图留存,便于开发人员快速准确获知缺陷内容,提升文案缺陷的检测性能,准确定位并标记文案缺陷,实现对文案缺陷的全面、完整的有效检测。
实施例三
图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他服务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成页面文案缺陷确定装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;接收所述服务端返回的文案缺陷和页面数据;对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。或者,
接收客户端发起的缺陷确定请求;根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;将所述文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端;接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
上述如本说明书图2和图3所示实施例揭示的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2和图3的方法,并实现相应装置在图2和图3所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例四
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2和图3所示实施例的方法,并具体用于执行以下方法:
向服务端发起缺陷确定请求,其中,所述缺陷确定请求用于指示所述服务端根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,并根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;接收所述服务端返回的文案缺陷和页面数据;对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端。或者,
接收客户端发起的缺陷确定请求;根据所述缺陷确定请求中携带的应用标识从文案缺陷池中获取相匹配的文案缺陷,根据所述文案缺陷从已拉取的页面数据集合中获取该文案缺陷所在页面的页面数据;将所述文案缺陷和页面数据发送给所述客户端,以使得所述客户端对所述页面数据进行解析,基于解析结果还原所述文案缺陷所在的页面;以及在还原后的页面中确定并标记所述文案缺陷对应的缺陷内容,并截图上传给所述服务端;接收所述客户端上传的页面截图,所述页面截图中缺陷内容携带有标记。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述一个或多个实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。