CN114546850A - 一种埋点的自动化测试方法、系统、装置及存储介质 - Google Patents

一种埋点的自动化测试方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN114546850A
CN114546850A CN202210151224.7A CN202210151224A CN114546850A CN 114546850 A CN114546850 A CN 114546850A CN 202210151224 A CN202210151224 A CN 202210151224A CN 114546850 A CN114546850 A CN 114546850A
Authority
CN
China
Prior art keywords
buried
data
test
buried point
page
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
Application number
CN202210151224.7A
Other languages
English (en)
Inventor
杨磊
徐凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Junzheng Network Technology Co Ltd
Original Assignee
Shanghai Junzheng Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Junzheng Network Technology Co Ltd filed Critical Shanghai Junzheng Network Technology Co Ltd
Priority to CN202210151224.7A priority Critical patent/CN114546850A/zh
Publication of CN114546850A publication Critical patent/CN114546850A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种埋点的自动化测试方法、系统、装置及存储介质,方法包括:运行测试脚本,其中,测试脚本包括能够触发埋点的操作的代码;保存埋点被触发所产生的数据作为测试数据;比对埋点的测试数据与埋点的参照数据;以及输出比对结果,其中,比对结果包括指示测试数据与参照数据是否不一致的内容。本发明的方法、系统、装置及存储介质,通过运行脚本,直接生成埋点数据文件,通过脚本再次进行比对自动生成比对文件,节省了测试回归验证的时间,比对结果以文档形式输出,清晰明了。

Description

