CN112711536A - 自动拨测方法及系统、计算机可读存储介质 - Google Patents

自动拨测方法及系统、计算机可读存储介质 Download PDF

Info

Publication number
CN112711536A
CN112711536A CN202011613403.5A CN202011613403A CN112711536A CN 112711536 A CN112711536 A CN 112711536A CN 202011613403 A CN202011613403 A CN 202011613403A CN 112711536 A CN112711536 A CN 112711536A
Authority
CN
China
Prior art keywords
service
interface
tested
picture
client
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
CN202011613403.5A
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.)
Guangdong Yueyun Industrial Internet Innovation Technology Co ltd
Original Assignee
Guangdong Yueyun Industrial Internet Innovation 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 Guangdong Yueyun Industrial Internet Innovation Technology Co ltd filed Critical Guangdong Yueyun Industrial Internet Innovation Technology Co ltd
Priority to CN202011613403.5A priority Critical patent/CN112711536A/zh
Publication of CN112711536A publication Critical patent/CN112711536A/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/3684Test management for test design, e.g. generating new test cases
    • 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/3696Methods or tools to render software testable

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

自动拨测方法及系统、计算机可读存储介质
技术领域
本申请涉及自动化拨测技术领域,特别是涉及一种自动拨测方法及系统、计算机可读存储介质。
背景技术
拨测即拨号测试,是一种通讯技术,最初为运营人员用拨打通话号码来判断通讯线路是否正常、畅通。拨测现已扩展到互联网软件产品领域,是指运营人员模拟用户使用软件,来判断业务可用性。在需要与服务器交互的软件产品上线后,业务运营人员需固定或不固定的对软件主要业务流程进行测试,以便观察系统是否能够正常运行,并保持应有的设计性能。
本申请的发明人在长期的研发过程中发现,现有的自动化拨测无法还原业务在终端上人机交互的业务全流程,无法直观观察业务的可用性。
发明内容
本申请主要解决的技术问题是如何提高业务自动拨测的运行流程及运行结果的直观性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种自动拨测方法。该自动拨测方法包括:拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤;响应于执行条件被触发,拨测端将测试脚本发送给客户端;客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面;客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果;客户端基于比对结果生成测试报告。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种自动拨测系统。该自动拨测系统包括:拨测端及与拨测端通信的客户端,拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤;响应于执行条件被触发,拨测端将测试脚本发送给客户端;客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面;客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果;客户端基于比对结果生成测试报告。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种计算机可读存储介质。该计算机可读存储介质存储有程序指令,程序指令能够被执行以实现上述自动拨测方法。
本申请实施例的有益效果是:本申请自动拨测方法包括:拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤;响应于执行条件被触发,拨测端将测试脚本发送给客户端;客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面;客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果;客户端基于比对结果生成测试报告。通过这种方式,本实施例触发执行条件,以使拨测端将测试脚本发送给客户端并控制客户端对待测业务进行拨测,因此能够实现待测业务的自动化拨测;且本实施例为待测业务的操作步骤渲染操作界面,使得操作步骤的运行过程及运行结果等信息都能采用界面图片形式存在,因此能够使得待测业务的运行流程及结果更加直观。因此,本申请不仅能够实现业务的自动拨测,且能够提高业务自动拨测的运行流程及运行结果的直观性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请自动拨测方法一实施例的流程示意图;
图2是本申请自动拨测方法一实施例的流程示意图;
图3是图2实施例自动拨测方法中步骤S203的具体步骤流程示意图;
图4是本申请自动拨测方法一实施例的流程示意图;
图5是本申请自动拨测方法一实施例的流程示意图;
图6是本申请自动拨测方法一实施例的流程示意图;
图7是本申请图片比对方法一实施例的流程示意图;
图8是图7实施例图片比对方法中步骤S705的具体步骤流程示意图;
图9是图8实施例中步骤S802的具体步骤流程示意图;
图10是图8实施例中步骤S802的具体步骤流程示意图;
图11是图10实施例中步骤S1002的具体步骤流程示意图;
图12是图8实施例中步骤S802的具体步骤流程示意图;
图13是本申请图片比对方法一实施例的流程示意图;
图14是本申请自动拨测系统一实施例的结构示意图;
图15是图14实施例自动拨测系统一工作流程示意图;
图16是本申请计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
现有拨测一般采用人工或自动两种方式,其中自动拨测一般采用专用的软件,由专业的技术开发人员根据服务器接口编制测试脚本,当脚本运行时,测试软件自动向服务器接口发起请求,并获取返回值,通过判断返回值的正确与否,从而判断业务是否正常运行。
因此现有自动拨测只能判断服务器是否运行,并不能判断服务器数据在终端上渲染后的界面是否正常,无法测试业务的性能指标;且脚本需要专业人员编制,而实际执行测试的业务运营人员往往不具备脚本编制能力,因此通过这种方式无法还原出业务在终端上人机交互的业务全流程,无法直观观察业务的可用性。
为解决上述问题,本申请首先提出一种自动拨测方法,如图1所示,图1是本申请自动拨测方法一实施例的流程示意图。本实施例自动拨测方法具体包括以下步骤:
步骤S101:拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤。
拨测端可以是服务器或者专业的拨测管理平台等,具体不做限定。
本实施例的执行条件可以是定时触发条件或者指令触发条件。例如,在拨测端设置计时器程序,并设置预设时长,在计时器的计时等于或者大于预设时长时,定时触发条件被触发,当然也可以利用时钟模块代替计时器;又例如,拨测端接收到操作指令时,指令触发条件被触发。
待测业务可以是单个或者多个业务程序,其往往包含多个操作步骤(业务流程),多个操作步骤以设定的执行逻辑运行,以保证待测业务的正常运行。
步骤S102:响应于执行条件被触发,拨测端将测试脚本发送给客户端。
其中,本实施例的客户端可以是移动终端,例如手机等,或者是其它电子产品,例如电脑等。
拨测端在计时器的计时等于或者大于预设时长,或者接收到操作指令时,执行条件被触发,将已编制的待测业务的测试脚本发送给客户端。
步骤S103:客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面。
本实施例的测试脚本进一步包括待测业务的启动方法,客户端从测试脚本中获取待测业务的启动方法,并按照该启动方法启动运行待测业务;该启动方法至少包括启动指令及待测业务的标识信息,以使客户端能够根据标识信息识别所要拨测的待测业务。
为提高拨测过程及结果的直观性,在待测业务的操作步骤的运行过程和运行结果都会渲染至客户端的界面。
步骤S104:客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果。
本实施例的界面图片包括待测业务的每个操作步骤运行过程的界面图片及运行结果的界面图片。
步骤S105:客户端基于比对结果生成测试报告。
响应于界面图片与预设图片的失败,则生成错误日志及告警信息。
本实施例的测试报告至少包括:待测业务的所有操作步骤(运行过程及运行结果)的界面图片的比对结果、比对的异常情况以及按报表方式呈现每个操作步骤操作所用的时间长度等。
进一步地,客户端将测试报告发送给拨测端,以使拨测端对测试报告进行分析,并对告警信息进行及时处理。
区别于现有技术,本实施例触发执行条件,以使拨测端将测试脚本发送给客户端并控制客户端对待测业务进行拨测,因此能够实现待测业务的自动化拨测;且本实施例为待测业务的操作步骤渲染操作界面,使得操作步骤的运行过程及运行结果等信息都能采用界面图片形式存在,因此能够使得待测业务的运行流程及结果更加直观。因此,本申请不仅能够实现业务的自动拨测,且能够提高业务自动拨测的运行流程及运行结果的直观性。
本申请进一步提出另一实施例的自动拨测方法,如图2所示,本实施例自动拨测方法具体包括以下步骤:
步骤S201:客户端预运行待测业务,并获取待测业务运行时每个操作步骤的第一界面图片。
具体地,客户端按照待测业务的执行逻辑预运行待测业务的各个操作步骤,并获取各个操作步骤的操作界面的第一界面图片。一方面可以检测客户端安装的待测业务是否能正常运行,另一方面可以记录待测业务运行全部过程,并将每个操作步骤及其运行结果以界面图片形式保存下来。
在编制测试脚本前应先运行拨测端及客户端,保证客户端在拨测端的控制下待测业务程序能正常运行。
步骤S202:客户端将待测业务的执行逻辑及第一界面图片发送给拨测端。
客户端将待测业务的执行逻辑及第一界面图片发送给拨测端,以使拨测端能够根据执行逻辑及第一界面图片编制待测业务的测试脚本。
步骤S203:拨测端基于待测业务编制测试脚本,并设置执行条件。
本实施例的测试脚本可以采用格式化文本记录,其中,测试脚本中的图片可以用文件服务器存储,并记录图片的统一资源定位器(Uniform Resource Locator,URL);本实施例的测试脚本主要包含待测业务的启动方法、执行逻辑、测试脚本的创建时间、待测业务的所有操作步骤信息,该信息包括每个操作步骤的操作界面的截图URL、预期结果的URL及忽略不参与比对的区域等。
可选地,本实施例可以采用如图3所示的方法实现步骤S203。本实施例的方法具体包括步骤S301至步骤S304。
步骤S301:拨测端为待测业务编制启动方法。
该启动方法至少包括启动指令及待测业务的标识信息,以使客户端能够根据标识信息识别所要拨测的待测业务。
步骤S302:拨测端为待测业务编制操作步骤,并为操作步骤编制操作界面。
由上述分析可知待测业务具有多个操作步骤,拨测端分别为每个操作步骤编制操作界面。
拨测端可以根据客户端预运行时获取的操作步骤的第一界面图片编制操作界面。
步骤S303:拨测端在操作界面编制操作,其中,操作包括单击操作、双击操作、长按操作、扩张操作、缩小操作及滑动操作。
进一步地,拨测端将操作界面分为操作区域和非操作区域,并在操作区域编制上述操作;拨测端对非操作区域进行标记,并获取标记后的操作界面的界面图片为预设图片。
由上述分析可知,在生成测试报告时,需要对客户端待测业务运行的操作界面的界面图片与预设图片进行比对,本实施例的预设图片中具有可忽略(非操作)的图片区域,因此可以不对该可忽略图片区域进行图片比对,因此能够提高图片比对的效率,进而提高自动拨测的效率。
在其他实施例中,客户端还可以在操作界面上编制其它操作。
步骤S304:拨测端为待测业务编制执行逻辑。
待拨测业务的多个操作步骤应该以执行逻辑进行关联。
步骤S305:新建空白脚本,并将启动方法、操作步骤、操作界面及其操作、执行逻辑存储于空白脚本,以生成测试脚本。
测试脚本中还包括预设图片的可忽略图片区域的标识信息(可以是上述标记信息)。
在一应用场景中,如图4所示,拨测端开始编制测试脚本,先新建空白脚本,然后在空白脚本中设置待测业务的启动方法;接着新建步骤(操作步骤),在该步骤中,为操作步骤编制操作界面(该操作界面数据可以根据客户端提供的操作界面获得);接着从操作界面中划出操作区域,并在操作区域上新增操作,例如可以新增点击操作,还可以在点击操作下新增单击操作和双击操作,又例如可以新增长按操作,又例如可以新增两指缩放操作,还可以在两指缩放操作中新增扩张操作和缩小操作,又例如可以新增滑动操作,还可以选择滑动方向,等等;通过划分操作区域和新增操作,可以获得预期结果界面及其界面图片(对应于本申请的预设图片);根据操作区域可以获得该界面图片的可忽略区域(非操作区域);保存上述操作及步骤;可以采用上述方法实现待测业务的每个操作步骤的编制,并保存,以完成测试脚本的编制。
最后,为测试脚本设置执行条件,具体可以为测试脚本设置定时周期及时间(定时执行);执行条件还可以是其它触发条件,具体不做限定。
步骤S204:响应于执行条件被触发,拨测端将测试脚本发送给客户端。
步骤S205:客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面。
步骤S206:客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果。
步骤S207:客户端基于比对结果生成测试报告。
步骤S204至步骤S207与上述步骤S102至步骤S105类似,这里不赘述。
本申请进一步提出另一实施例的自动拨测方法,如图5所示,本实施例自动拨测方法具体包括以下步骤:
步骤S501:拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤。
步骤S502:响应于执行条件被触发,拨测端将测试脚本发送给客户端。
步骤S503:客户端根据测试脚本启动待测业务。
步骤S504:客户端按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面。
步骤S505:客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果。
步骤S501至步骤S505与上述步骤S102至步骤S104类似,这里不赘述。
步骤S506:响应于比对失败,客户端生成错误日志,并执行步骤S504。
响应于比对失败,客户端生成错误日志,按照执行逻辑运行待测业务的下一个操作步骤,直至运行完成待测业务的所有操作步骤。
其中,错误日志至少包括界面图片及界面渲染时间。
步骤S507:响应于比对成功,执行步骤S504。
响应于比对失败,客户端按照执行逻辑运行待测业务的下一个操作步骤,并保存当前操作步骤的运行过程数据及运行结果(可以以界面图片形式)。
步骤S508:客户端基于比对结果生成测试报告。
步骤S508与上述步骤S105类似,这里不赘述。
本实施例自动拨测方法进一步包括步骤S509和步骤S510。
步骤S509:客户端监测待测业务的运行状况。
步骤S510:响应于运行状况异常,客户端产生第一告警信息,将第一告警信息录入测试报告。
通过步骤S509和步骤S510能够在自动拨测产生异常时产生第一告警信息,客户端将测试报告发送给拨测端,使得运维人员根据第一告警信息对异常进行及时处理。
本实施例自动拨测方法进一步包括步骤S511至步骤S513。
步骤S511:响应于接收到对待测业务的拨测指令,客户端对待测业务进行功能监测。
拨测端在向客户端发送测试脚本之前或者在向客户端发送测试脚本的同时,向客户端发送拨测指令;客户端根据拨测指令对待测业务进行功能监测,以确定客户端安装的待测业务是否能正常运行。
步骤S512:响应于监测成功,执行步骤S503。
步骤S513:响应于监测失败,生成错误日志及产生第二告警信息,并将错误日志和第二告警信息录入测试报告。
通过步骤S511和步骤S513能够在待测业务功能检测失败时产生第二告警信息,客户端将测试报告发送给拨测端,使得运维人员根据第二告警信息对异常进行及时处理。
在一应用场景中,如图6所示,客户端接收到拨测指令及测试脚本后,对客户端进行功能自检;若自检通过,则启动业务(待测业务),按照顺序(执行逻辑)运行操作步骤,并为操作步骤渲染界面(操作界面);判断界面渲染是否完成,若完成,则记录渲染时间,并对操作界面进行截屏处理,以获得操作界面的截图(界面图片);将截图与预期界面(预设图片)进行比对,若截图符合预期界面,则按照顺序执行脚本预设操作(操作步骤),直至完成所有操作步骤;若截图不符合预期界面,则记录错误日志,并按照顺序执行脚本预设操作(操作步骤),直至完成所有操作步骤;若自检不通过,则记录错误日志,并产生告警,并将该告警写入测试报告;同时对各个操作步骤的运行进行监测,操作步骤的运行异常时,产生告警,并将该告警写入测试报告;最后将测试报告发送给拨测端,以拨测端测试报告进行分析及根据告警及时处理异常。
测试报告可以定时、根据操作步骤或者根据告警发送给拨测端。
本申请进一步提出一种图片比对方法,如图7所示,图7是本申请图片比对方法一实施例的流程示意图。本实施例图片比对方法具体包括以下步骤:
步骤S701:获取操作界面的界面图片与预设图片。
界面图片与预设图片是同一操作界面的两个截图。
步骤S702:获取界面图片的第一分辨率及预设图片的第二分辨率。
具体地,获取界面图片的宽度和高度,及获取预设图片的宽度和高度。
步骤S703:响应于第一分辨率与第二分辨率不同,通过等比例转换将界面图片及预设图片转换到同一像素坐标系。
受操作界面的分辨率的影响,不同分辨率设备的操作界面的界面截图(界面图片)的分辨率不同,导致在不同分辨率设备上的同一操作界面的位图信息不一致,因此,需要对界面图片和预设图片进行等比例转换,以使得二者具有同比例像素坐标系,即将界面图片及预设图片转换到同一个像素坐标系,能够使得同一个图片元素在界面图片中的位置坐标与其在预设图片中的位置坐标相同。
本实施例可以通过对界面图片和/或预设图片进行缩放来实现对界面图片和预设图片进行等比例转换。
步骤S704:从转换后的界面图片中提取第一特征信息,并从转换后的预设图片中提取第二特征信息。
其中,图片的特征信息可以包括图片元素及其位置坐标,图片元素可以包括色块、线条、文本等。
步骤S705:将第一特征信息与第二特征信息进行匹配。
可采用图8至图12实施例实现步骤S705。
步骤S706:响应于匹配成功,判定界面图片与预设图片一致。
响应于匹配失败,判定界面图片与预设图片不一致。
区别于现有技术,本实施例在对同一操作界面的不同图片的特征信息进行匹配时,先将不同的图片进行等比例转换,以使得不同的图片转换到同一个像素坐标系,能够使得同一图片元素在不同图片中的位图数据一致,能够避免因图片分辨率不同,导致图片元素的位图数据不一致,进而导致图片比对精度不高的问题;因此,本实施例能够提高图片比对的精准度。
可选地,本实施例可以采用如图8所示的方法实现步骤S705。本实施例的第一特征信息包括界面图片元素及界面图片元素在像素坐标系中的第一位置坐标,第二特征信息包括预设图片元素及预设图片元素在该像素坐标系中的第二位置坐标。本实施例的方法具体包括步骤S801至步骤S803。
步骤S801:将第一位置坐标与第二位置坐标进行匹配。
由上述分析可知,同一个图片元素在界面图片中的位置坐标与其在预设图片中的位置坐标相同,可以根据界面图片元素的第一位置坐标与预设图片元素的第二位置坐标是否一致来判断界面图片元素是否可能与预设图片元素匹配成功。
图片元素的位置坐标可以是图片元素距离图片上边缘和左边缘的百分比距离。
步骤S802:响应于第一位置坐标与第二位置坐标匹配成功,将界面图片元素与预设图片元素进行匹配。
响应于第一位置坐标与第二位置坐标相同,或者位置差值小于阈值,则认为第一位置与第二位置一致,二者匹配成功,可以进一步对第图片元素与预设图片元素进行匹配;响应于第一位置坐标与第二位置坐标不同,或者位置差值大于或等于阈值,则认为第一位置与第二位置不一致,二者匹配失败,可以直接判定界面图片元素与预设图片元素匹配失败。
步骤S803:响应于界面图片元素与预设图片元素匹配成功,判定界面图片与预设图片一致。
响应于界面图片元素与预设图片元素匹配失败,判定界面图片与预设图片不一致。
可选地,本实施例可以采用如图9所示的方法实现步骤S802。本实施例的界面图片元素包括第一色块,预设图片元素包括第二色块本实施例的方法具体包括步骤S901至步骤S903。
步骤S901:响应于第一色块的主体色与第二色块的主体色相同,计算第一色块在界面图片中的第一占比及第二色块在预设图片中的第二占比。
第一色块与第二色块的主体色相同,认为二者为同一颜色,若不同,则直接判定界面图片元素与预设图片元素匹配失败。
本实施例可以选择在图片中占比超过阈值的色块(颜色区域)进行匹配,该阈值可以是99%。
步骤S902:计算第一占比与第二占比的差值。
步骤S903:响应于差值小于第一阈值,判定界面图片元素与预设图片元素匹配成功。
若第一色块在界面图片的中第一占比与第二色块在预设图片中的第二占比之间的差值小于第一阈值,则可以认为第一色块与第二色块的一致,匹配成功;否则,认为第一色块与第二色块的不一致,匹配失败。
可选地,本实施例可以采用如图10所示的方法实现步骤S802。本实施例的界面图片元素包括第一文本,预设图片元素包括第二文本。本实施例的方法具体包括步骤S1001至步骤S1003。
步骤S1001:从第一文本中提取第一字符串,并从第二文本中提取第二字符串。
步骤S1002:将第一字符串与第二字符串进行匹配。
本实施例可以采用光学字符识别(Optical Character Recognition,OCR)等技术识别字符串。
具体地,本实施例可以采用如图11所示的方法实现步骤S1002。本实施例的方法包括步骤S1101至步骤S1104。
步骤S1101:从第一字符串中获取第一字符,并从第二字符串中获取第二字符串,其中,第一字符第二位置坐标的坐标值与第一位置坐标的坐标值相同。
本实施例可以采用OCR等技术从字符串中提取字符。
步骤S1102:将第一字符与第二字符进行匹配。
由上述分析可知,因界面图片与预设图片具有相同的像素坐标系,因此同一图片元素在界面图片中的第一位置坐标与在预设图片中的第二位置坐标相同,因此只需对具有相同位置坐标的第一字符与第二字符进行匹配就可以判断第一字符串与第二字符串是否一致。
步骤S1103:统计第一字符串中所有第一字符与第二字符传中对应的第二字符的匹配成功率。
步骤S1104:响应于匹配成功率大于第二阈值,则判定第一字符串与第二字符串匹配成功。
若第一字符串中所有第一字符与第二字符传中对应的第二字符的匹配成功率小于或等于第二阈值,则认为第一字符串与第二字符串匹配失败。
步骤S1003:响应于第一字符串与第二字符串匹配成功,判定界面图片元素与预设图片元素匹配成功。
响应于第一字符串与第二字符串匹配失败,判定界面图片元素与预设图片元素匹配失败。
可选地,本实施例可以采用如图12所示的方法实现步骤S802。本实施例的界面图片元素包括第一线条,预设图片元素包括第二线条本实施例的方法具体包括步骤S1201至步骤S1203。
步骤S1201:获取第一线条的第一长度,并获取第二线条的第二长度。
因线条的位置坐标的范围较大,因此上述方法中对图片元素的坐标位置的匹配,可以分别对线条的起始位置坐标和终止位置坐标进行匹配,又或者可以对线条的中线点的位置坐标进行匹配。
需要注意的是,线条往往有多种类型或形状,为提高线条的匹配精准度,可以先对线条的类型或形状进行匹配。
步骤S1202:计算第一长度与第二长度之间的差值。
步骤S1203:响应于差值小于第三阈值,判定界面图片元素与预设图片元素匹配成功。
响应于差值大于或等于第三阈值,判定第一线条与第二线条匹配失败。
一张图片中往往有多种相同类型或者不同类型的图片元素,可以利用上述方法分别将界面图片中的多个界面图片元素与预设图片中的对应的预设图片元素进行匹配处理,若多个界面图片元素与对应的预设图片元素都匹配成功,则判定界面图片与预设图片一致。
本申请进一步提出另一实施例的图片比对方法,如图13所示,本实施例图片比对方法具体包括以下步骤:
步骤S1301:获取操作界面的界面图片与预设图片。
步骤S1302:获取界面图片的第一分辨率及预设图片的第二分辨率。
步骤S1303:响应于第一分辨率与第二分辨率不同,通过等比例转换将界面图片及预设图片转换到同一像素坐标系。
步骤S1301至步骤S1303与上述步骤S701至步骤S703类似,这里不赘述。
步骤S1304:采用尺度不变特征变换从转换后的界面图片中提取第一特征信息及从转换后的预设图片中提取第二特征信息。
尺度不变特征变换是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;尺度不变特征变换具有独特性好、多量性、高速性、可扩展性等优点。
步骤S1305:计算第一特征信息与第二特征信息的余弦相似度。
具体地,获取第一特征信息的第一向量和第二特征信息的第二向量,并通过计算第一向量与第二向量的夹角余弦值来评估第一特征信息与第二特征信息的相似度。
步骤S1306:响应于余弦相似度大于第四阈值,判定第一特征信息与第二特征信息匹配成功。
响应于余弦相似度小于或者等于第四阈值,判定第一特征信息与第二特征信息匹配失败。
步骤S1307:响应于匹配成功,判定界面图片与预设图片一致。步骤S1307与上述步骤S706类似,这里不赘述。
进一步地,本申请实施例不对图片的忽略区域进行比对。
上述图片比对方法可用于上述自动拨测方法中的界面图片与预设图片的比对。
本申请进一步提出一种自动拨测系统,如图14所示,图14是本申请自动拨测系统一实施例的结构示意图。本实施例自动拨测系统70包括拨测端71及与拨测端71通信的客户端72,拨测端71基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤;响应于执行条件被触发,拨测端71将测试脚本发送给客户端72;客户端72根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面;客户端72获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果;客户端72基于比对结果生成测试报告。
本实施例自动拨测系统70还用于实现上述自动拨测方法,拨测端71与上述实施例的拨测端类似,客户端72与上述实施例的客户端类似,这里不赘述。
本实施例可采用上述图片比对方法实现界面图片与预设图片进行比对。
在一应用场景中,如图15所示,本实施例自动拨测系统70工作流程分为三个阶段:准备阶段、执行阶段及报告阶段;其中,准备阶段主要用于完成测试脚本的录入及编制、完成执行条件的设置;执行阶段主要用于在执行条件被触发时,根据测试脚本对待测业务进行自动测试,并判断测试结果与测试脚本中的预设结果是否一致;若不一致,则生成告警,若一致,则记录脚本运行过程数据及运行结果数据;报告阶段主要用于根据过程数据及运行结果数据生成测试报告,并发送即时消息告警,以通知运维人员进行相应处理。
在一应用场景中,本实施例自动拨测系统70的主要功能和方法总结如下:
通过开发APP程序,以及打开手机开发者模式,实现如下功能:
监听功能:能够接收到页面渲染完成的结果,能够截屏并本地存储,能够接受到服务器指令;
控制功能:能够模拟触屏对手机进行操作;
传输功能:能够发送信息和文件到服务器,能够接收到服务器发送的脚本;
驻留功能:能够驻留内存,在后台保持运行;
执行功能:能够启动和关闭程序;
安卓系统和IOS系统虽然开发方式不同,但均可实现以上功能。
通过开发计算机后台程序,实现如下功能:
监听功能:能够接收到终端发送的信息和文件,能够接收到终端的运行状态;
脚本管理:能够支持新增、删除、修改和查看脚本;
计划任务:能够根据定时器、触发器向终端发起指令;
报告管理:接收和存储测试报告,支持查阅、转发;
消息通知:支持向相关人员发送即时消息;
终端管理:监控测试终端,支持终端的登记、设置、移除,并实时显示终端的工作状态;
本实施例能够实现自动化拨测执行,由无需专业技术的运营人员直观的编制脚本,实现定时、随机、事件和人工的多种触发执行方式,拨测完成后自动生成可完整还原业务流程的测试报告,并在测试不通过时自动告警。
本申请进一步提出一种计算机可读存储介质,如图16所示,本实施例计算机可读存储介质80用于存储上述实施例的程序指令810,程序指令810能够被执行以上述方法实施例的方法。程序指令810已在上述方法实施例中进行了详细的叙述,这里不赘述。
本实施例计算机可读存储介质80可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
区别于现有技术,本申请自动拨测方法包括:拨测端基于待测业务编制测试脚本,并设置执行条件,测试脚本包括待测业务的执行逻辑及操作步骤;响应于执行条件被触发,拨测端将测试脚本发送给客户端;客户端根据测试脚本启动待测业务,按照执行逻辑运行操作步骤,且基于操作步骤渲染操作界面;客户端获取操作界面的界面图片,将界面图片与预设图片进行比对,得到比对结果;客户端基于比对结果生成测试报告。通过这种方式,本实施例触发执行条件,以使拨测端将测试脚本发送给客户端并控制客户端对待测业务进行拨测,因此能够实现待测业务的自动化拨测;且本实施例为待测业务的操作步骤渲染操作界面,使得操作步骤的运行过程及运行结果等信息都能采用界面图片形式存在,因此能够使得待测业务的运行流程及结果更加直观。因此,本申请不仅能够实现业务的自动拨测,且能够提高业务自动拨测的运行流程及运行结果的直观性。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、机构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、机构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效机构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种自动拨测方法,其特征在于,,包括:
拨测端基于待测业务编制测试脚本,并设置执行条件,所述测试脚本包括所述待测业务的执行逻辑及操作步骤;
响应于所述执行条件被触发,所述拨测端将所述测试脚本发送给客户端;
所述客户端根据所述测试脚本启动所述待测业务,按照所述执行逻辑运行所述操作步骤,且基于所述操作步骤渲染操作界面;
所述客户端获取所述操作界面的界面图片,将所述界面图片与预设图片进行比对,得到比对结果;
所述客户端基于比对结果生成测试报告。
2.根据权利要求1所述的自动拨测方法,其特征在于,所述测试报告包括错误日志,所述将所述界面图片与预设图片进行比对,得到比对结果包括:
将所述界面图片与预设图片进行比对;
响应于比对失败,生成所述错误日志,且按照所述执行逻辑运行所述待测业务的下一个所述操作步骤;
响应于匹配成功,按照所述执行逻辑运行所述待测业务的下一个所述操作步骤。
3.根据权利要求1所述的自动拨测方法,其特征在于,进一步包括:
所述客户端监测所述待测业务的运行状况;
响应于所述运行状况异常,所述客户端产生第一告警信息,将所述第一告警信息录入所述测试报告。
4.根据权利要求1所述的自动拨测方法,其特征在于,进一步包括:
响应于接收到对所述待测业务的拨测指令,所述客户端对所述待测业务进行功能监测;
响应于所述监测成功,执行所述客户端根据所述测试脚本启动所述待测业务,按照所述执行逻辑运行所述操作步骤,且基于所述操作步骤渲染操作界面的步骤;
响应于所述检测失败,生成错误日志及产生第二告警信息,并将所述错误日志和所述第二告警信息录入所述测试报告。
5.根据权利要求1-4任一项所述的自动拨测方法,其特征在于,在所述拨测端为待测业务编制测试脚本,并设置执行条件之前,所述自动拨测方法进一步包括:
所述客户端预运行所述待测业务,并获取所述待测业务运行时每个所述操作步骤的第一界面图片;
所述客户端将所述待测业务的执行逻辑及所述第一界面图片发送给所述拨测端。
6.根据权利要求5所述的自动拨测方法,其特征在于,所述为待测业务编制测试脚本包括:
为所述待测业务编制启动方法;
为所述待测业务的操作步骤,并为所述操作步骤编制操作界面;
在所述操作界面编制操作,其中,所述操作包括单击操作、双击操作、长按操作、扩张操作、缩小操作及滑动操作;
为所述待测业务编制执行逻辑;
新建空白脚本,并将所述启动方法、所述操作步骤、所述操作界面、所述操作及所述执行逻辑存储于所述空白脚本,以生成所述测试脚本。
7.根据权利要求6所述的自动拨测方法,其特征在于,所述在所述操作界面编制操作包括:
将所述操作界面划分为操作区域和非操作区域,在所述操作区域上编制所述操作,并生成所述预设图片;
对所述非操作区域进行标记,并获取标记后的操作界面的界面图片为所述预设图片;
所述界面图片与预设图片进行比对包括:
将所述预设图片中与所述操作区域对应的图片区域与所述界面图片进行比对。
8.根据权利要求1所述的自动拨测方法,其特征在于,所述执行条件包括定时触发条件或者指令触发条件。
9.一种自动拨测系统,其特征在于,包括:拨测端及与所述拨测端通信的客户端,所述拨测端基于待测业务编制测试脚本,并设置执行条件,所述测试脚本包括所述待测业务的执行逻辑及操作步骤;响应于所述执行条件被触发,所述拨测端将所述测试脚本发送给所述客户端;所述客户端根据所述测试脚本启动所述待测业务,按照所述执行逻辑运行所述操作步骤,且基于所述操作步骤渲染操作界面;所述客户端获取所述操作界面的界面图片,将所述界面图片与预设图片进行比对,得到比对结果;所述客户端基于比对结果生成测试报告。
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令能够被执行以实现权利要求1-8任一项所述自动拨测方法。
CN202011613403.5A 2020-12-30 2020-12-30 自动拨测方法及系统、计算机可读存储介质 Pending CN112711536A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011613403.5A CN112711536A (zh) 2020-12-30 2020-12-30 自动拨测方法及系统、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011613403.5A CN112711536A (zh) 2020-12-30 2020-12-30 自动拨测方法及系统、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112711536A true CN112711536A (zh) 2021-04-27

Family

ID=75547372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011613403.5A Pending CN112711536A (zh) 2020-12-30 2020-12-30 自动拨测方法及系统、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112711536A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466399A (zh) * 2021-12-20 2022-05-10 中盈优创资讯科技有限公司 一种移动业务的自动拨测方法及装置
CN115640236A (zh) * 2022-12-05 2023-01-24 荣耀终端有限公司 一种脚本质量的检测方法及计算设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243745A1 (en) * 2009-12-01 2012-09-27 Cinnober Financial Technology Ab Methods and Apparatus for Automatic Testing of a Graphical User Interface
CN106598835A (zh) * 2015-10-19 2017-04-26 广州爱九游信息技术有限公司 一种应用的测试方法及装置、系统
CN107506298A (zh) * 2017-07-28 2017-12-22 杭州销冠网络科技有限公司 一种用于线上业务的监控方法及系统
CN108595325A (zh) * 2018-04-10 2018-09-28 北京金山安全软件有限公司 一种输入法软件测试方法、装置及电子设备
CN109783351A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 界面测试方法、装置及计算机可读存储介质
CN109857652A (zh) * 2019-01-16 2019-06-07 深圳壹账通智能科技有限公司 一种用户界面的自动化测试方法、终端设备及介质
WO2020082585A1 (zh) * 2018-10-25 2020-04-30 深圳壹账通智能科技有限公司 一种接口测试的方法及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243745A1 (en) * 2009-12-01 2012-09-27 Cinnober Financial Technology Ab Methods and Apparatus for Automatic Testing of a Graphical User Interface
CN106598835A (zh) * 2015-10-19 2017-04-26 广州爱九游信息技术有限公司 一种应用的测试方法及装置、系统
CN107506298A (zh) * 2017-07-28 2017-12-22 杭州销冠网络科技有限公司 一种用于线上业务的监控方法及系统
CN108595325A (zh) * 2018-04-10 2018-09-28 北京金山安全软件有限公司 一种输入法软件测试方法、装置及电子设备
WO2020082585A1 (zh) * 2018-10-25 2020-04-30 深圳壹账通智能科技有限公司 一种接口测试的方法及设备
CN109783351A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 界面测试方法、装置及计算机可读存储介质
CN109857652A (zh) * 2019-01-16 2019-06-07 深圳壹账通智能科技有限公司 一种用户界面的自动化测试方法、终端设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466399A (zh) * 2021-12-20 2022-05-10 中盈优创资讯科技有限公司 一种移动业务的自动拨测方法及装置
CN115640236A (zh) * 2022-12-05 2023-01-24 荣耀终端有限公司 一种脚本质量的检测方法及计算设备
CN115640236B (zh) * 2022-12-05 2023-05-30 荣耀终端有限公司 一种脚本质量的检测方法及计算设备