一种埋点的自动化测试方法、系统、装置及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种埋点自动化测试及验证方法、系统、装置、设备及存储介质。
背景技术
埋点是计算机中的一个术语,是指通过在客户端中嵌入代码,监听客户端运行过程中的事件,当事件被触发后,捕获事件并将事件的上下文信息上传至服务器的流程。通过埋点采集到的数据,能够用来分析用户行为、产品决策、优化需求等等。
相关技术中,用户需要人工对客户端执行操作,客户端检测到用户的操作时,会根据用户的操作触发事件,并向服务器传送埋点数据,服务器会对埋点数据进行验证。
采用上述方法时,需要用户手动操作来触发埋点,耗费的人力多,因而导致埋点验证的效率低下。在共享出行项目中,迭代周期较短,动态页面数据的改动可能会引起埋点数据发生变化,当然这些数据并不是开发人员主观上的改动,这些数据的改动可能会对需要采集的数据产生影响,造成上报数据不准确。如果每个迭代的埋点数据无法被测试人员全部回归测试,有可能会产生埋点数据上报错误的问题。回归埋点测试数据工作量巨大,需要耗费巨大的人力。
因此,本领域的技术人员致力于开发一种埋点的自动化测试及验证方法、系统、装置及存储介质。针对于此痛点,在这里提供一个通过Appium自动化工具进行埋点自动化测试的方案。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是,针对一些没有需求改动的页面,在进行埋点验证的时候,需要用户手动操作来触发埋点,耗费的人力多,因而导致埋点验证的效率低下。每次进行版本迭代时,都需要对这些页面进行重复的埋点验证,该工作任务量大,步骤较为繁琐,造成了不必要的人力浪费。
为实现上述目的,本发明提供了一种埋点的自动化测试方法,包括:运行测试脚本,其中,测试脚本包括能够触发埋点的操作的代码;保存埋点被触发所产生的数据作为测试数据;比对埋点的测试数据与埋点的参照数据;以及输出比对结果,其中,比对结果包括指示测试数据与参照数据是否不一致的内容。
在本发明的较佳实施方式中,在运行测试脚本之前,还包括:在待测应用的页面上进行操作以触发埋点,所述页面包括一个或多个所述埋点;以及保存埋点被触发所产生的数据作为参照数据。
在本发明的另一较佳实施方式中,还包括:在产生所述参照数据的同时,记录触发埋点的操作;以及生成包括操作的代码的测试脚本。
在本发明的另一较佳实施方式中,每一个页面对应一个测试脚本,通过自动化工具软件运行所述测试脚本以得到与所述页面相对应的测试数据。
在本发明的另一较佳实施方式中,所述操作能够触发所述页面中的全部或部分所述埋点。
在本发明的另一较佳实施方式中,触发埋点的操作包括以下一种或多种操作:进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本。
在本发明的另一较佳实施方式中,所述埋点所对应的数据内容之间通过换行或写入特定的符号进行间隔。
本发明还提供一种埋点的自动化测试系统,包括:运行模块,运行模块被配置为能够运行测试脚本,其中,测试脚本包括能够触发埋点的操作的代码;保存模块,保存模块被配置为能够保存埋点被触发所产生的数据作为测试数据;比对模块,模块被配置为能够比对埋点的测试数据与埋点的参照数据;以及输出模块,输出模块被配置为能够输出比对结果,其中,比对结果包括指示测试数据与参照数据是否不一致的内容。
在本发明的较佳实施方式中,保存模块被配置为能够在运行测试脚本之前,保存埋点被触发所产生的数据作为参照数据。
在本发明的另一较佳实施方式中,还包括:记录模块,记录模块被配置为能够在触发埋点的同时,记录触发埋点的操作;以及生成模块,生成模块被配置为能够生成包括操作的测试脚本。
在本发明的另一较佳实施方式中,待测应用包括一个或多个页面,页面包括一个或多个埋点,每一个页面对应一个测试脚本。
在本发明的另一较佳实施方式中,所述操作能够触发所述页面中的全部或部分所述埋点。
在本发明的另一较佳实施方式中,触发埋点的操作包括以下一种或多种操作:进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本。
在本发明的另一较佳实施方式中,埋点所对应的数据内容之间通过换行或写入特定的符号进行间隔。
本发明还提供一种埋点的自动化测试装置,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,处理器被配置为能够在执行计算机程序时实现上述的埋点的自动化测试方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时能够实现上述的埋点的自动化测试方法的步骤。
本发明的技术关键点之一是利用Appium录制脚本,同时在录制脚本过程中,将埋点数据写入Appium指定的文件路径中作为参照数据,在后续的迭代回归测试中,运行相应的脚本即可自动生成相应的埋点文件。进而在通过脚本自动比对参照埋点文本和目标埋点文本自动生成比对报告。
本发明提供的方法、系统、装置及存储介质至少具有以下技术效果:
一是脚本的录制,通过Appium等自动化工具软件自动录制脚本,无需手动重复定位元素和写大量重复的点击语句,用户只需要点击输入框,点击弹窗,滑动滑动条,滑动屏幕,点击软键盘并输入文本(本发明的实施例中选择的是Python语言)。这时候生成的脚本是非常简单的,只是对你操作的步骤进行记录,自动会生成脚本。操作简单,效率得到极大的提升。
二是通过PyCharm等自动化工具软件运行脚本,直接生成埋点数据文件,通过脚本再次进行比对自动生成比对文件,节省了测试回归验证的时间,比对结果以文档形式输出,清晰明了。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的埋点的自动化测试方法的一个较佳实施例的步骤流程图。
图2是本发明的埋点的自动化测试方法的另一个较佳实施例的步骤流程图。
图3是本发明的埋点的自动化测试方法的另一个较佳实施例的步骤流程图。
图4是本发明的使用Appium工具实现埋点的自动化测试方法的一个较佳实施例的步骤流程图。
图5是本发明的Appium脚本录制的一个较佳实施例的界面示意图。
图6是本发明的使用Appium工具实现埋点的自动化测试方法的另一个较佳实施例的步骤流程图。
图7为本发明中计算机装置、设备或终端的一个较佳实施例的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了阐释的目的而描述了本发明的一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。
图1是本发明的埋点的自动化测试方法的一个较佳实施例的步骤流程图。如图1所示,本发明的一种埋点的自动化测试方法包括以下步骤:
步骤S110,运行测试脚本,其中,测试脚本包括能够触发埋点的操作。针对待测应用运行测试脚本,以触发预先设置在待测应用及其页面中的埋点。测试脚本可以是预先编写好的可运行脚本,也可以是由软件工具根据相应的设置或操作生成的可运行脚本。
待测应用包括一个或多个页面,页面包括一个或多个埋点,每一个页面对应一个测试脚本,以及测试脚本包括能够触发全部或部分页面中的埋点的操作。触发埋点的操作可以包括以下一种或多种操作:进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本。其中,曝光可以包括在某个页面停留的时间或者在页面某个位置停留的时间。
在一些实施例中,可以通过在触发埋点的同时记录触发埋点的操作,来生成包括对应操作的测试脚本。
在一些实施例中,可以使用Appium工具录制测试脚本。Appium是一个开源的,适用于原生或混合移动应用(hybrid mobile Apps)的自动化测试工具,Appium应用WebDriver:JSON wire protocol驱动安卓和iOS移动应用。Appium的特点:支持多平台(Android、iOS等),支持多语言(Python、java、Ruby、js、c#等)。Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。Appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是能够做到支持多语言的原因;Appium扩展了WebDriver的协议,没有自己重新去实现一套,这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量。
可以通过以下步骤启动Appium工具开始录制脚本:
1.启动Appium服务;
2.启动模拟器;
3.检查电脑和模拟器是否正常连接;
4.点击[Start Inspector Session];
5.设置Android或iOS系统版本、设备名、App包名等;
6.点击[Start Session];
7.点击开始录制。
然后即可按照实际应用环境进行各种操作,Appium即可对操作进行记录并生成代码化的脚本。在不同的实施例中,可以使用不同格式的代码,例如Python、java、Ruby、js、c#等。
经过以上步骤生成自动化回归场景的脚本,脚本代码复制到运行工具(例如PyCharm)后,将脚本代码和自定义代码编辑好后点击PyCharm的运行按键,自定义代码启动Appium软件,将模拟器在Appium运行起来,同时PyCharm软件继续执行脚本代码,模拟回归场景。
PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
步骤S120,保存埋点被触发所产生的数据作为测试数据。模拟实际应用环境并进行各类操作,当操作触发埋点时即产生相应的埋点数据,保存埋点数据作为本次测试数据。
在一些实施例中,可以统一iOS/Android端和Appium端配置文件路径。Appium端在移动端设备内写入一个记录scriptID和用来存储目标埋点信息路径path的文件,iOS端或Android端通过读取配置文件读取当前的已有录制的脚本文件,如果有则清空当前文件目标埋点的数据内容。如果没有,则创建对应的,准备写入。当目标脚本开始执行进入到目标场景时,开始上报埋点,即将埋点写入Appium指定目录下的文件成为目标埋点文件。
在一些实施例中,可以设置静态的存储路径,向其写入或从其读取埋点数据。但由于应用可能运行在不同的系统环境中,例如iOS端、Android端、或者不同版本的Android端等,不同的系统环境中对存储路径的设置可能有不同的限制,难以面向不同的系统环境设置相同的静态路径,可能会产生这样的情况:在某些系统环境中可以正常设置的存储路径,在其他一些系统环境中无法设置,因此需要针对不同的系统环境设置不同的静态路径。
在另一些实施例中,可以动态地设置存储路径,以适应不同系统环境的限制或要求。具体地说,Appium启动后先针对待运行的脚本生成特定的编号scriptID(例如001、002等),经过一系列操作产生相应的埋点数据并以文件的形式(例如A.txt、B.txt等)保存到系统本地,此时即在当前系统环境下产生一个存储路径,然后将埋点数据的存储路径path再提供给Appium,从而实现系统端和Appium端配置的统一。通过这种方式设置的动态路径,可以使用同样的方法适应不同的系统环境,而无需针对不同的系统环境设置不同的静态路径。
步骤S130,比对埋点的测试数据与埋点的参照数据。在运行测试脚本之前,可以先生成一组埋点数据作为参照数据以作为比对基础。通常是在某个应用或页面新开发或更新后的第一次埋点检测时,先根据预设的操作生成一组埋点数据作为参照数据,之后每次对该应用或该页面进行测试所生成的埋点数据作为测试数据,将测试数据与参照数据进行比较,即可反映出该应用或该页面所设置的埋点在该应用或该页面的开发迭代更新的过程中是否受到影响或产生变化。
步骤S140,输出比对结果,其中,比对结果包括指示测试数据与参照数据是否不一致的内容。
在一些实施例中,可以在PyCharm里面执行Appium录制的目标页面脚本,根据移动端生成的埋点数据和参照数据进行比对,比对不同的地方进行标注,输出生成的比对文件。在一些实施例中,可以每一个页面录制一个脚本,将整个项目或整个应用切片化,以便于快速比对和分析。
目标埋点信息是设置于目标页面中的被指定页面进入或退出、点击、曝光等类型的埋点信息。根据录制的脚本,模拟用户的行为操作,每生成一条埋点字符串便写入到埋点文件中。每一条埋点所对应的数据内容之间可以通过换行、写入特定的符号或者其他方式进行间隔,不仅便于下一条数据的写入,也便于后续的比对、读取或分析。
逐一取出埋点数据与参照数据中的埋点数据做对比,将对比不一致的数据以及行号写入对比报告中。可以理解,若目标页面中设置有多个埋点,可以只模拟脚本中提供的操作所触发的埋点,所以,目标页面对应的目标埋点信息中则可以不包括脚本中未出现的的埋点标识,因而,目标埋点信息,可以是目标页面所对应的埋点信息中的至少一部分,而不限定为全部。
在一些实施例中,参与生成参照埋点文件、录制脚本、目标埋点文件的机型要求使用同一台设备进行操作,以排除其他非相关因素的干扰。
图2是本发明的埋点的自动化测试方法的另一个较佳实施例的步骤流程图。如图2所示,在运行测试脚本之前,还可以通过以下步骤得到埋点的参照数据,以作为与测试数据比对的基础:
步骤S210,触发埋点。在某个应用或页面新开发或更新后的第一次埋点检测时,先根据预设的操作在该应用中或该页上进行相应的操作,例如进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本等。这些操作可以触发预先设置在该应用中或该页面上的一个或多个埋点。
步骤S220,保存埋点被触发所产生的数据作为参照数据。埋点被触发后即可产生相应的埋点数据,根据指定的或特定的存储路径保存所生成的埋点数据,以作为参照数据。在之后的测试中,可以将测试数据与参照数据进行比较,即可反映出该应用或该页面所设置的埋点在该应用或该页面的开发迭代更新的过程中是否受到影响或产生变化。
图3是本发明的埋点的自动化测试方法的另一个较佳实施例的步骤流程图。
如图3所示,可以通过以下步骤得到测试脚本:
步骤S310,在触发埋点的同时,记录触发埋点的操作。在一些实施例中,可以在进行操作触发埋点以获取参照数据的同时,对所进行的操作进行录制,得到与参照数据相对应的脚本,以作为后续进行测试所使用的测试脚本。
步骤S320,生成包括操作的测试脚本。类似的,可以先启动Appium工具,使用Appium工具对触发埋点的操作进行录制,得到代码化的测试脚本。
图4是本发明的使用Appium工具实现埋点的自动化测试方法的一个较佳实施例的步骤流程图。如图4所示,可以通过Appium自动化测试工具进入要自动化测试的页面进行一键录制的脚本,并且产生相对应的埋点数据,移动端将产生的埋点数据写入Appium指定目录下的文件内,将此文件备份作为参照文件。后续开发的版本运行录制的脚本,则会产生新的埋点数据文件,利用脚本对两份文件进行比对。如果一致,则埋点自动化比对通过,否则,比对不通过,说明该页面数据发生改动,比对出异常的报告。根据生成异常报告,判断是否是错误数据引起,快速进行判断。这样对于复杂的业务流程来说可以显著地提高效率,且当项目迭代时,只需要重新录制一遍相关改动的业务流程即可,其他的脚本就可以作为埋点的回归测试。
图5是本发明的Appium脚本录制的一个较佳实施例的界面示意图。如图5所示,可以通过以下步骤开始Appium脚本录制:启动Appium服务;启动模拟器;检查电脑和模拟器是否正常连接;点击[Start Inspector Session];设置Android或iOS系统版本、设备名、App包名等;点击[Start Session];点击开始录制。
经过以上步骤生成自动化回归场景的脚本,代码复制到PyCharm后,代码编辑好后点击PyCharm的运行按键,Appium就会在手机上面自动运行脚本。更具体地说,经过以上步骤生成自动化回归场景的脚本,脚本代码复制到PyCharm工具后,将脚本代码和自定义代码编辑好后点击PyCharm的运行按键,自定义代码启动Appium软件,将模拟器在Appium运行起来,同时PyCharm软件继续执行脚本代码,模拟回归场景。
如图5所示,可以选择Python代码格式,在Recorder区域即可实时地生成相应的脚本代码内容,在App Source区域可显示相对应的页面元素的属性,以便于查阅。
在一些实施例中,可以配合使用Inspector以方便查找页面元素,打开这个查看元素工具首先要确保Appium Server要运行起来。
图6是本发明的使用Appium工具实现埋点的自动化测试方法的另一个较佳实施例的步骤流程图。如图6所示,移动端保存埋点信息至Appium指定目录文件,对比埋点数据,生成对比报告。
统一iOS端、Android端、Appium端配置文件路径。Appium端在移动端设备内写入一个记录scriptID和用来存储目标埋点信息路径path的文件,iOS端或Android端通过读取配置文件读取当前的已有录制的脚本文件,如果有则清空当前文件目标埋点内容。如果没有,则创建对应的,准备写入。当目标脚本开始执行进入到目标场景时,开始上报埋点,即将埋点写入Appium指定目录下的文件成为目标埋点文件。
在PyCharm里面执行Appium录制的目标页面脚本,根据移动端生成的埋点数据和参照文件进行比对,比对不同的地方进行标注,输出生成的比对文件。在这里建议,每一个页面录制一个脚本,将项目切片化,便于快速比对和分析。目标埋点信息是设置于目标页面中的被指定页面进入或退出、点击、曝光等类型的埋点信息。根据录制的脚本,模拟用户的行为操作,每生成一条埋点字符串便写入到埋点文件中,并换行,便于下一条数据的写入。对比的脚本解析生成的埋点文件,一一取出埋点数据与参照文件中的埋点数据做对比,将对比不一致的数据以及行号写入对比报告中。可以理解,若目标页面中设置有多个埋点,可以只模拟脚本中提供的用户行为埋点,所以,目标页面对应的目标埋点信息中则可以不包括脚本中未出现的的埋点标识,因而,目标埋点信息,是目标页面所对应的埋点信息中的至少部分,而不限定为全部。以上参与生成参照埋点文件、录制脚本、目标埋点文件的机型为排除其他非相关因素的干扰,可以是同一台设备进行操作。
本发明还提供一种埋点的自动化测试系统,包括运行模块、保存模块、比对模块、输出模块、记录模块、生成模块等硬件和/或软件模块,各个模块互相配合,能够实现上述的埋点的自动化测试方法。
在一些实施例中,运行模块用于运行测试脚本,其中,测试脚本包括能够触发埋点的操作。针对待测应用运行测试脚本,以触发预先设置在待测应用及其页面中的埋点。保存模块用于保存埋点被触发所产生的数据作为测试数据。保存模块还用于在运行测试脚本之前,保存埋点被触发所产生的数据作为参照数据。比对模块用于比对埋点的测试数据与埋点的参照数据。输出模块用于输出比对结果,其中,比对结果包括指示测试数据与参照数据是否不一致的内容。记录模块用于在触发埋点的同时,记录触发埋点的操作。生成模块用于生成包括操作的测试脚本。
在一些实施例中,待测应用可以包括一个或多个页面,页面可以包括一个或多个埋点,每一个页面对应一个测试脚本,以及测试脚本包括能够触发页面中全部或部分埋点的操作。在一些实施例中,触发埋点的操作包括以下一种或多种操作:进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本。
本发明技术方案的关键点之一是利用Appium录制脚本,同时在录制脚本过程中,将埋点数据写入Appium指定的文件路径中作为参照文件,在后续的迭代回归测试中,运行相应的脚本即可自动生成相应的埋点文件。进而在通过脚本自动比对参照埋点文本和目标埋点文本自动生成比对报告。
本发明技术方案带来的有益效果至少包括:
一是脚本的录制,通过Appium工具自动录制脚本,无需手动copy selector定位(重复定位元素)和写大量重复的click(点击)语句,用户只需要点击输入框,点击Alert(弹窗),滑动滑动条,滑动屏幕,点击软键盘并输入文本(上述一个实施例选择是Python语言)。这时候Inspector生成的脚本是非常简单的,只是对你操作的步骤进行记录,自动会生成脚本。操作简单,效率得到极大的提升。
二是通过PyCharm运行脚本,直接生成埋点数据文件,通过脚本再次进行比对自动生成比对文件,节省了测试回归验证的时间,比对结果以文档形式输出,清晰明了。
本申请提供的技术方案可以是系统、方法、装置和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
在一些实施例中,本申请还提供一种计算机装置、设备或终端,其一个实施例的内部结构可以如图7所示。该计算机装置、设备或终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,处理器用于提供计算和控制能力,存储器包括非易失性存储介质、内存储器。非易失性存储介质存储有操作系统和计算机程序。内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。网络接口用于与外部的终端通过网络连接通信。计算机程序被处理器执行时以实现本申请公开的各种方法、流程、步骤,或者处理器执行计算机程序时实现本申请公开的实施例中各个模块或单元的功能。显示屏可以是液晶显示屏或者电子墨水显示屏,输入装置可以是显示屏上覆盖的触摸层,也可以是外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
示例性的,计算机程序可以被分割成一个或多个模块或单元,这些模块或单元被存储在存储器中,并可由处理器执行,以实现本申请的技术方案。这些模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在装置、设备或终端中的执行过程。
上述的装置、设备或终端可以是桌上型计算机、笔记本、移动电子设备、掌上电脑及云端服务器等计算设备。本领域技术人员应当理解,图中所示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、设备或终端的限定,具体的装置、设备或终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
处理器可以是中央处理单元(Central Processing Unit,CPU),也可以是其他通用或专用的处理器、微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器是上述的装置、设备或终端的控制中心,利用各种接口和线路连接装置、设备或终端的各个部分。
存储器可用于存储计算机程序、模块和数据,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置、设备或终端的各种功能。存储器可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;数据存储区可存储根据应用所创建的各类数据(比如多媒体数据、文档、操作历史记录等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
上述的装置或终端设备集成的模块和单元,如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质中。基于这样的理解,本申请实现所公开的各种方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
在一些实施例中,本申请公开的各种方法、流程、模块、装置、设备或系统可以在一个或多个处理装置(例如,数字处理器、模拟处理器、被设计成用于处理信息的数字电路、被设计成用于处理信息的模拟电路、状态机、计算设备、计算机和/或用于以电子方式处理信息的其他机构)中被实现或执行。该一个或多个处理装置可以包括响应于以电子方式存储在电子存储介质上的指令来执行方法的一些或所有操作的一个或多个装置。该一个或多个处理装置可以包括通过硬件、固件和/或软件被配置而专门设计成用于执行方法的一项或多项操作的一个或多个装置。以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,根据本申请的技术方案及其发明构思加以等同替换或改变,都应涵盖在本申请的保护范围之内。
本申请的实施方式可以在硬件、固件、软件或其各种组合中进行,还可以作为存储在机器可读介质上的且可以使用一个或多个处理装置读取和执行的指令来实现。在一些实施方式中,机器可读介质可以包括用于存储和/或传输呈机器(例如,计算装置)可读形式的信息的各种机构。例如,机器可读存储介质可以包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、快闪存储器装置以及用于存储信息的其他介质,并且机器可读传输介质可以包括多种形式的传播信号(包括载波、红外信号、数字信号)以及用于传输信息的其他介质。虽然在执行某些动作的特定示例性方面和实施方式的角度可以在以上公开内容中描述固件、软件、例程或指令,但将明显的是,这类描述仅出于方便目的并且这类动作实际上由机器设备、计算装置、处理装置、处理器、控制器、或执行固件、软件、例程或指令的其他装置或机器产生。
在本申请的权利要求书和说明书中,用来执行指定功能的模块或者使用功能性特征描述的模块,意在涵盖能够执行该功能的任何方式,例如:执行该功能的电路元件的组合,用来执行或实现该功能的软件、硬件以及软件和硬件的组合,或者任何形式的软件、固件、代码及其与适当电路或其他装置的组合。由各种模块提供的功能被以权利要求书所主张的方式组合在一起,由此应当认为,是可以提供这些功能的任何模块、部件、元件都等价或等效于权利要求书中限定的模块。根据电路的等效变换的原理,也可以对本申请中一些实施例的电路结构进行变更、修改,例如:将电流源变换为电压源、串联结构变换为并联结构等,从而获得更多样化的实施例,但这些变更和修改均属于本申请公开的范围。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种埋点的自动化测试方法,其特征在于,包括:
运行测试脚本,其中,所述测试脚本包括能够触发所述埋点的操作的代码;
保存所述埋点被触发所产生的数据作为测试数据;
比对所述埋点的所述测试数据与所述埋点的参照数据;以及
输出比对结果,其中,所述比对结果包括指示所述测试数据与所述参照数据是否不一致的内容。
2.如权利要求1所述的埋点的自动化测试方法,其特征在于,在运行所述测试脚本之前,还包括:
在待测应用的页面上进行操作以触发所述埋点,所述页面包括一个或多个所述埋点;以及
保存所述埋点被触发所产生的数据作为所述参照数据。
3.如权利要求2所述的埋点的自动化测试方法,其特征在于,还包括:
在产生所述参照数据的同时,记录触发所述埋点的所述操作;以及
生成包括所述操作的代码的所述测试脚本。
4.如权利要求1-3中任一项所述的埋点的自动化测试方法,其特征在于:
每一个所述页面对应一个所述测试脚本,通过自动化工具软件运行所述测试脚本以得到与所述页面相对应的所述测试数据。
5.如权利要求4所述的埋点的自动化测试方法,其特征在于:
所述操作能够触发所述页面中的全部或部分所述埋点。
6.如权利要求4所述的埋点的自动化测试方法,其特征在于:
触发所述埋点的所述操作包括以下一种或多种操作:进入页面、退出页面、点击、曝光、滚动页面、滑动屏幕、输入文本。
7.如权利要求4所述的埋点的自动化测试方法,其特征在于:
所述埋点所对应的数据内容之间通过换行或写入特定的符号进行间隔。
8.一种埋点的自动化测试系统,其特征在于,包括:
运行模块,所述运行模块被配置为能够运行测试脚本,其中,所述测试脚本包括能够触发所述埋点的操作的代码;
保存模块,所述保存模块被配置为能够保存所述埋点被触发所产生的数据作为测试数据;
比对模块,所述模块被配置为能够比对所述埋点的所述测试数据与所述埋点的参照数据;以及
输出模块,所述输出模块被配置为能够输出比对结果,其中,所述比对结果包括指示所述测试数据与所述参照数据是否不一致的内容。
9.一种埋点的自动化测试装置,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,其特征在于,所述处理器被配置为能够在执行所述计算机程序时实现根据权利要求1-7中任一项所述的埋点的自动化测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能够实现根据权利要求1-7中任一项所述的埋点的自动化测试方法的步骤。
CN202210151224.7A 2022-02-15 2022-02-15 一种埋点的自动化测试方法、系统、装置及存储介质 Pending CN114546850A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210151224.7A CN114546850A (zh) 2022-02-15 2022-02-15 一种埋点的自动化测试方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210151224.7A CN114546850A (zh) 2022-02-15 2022-02-15 一种埋点的自动化测试方法、系统、装置及存储介质

Publications (1)

Publication Number Publication Date
CN114546850A true CN114546850A (zh) 2022-05-27

Family

ID=81675766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210151224.7A Pending CN114546850A (zh) 2022-02-15 2022-02-15 一种埋点的自动化测试方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114546850A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185881A (zh) * 2023-04-27 2023-05-30 杭州城市大数据运营有限公司 源系统页面变化检测定位方法、装置、设备、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185881A (zh) * 2023-04-27 2023-05-30 杭州城市大数据运营有限公司 源系统页面变化检测定位方法、装置、设备、存储介质

Similar Documents

Publication Publication Date Title
CN111061526B (zh) 自动化测试方法、装置、计算机设备及存储介质
CN108959068B (zh) 软件界面测试方法、设备及存储介质
CN109871326B (zh) 一种脚本录制的方法和装置
CN109117131B (zh) 代码生成方法及装置、存储介质及电子终端
CN107506300B (zh) 一种用户界面测试方法、装置、服务器和存储介质
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
US20130311827A1 (en) METHOD and APPARATUS for automatic testing of automation software
WO2018184361A1 (zh) 应用程序测试方法、服务器、终端和存储介质
US11237948B2 (en) Rendering engine component abstraction system
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN116841865A (zh) 可视化测试方法、装置、电子设备及存储介质
CN115061912A (zh) 一种测试用例的生成与测试方法、系统及介质
CN109710523B (zh) 视觉稿的测试用例生成方法及装置、存储介质、电子设备
CN114461533A (zh) Web页面自动化测试的方法、系统、电子装置和存储介质
CN114546850A (zh) 一种埋点的自动化测试方法、系统、装置及存储介质
JP2022097425A (ja) 方法、コンピュータ・プログラム製品、およびコンピュータ・システム(ソフトウェア・アプリケーションのコンポーネントのテスト)
CN111488275B (zh) Ui自动化测试方法、装置、存储介质及电子设备
CN112988578A (zh) 一种自动化测试方法和装置
CN111767209A (zh) 代码测试方法、装置、存储介质以及终端
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
CN116841543A (zh) 基于Flutter动态生成跨平台多端应用的开发方法
CN111078529A (zh) 客户端写入模块测试方法、装置、电子设备
CN114238048B (zh) 一种Web前端性能自动化测试方法及系统
CN111061627B (zh) 网页埋点方法、装置、电子设备及存储介质
CN113885841A (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