Similar Documents

Publication Publication Date Title
CN106844217B (zh) 对应用的控件进行埋点的方法及装置、可读存储介质
CN109086203B (zh) 页面的检测方法和装置
US10810113B2 (en) Method and apparatus for creating reference images for an automated test of software with a graphical user interface
CN104956339B (zh) 从视频生成软件测试脚本
CN103518393A (zh) 检测移动通信设备内容的系统和方法
CN107800757B (zh) 用户行为记录方法及装置
CN112711536A (zh) 自动拨测方法及系统、计算机可读存储介质
CN112423135B (zh) 视频回放的信息处理方法、装置、计算机设备和存储介质
CN111324352A (zh) 一种应用页面的代码生成方法及相关设备
CN112612690B (zh) 一种用户界面信息处理方法、装置、电子设备及存储介质
CN115629968A (zh) 一种测试数据记录方法和装置
CN112148606A (zh) 埋点测试方法、装置、设备及计算机可读介质
CN109766275B (zh) 移动应用的自动化测试方法、系统、存储介质以及设备
CN112817817B (zh) 埋点信息查询方法、装置、计算机设备和存储介质
CN112732559A (zh) 图片比对方法、自动拨测方法及系统、存储介质
CN106775701B (zh) 一种客户端自动取证方法和系统
CN114253841A (zh) 测试脚本生成方法、装置及存储介质
CN117171000A (zh) 一种应用程序app测试方法、装置、电子设备及存储介质
CN113961835A (zh) 数据处理方法、装置、电子设备及存储介质
CN113326193A (zh) 一种小程序测试方法及装置
CN110955595A (zh) 问题修复方法、装置、电子设备及计算机可读存储介质
CN112416735A (zh) 一种应用程序检测方法、装置及终端设备、存储介质
CN111522737B (zh) 一种前端界面的自动化测试校验方法、装置及存储介质
CN115982018B (zh) 一种基于ocr的ui测试方法、系统、计算机设备和存储介质
CN111694568B (zh) 一种ui卡片文档的生成方法和装置

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