CN115098394A - 一种测试方法、装置、电子设备及计算机可读介质 - Google Patents
一种测试方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN115098394A CN115098394A CN202210831621.9A CN202210831621A CN115098394A CN 115098394 A CN115098394 A CN 115098394A CN 202210831621 A CN202210831621 A CN 202210831621A CN 115098394 A CN115098394 A CN 115098394A
- Authority
- CN
- China
- Prior art keywords
- script
- test
- target
- image
- environment
- 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
Images
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Abstract
本申请公开了测试方法、装置、电子设备及计算机可读介质,涉及计算机技术领域,一具体实施方式包括接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;根据预设的测试用例,调整自动化脚本,以生成目标脚本;执行目标脚本,获取执行异常数据并输出。从而可以实现减少测试数据准备的工作量,提高测试效率和测试质量。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试方法、装置、电子设备及计算机可读介质。
背景技术
用户界面(User Interface,UI)自动化测试是使用工具或者脚获取前端页面显示的数据结果进行校验,以验证需要测试的软件前端页面的功能。在客户端进行UI自动化测试时,由于内网环境与互联网不互通,所以无法连接脚本录制软件,客户端封装的IE内核浏览器,屏蔽了浏览器的地址栏和菜单栏,导致开发者模式无法开启,无法查看文档对象模型树和元素对应的XML路径语言(XML Path Language,xpath)定位,大大阻碍了录制自动化脚本工具的应用,测试效率和测试质量较低。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
用户界面自动化测试效率和测试质量较低。
发明内容
有鉴于此,本申请实施例提供一种测试方法、装置、电子设备及计算机可读介质,能够解决现有的用户界面自动化测试效率和测试质量较低的问题。
为实现上述目的,根据本申请实施例的一个方面,提供了一种测试方法,包括:
接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;
响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;
切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;
根据预设的测试用例,调整自动化脚本,以生成目标脚本;
执行目标脚本,获取执行异常数据并输出。
可选地,对测试点进行图像识别以录制得到自动化脚本,包括:
当测试点的数量为多个时,确定各测试点的测试顺序;
截取各测试点的目标元素对应的图像,进而基于测试顺序对各图像进行排序;
基于排序后的图像,生成自动化脚本。
可选地,根据预设的测试用例,调整自动化脚本,以生成目标脚本,包括:
确定预设的测试用例对应的目标测试点和目标测试点对应的赋值;
将目标测试点与自动化脚本中的图像进行匹配,响应于自动化脚本中存在图像与目标测试点匹配,将赋值填充至自动化脚本中与目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
可选地,将目标测试点与自动化脚本中的图像进行匹配,包括:
获取目标测试点的位置和自动化脚本中的各个图像对应的位置;
确定自动化脚本中与目标测试点的位置相同或相近的图像的位置;
将自动化脚本中与目标测试点的位置相同或相近的图像的位置所对应的图像确定为与目标测试点相匹配的图像。
可选地,将赋值输入自动化脚本中与目标测试点匹配的图像所对应的输入框中,包括:
响应于检测到对与目标测试点匹配的图像的点击操作,跳转至与目标测试点匹配的图像对应的输入框处,进而调用赋值以自动填充至输入框。
可选地,在执行目标脚本之后,方法还包括:
响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。
可选地,在对测试点进行图像识别以录制得到自动化脚本之前,方法还包括:
响应于当前测试不适用于网络自动化,执行基于图像识别的自动化脚本录制进程。
另外,本申请还提供了一种测试装置,包括:
检测单元,被配置成接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;
测试环境包生成单元,被配置成响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;
脚本录制单元,被配置成切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;
目标脚本生成单元,被配置成根据预设的测试用例,调整自动化脚本,以生成目标脚本;
执行单元,被配置成执行目标脚本,获取执行异常数据并输出。
可选地,脚本录制单元进一步被配置成:
当测试点的数量为多个时,确定各测试点的测试顺序;
截取各测试点的目标元素对应的图像,进而基于测试顺序对各图像进行排序;
基于排序后的图像,生成自动化脚本。
可选地,目标脚本生成单元进一步被配置成:
确定预设的测试用例对应的目标测试点和目标测试点对应的赋值;
将目标测试点与自动化脚本中的图像进行匹配,响应于自动化脚本中存在图像与目标测试点匹配,将赋值填充至自动化脚本中与目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
可选地,目标脚本生成单元进一步被配置成:
获取目标测试点的位置和自动化脚本中的各个图像对应的位置;
确定自动化脚本中与目标测试点的位置相同或相近的图像的位置;
将自动化脚本中与目标测试点的位置相同或相近的图像的位置所对应的图像确定为与目标测试点相匹配的图像。
可选地,目标脚本生成单元进一步被配置成:
响应于检测到对与目标测试点匹配的图像的点击操作,跳转至与目标测试点匹配的图像对应的输入框处,进而调用赋值以自动填充至输入框。
可选地,执行单元进一步被配置成:
响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。
可选地,脚本录制单元进一步被配置成:
响应于当前测试不适用于网络自动化,执行基于图像识别的自动化脚本录制进程。
另外,本申请还提供了一种测试电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的测试方法。
另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的测试方法。
为实现上述目的,根据本申请实施例的又一个方面,提供了一种计算机程序产品。
本申请实施例的一种计算机程序产品,包括计算机程序,程序被处理器执行时实现本申请实施例提供的测试方法。
上述发明中的一个实施例具有如下优点或有益效果:本申请通过接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;根据预设的测试用例,调整自动化脚本,以生成目标脚本;执行目标脚本,获取执行异常数据并输出。从而可以实现减少测试数据准备的工作量,提高测试效率和测试质量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本申请,不构成对本申请的不当限定。其中:
图1是根据本申请一个实施例的测试方法的主要流程的示意图;
图2是根据本申请一个实施例的测试方法的主要流程的示意图;
图3是根据本申请一个实施例的测试方法的主要流程示意图;
图4是根据本申请实施例的测试装置的主要单元的示意图;
图5是本申请实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1是根据本申请一个实施例的测试方法的主要流程的示意图,如图1所示,测试方法包括:
步骤S101,接收测试请求,检测当前的网络环境进而确定对应的网络环境类型。
本实施例中,测试方法的执行主体(例如,可以是服务器)可以通过有线连接或无线连接的方式,接收测试请求。测试请求可以是UI自动化测试请求,具体可以是使用工具或者脚本,获取前端页面显示的数据结果进行校验,以验证需要测试的软件前端页面的功能的请求。
当执行主体接收到测试请求后,可以检测当前所处的网络环境的网络环境类型,其中,网络环境类型可以包括内网环境和与内网环境不互通的网络环境(例如互联网环境)。也即,当执行主体接收到测试请求后,可以检测当前所处的网络环境是内网环境还是与内网环境不互通的互联网环境。
步骤S102,响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包。
当执行主体确定在接收到测试请求时检测到的当前所处的网络环境为与内网环境不互通的网络环境(例如可以是互联网环境,也即外网环境),则可以在于内网环境不互通的网络环境中安装测试所需的python软件和第三方库,然后整体将安装好python软件和第三方库的互联网环境打包成测试环境包以供内网调用。
步骤S103,切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本。
当在与内网环境不互通的网络环境中安装好测试所需的python软件和第三方库后,执行主体可以切换至内网环境,进而加载在与内网环境不互通的网络环境中生成的测试所需的测试环境包,以提供本次测试所需的环境。在本次测试所需的环境中,启动自动脚本录制工具,对待测试的应用上的内容进行截图,通过截图录制的方法实现脚本的录制,以得到自动录制脚本。
具体地,在对测试点进行图像识别以录制得到自动化脚本之前,方法还包括:
响应于当前测试不适用于网络自动化,即不适用于web自动化,执行基于图像识别的自动化脚本录制进程,即调用基于图像识别原理的跨平台UI自动化测试框架以图像截图的方式进行脚本录制。
步骤S104,根据预设的测试用例,调整自动化脚本,以生成目标脚本。
具体地,根据预设的测试用例,调整自动化脚本,以生成目标脚本,包括:确定预设的测试用例对应的目标测试点和目标测试点对应的赋值;将目标测试点与自动化脚本中的图像进行匹配,响应于自动化脚本中存在图像与目标测试点匹配,将赋值填充至自动化脚本中与目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
目标测试点,例如可以是自动化脚本中的用户名元素、验证码元素等,可以为文字也可以为图片,本申请实施例对目标测试点的具体内容和形式不做限定。
执行主体可以通过检测用户所点击的自动录制脚本中的图像(例如图像a,示例的,图像a可以为一个截图),从而定位到该图像(例如图像a)所对应的输入框,以通过向该输入框中输入预设的测试用例对应的目标测试点的赋值从而改变自动录制脚本中的图像(例如图像a)所对应的值。
具体地,将目标测试点与自动化脚本中的图像进行匹配,包括:获取目标测试点的位置和自动化脚本中的各个图像对应的位置;其中,目标测试点的位置指的是预设的测试用例中配置的目标测试点在自动化脚本中的位置。
确定自动化脚本中与目标测试点的位置相同或相近的图像的位置;也就是从自动化脚本中查找是否存在与目标测试点的位置相同的位置(例如位置T),若存在,则获取该相同的位置(例如位置T)处的图像。若不存在,则从自动化脚本中获取与目标测试点的位置相近的位置处的图像。
将自动化脚本中与目标测试点的位置相同或相近的图像的位置所对应的图像确定为与目标测试点相匹配的图像。从而使得所获取的与目标测试点相匹配的图像更准确。
具体地,将赋值输入自动化脚本中与目标测试点匹配的图像所对应的输入框中,包括:
响应于检测到对与目标测试点匹配的图像的点击操作,跳转至与目标测试点匹配的图像对应的输入框处,进而调用赋值以自动填充至输入框。
示例的,当用户点击自动化脚本中的与目标测试点相匹配的图像时,执行主体响应该点击操作,进而调用与该相匹配的图像关联的输入框以供用户基于预设的测试用例修改输入框对应的内容。从而得到修改后的目标脚本。
步骤S105,执行目标脚本,获取执行异常数据并输出。
在对自动化脚本基于预设的测试用例进行修改得到目标脚本后,执行主体可以在内网环境下测试所需的环境中执行目标脚本,并监控脚本执行过程中的异常,获取执行异常数据并输出。
本实施例通过接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;根据预设的测试用例,调整自动化脚本,以生成目标脚本;执行目标脚本,获取执行异常数据并输出。从而可以实现减少测试数据准备的工作量,提高测试效率和测试质量。
图2是根据本申请一个实施例的测试方法的主要流程示意图,如图2所示,测试方法包括:
步骤S201,接收测试请求,检测当前的网络环境进而确定对应的网络环境类型。
步骤S202,响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包。
步骤S203,切换至内网环境,进而加载测试环境包,确定测试点。
执行主体在切换至内网环境并加载测试环境包后,可以获取测试配置文件,从测试配置文件中确定待测试应用上的内容对应的需要测试的元素,即测试点。
步骤S204,当测试点的数量为多个时,确定各测试点的测试顺序。
当待测试应用上的内容对应的测试点的数量为多个时,对该多个测试点的测试顺序基于配置文件进行排序,从而根据排序对相对应的测试点进行测试。测试点可以对应一个执行流程,例如登录流程,也可以对应执行流程中的一个节点,例如登录流程中的登录名的输入步骤,或者验证码的输入步骤。
步骤S205,截取各测试点的目标元素对应的图像,进而基于测试顺序对各图像进行排序。
通过基于图像识别原理的跨平台UI自动化测试框架AirTest截取各测试点的目标元素对应的图像,例如包含“登录”的图像,例如包含“验证码”的图像等,并根据各测试点的测试顺序将截取的图像排序并依次填充至脚本中。
步骤S206,基于排序后的图像,生成自动化脚本。
根据各测试点的测试顺序将截取的图像排序并依次填充至脚本中,以生成自动化脚本。该自动化脚本中的图像若被用户点击,则会弹出相应的输入框,通过编辑弹出的输入框,可以快速、准确地修改自动化脚本中的相应图像所对应的值。从而节省测试人员编写脚本的工作量,提高测试效率和测试质量。
步骤S207,根据预设的测试用例,调整自动化脚本,以生成目标脚本。
步骤S208,执行目标脚本,获取执行异常数据并输出。
具体地,在执行目标脚本之后,测试方法还包括:响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。具体地,将能实现回放的脚本,放置到pycharm(集成开发环境)的项目下,进行脚本的二次编辑,以实现项目批量脚本回放功能和数据参数化。
图3是根据本申请一个实施例的测试方法的主要流程的示意图。本申请实施例的测试方法,应用于对应用的功能进行测试的场景。如图3所示,当开始自动化测试时,执行主体首先判断当前网络环境是否是在内网环境,若不是在内网环境,则在互联网环境中安装Python及相关第三方库,然后进行Python系统环境配置,即上传至内网环境的计算机下进行配置后使用,若是在内网环境,则在配置好的Python系统环境,针对基于IE内核开发的Java客户端,判断是否适用web自动化,即是否可以打开开发者模式,若是则以用于web应用程序测试的工具selenium+端到端的自动化平台katalon实现客户端UI自动化测试,若否,即云桌面远程调用客户端无法设置开发者模式,无法页面定位元素,则以AirTestIDE图像识别录制自动化脚本,然后根据要测试的功能基于录制的自动化脚本编写脚本以得到目标脚本,目标脚本中引入Pycharm,编写批量运行脚本,基于批量运行脚本实现客户端自动化测试。
示例的,本申请实施例是在内网环境下,即与互联网断开的环境,进行应用功能测试。测试的内容可以包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成不同语言的测试脚本。
本申请实施例的测试方法首先需要在互联网环境下对python软件和第三方库安装完成后,上传到内网环境的计算机下进行配置后使用。针对要测试的客户端,因为客户端运行后是内置IE内核的浏览器,且因为客户端是远程连接,无法直接调用到安装路径,所以无法手动修改代码的方式来解决定位和脚本录制。为解决UI自动化定位问题,以图像识别,实现元素定位,先在专网环境(例如与内网不互通的互联网环境)安装python以及对应的AirTest库和工具的安装,登录客户端后,启动工具,对客户端上的内容进行截图来实现脚本的录制。通过touch(截图图像)来实现元素定位,通过text(文本)来实现内容输入,通过keyboard(按键名)来实现回车、删除等操作,通过sleep(秒)程序休眠几秒等待页面加载,通过assert_exists/assert_not_exists(图片)断言测试预期结果。具体的测试步骤为:安装python并安装AirTest库,并配置python环境变量;运行AirTestIDE,windows窗口连接选择与连接桌面;选择AirTest辅助窗内的touch方法,对元素进行截图,即可实现脚本录制;客户端根据脚本运行;Log Viewer查看执行日志。将能实现回放的脚本,放置到pycharm(集成开发环境)的项目下,进行脚本的二次编辑,以实现项目批量脚本回放功能和数据参数化。
本申请实施例的测试场景是在专用网络环境下,通过远程连接客户端,实现UI自动化的方式为对客户端界面上内容进行截图比对,来进行定位操作,以达到录制脚本的效果;并对已录制的脚本进行简单逻辑编辑处理,以实现运行脚本验证案例,减少人工重复测试。以截图对比为元素定位,编写自动化测试脚本,可以减少测试数据准备的工作量,大大的提高了测试效率和测试质量。
本申请实施例的测试方法,利用python、AirTest库和AirTestIDE(自动化测试编辑器),将客户端无法识别的xpath进行定位,打破了以往用xpath定位的方式,而是以图片识别的方式,编辑成对应可执行的自动化案例脚本,节省了测试人员元素无法定位,和编写脚本的工作量,帮助测试人员方便录制UI自动化脚本,提高了整体的测试效率和测试质量。
图4是根据本申请实施例的测试装置的主要单元的示意图。如图4所示,测试装置400包括检测单元401、预测环境包生成单元402、脚本录制单元403、目标脚本生成单元404和执行单元405。
检测单元401,被配置成接收测试请求,检测当前的网络环境进而确定对应的网络环境类型。
测试环境包生成单元402,被配置成响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包。
脚本录制单元403,被配置成切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本。
目标脚本生成单元404,被配置成根据预设的测试用例,调整自动化脚本,以生成目标脚本。
执行单元405,被配置成执行目标脚本,获取执行异常数据并输出。
在一些实施例中,脚本录制单元403进一步被配置成:当测试点的数量为多个时,确定各测试点的测试顺序;截取各测试点的目标元素对应的图像,进而基于测试顺序对各图像进行排序;基于排序后的图像,生成自动化脚本。
在一些实施例中,目标脚本生成单元404进一步被配置成:确定预设的测试用例对应的目标测试点和目标测试点对应的赋值;将目标测试点与自动化脚本中的图像进行匹配,响应于自动化脚本中存在图像与目标测试点匹配,将赋值填充至自动化脚本中与目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
在一些实施例中,目标脚本生成单元404进一步被配置成:获取目标测试点的位置和自动化脚本中的各个图像对应的位置;确定自动化脚本中与目标测试点的位置相同或相近的图像的位置;将自动化脚本中与目标测试点的位置相同或相近的图像的位置所对应的图像确定为与目标测试点相匹配的图像。
在一些实施例中,目标脚本生成单元404进一步被配置成:响应于检测到对与目标测试点匹配的图像的点击操作,跳转至与目标测试点匹配的图像对应的输入框处,进而调用赋值以自动填充至输入框。
在一些实施例中,执行单元405进一步被配置成:响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。
在一些实施例中,脚本录制单元403进一步被配置成:响应于当前测试不适用于网络自动化,执行基于图像识别的自动化脚本录制进程。
需要说明的是,本申请的测试方法和测试装置在具体实施内容上具有相应关系,故重复内容不再说明。
图5示出了可以应用本申请实施例的测试方法或测试装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有征测试处理屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所提交的测试请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;根据预设的测试用例,调整自动化脚本,以生成目标脚本;执行目标脚本,获取执行异常数据并输出。从而可以实现减少测试数据准备的工作量,提高测试效率和测试质量。
需要说明的是,本申请实施例所提供的测试方法一般由服务器505执行,相应地,测试装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶征信授权查询处理器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括检测单元、测试环境包生成单元、脚本录制单元、目标脚本生成单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;响应于网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于网络环境中,进而生成测试环境包;切换至内网环境,进而加载测试环境包,确定测试点,对测试点进行图像识别以录制得到自动化脚本;根据预设的测试用例,调整自动化脚本,以生成目标脚本;执行目标脚本,获取执行异常数据并输出。
本申请的计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请实施例中的测试方法。
根据本申请实施例的技术方案,可以实现减少测试数据准备的工作量,提高测试效率和测试质量。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种测试方法,其特征在于,包括:
接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;
响应于所述网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于所述网络环境中,进而生成测试环境包;
切换至内网环境,进而加载所述测试环境包,确定测试点,对所述测试点进行图像识别以录制得到自动化脚本;
根据预设的测试用例,调整所述自动化脚本,以生成目标脚本;
执行所述目标脚本,获取执行异常数据并输出。
2.根据权利要求1所述的方法,其特征在于,所述对所述测试点进行图像识别以录制得到自动化脚本,包括:
当所述测试点的数量为多个时,确定各所述测试点的测试顺序;
截取各所述测试点的目标元素对应的图像,进而基于所述测试顺序对各所述图像进行排序;
基于排序后的图像,生成自动化脚本。
3.根据权利要求1所述的方法,其特征在于,所述根据预设的测试用例,调整所述自动化脚本,以生成目标脚本,包括:
确定预设的测试用例对应的目标测试点和所述目标测试点对应的赋值;
将所述目标测试点与所述自动化脚本中的图像进行匹配,响应于所述自动化脚本中存在图像与所述目标测试点匹配,将所述赋值填充至所述自动化脚本中与所述目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标测试点与所述自动化脚本中的图像进行匹配,包括:
获取所述目标测试点的位置和所述自动化脚本中的各个图像对应的位置;
确定所述自动化脚本中与所述目标测试点的位置相同或相近的图像的位置;
将所述自动化脚本中与所述目标测试点的位置相同或相近的图像的位置所对应的图像确定为与所述目标测试点相匹配的图像。
5.根据权利要求3所述的方法,其特征在于,将所述赋值输入所述自动化脚本中与所述目标测试点匹配的图像所对应的输入框中,包括:
响应于检测到对与所述目标测试点匹配的图像的点击操作,跳转至与所述目标测试点匹配的图像对应的输入框处,进而调用所述赋值以自动填充至所述输入框。
6.根据权利要求1所述的方法,其特征在于,在所述执行所述目标脚本之后,所述方法还包括:
响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。
7.根据权利要求1所述的方法,其特征在于,在所述对所述测试点进行图像识别以录制得到自动化脚本之前,所述方法还包括:
响应于当前测试不适用于网络自动化,执行基于图像识别的自动化脚本录制进程。
8.一种测试装置,其特征在于,包括:
检测单元,被配置成接收测试请求,检测当前的网络环境进而确定对应的网络环境类型;
测试环境包生成单元,被配置成响应于所述网络环境类型对应的是与内网环境不互通的网络环境,调用预设的测试工具包以安装于所述网络环境中,进而生成测试环境包;
脚本录制单元,被配置成切换至内网环境,进而加载所述测试环境包,确定测试点,对所述测试点进行图像识别以录制得到自动化脚本;
目标脚本生成单元,被配置成根据预设的测试用例,调整所述自动化脚本,以生成目标脚本;
执行单元,被配置成执行所述目标脚本,获取执行异常数据并输出。
9.根据权利要求8所述的装置,其特征在于,所述脚本录制单元进一步被配置成:
当所述测试点的数量为多个时,确定各所述测试点的测试顺序;
截取各所述测试点的目标元素对应的图像,进而基于所述测试顺序对各所述图像进行排序;
基于排序后的图像,生成自动化脚本。
10.根据权利要求8所述的装置,其特征在于,所述目标脚本生成单元进一步被配置成:
确定预设的测试用例对应的目标测试点和所述目标测试点对应的赋值;
将所述目标测试点与所述自动化脚本中的图像进行匹配,响应于所述自动化脚本中存在图像与所述目标测试点匹配,将所述赋值填充至所述自动化脚本中与所述目标测试点匹配的图像所对应的输入框中,进而生成目标脚本。
11.根据权利要求10所述的装置,其特征在于,所述目标脚本生成单元进一步被配置成:
获取所述目标测试点的位置和所述自动化脚本中的各个图像对应的位置;
确定所述自动化脚本中与所述目标测试点的位置相同或相近的图像的位置;
将所述自动化脚本中与所述目标测试点的位置相同或相近的图像的位置所对应的图像确定为与所述目标测试点相匹配的图像。
12.根据权利要求10所述的装置,其特征在于,所述目标脚本生成单元进一步被配置成:
响应于检测到对与所述目标测试点匹配的图像的点击操作,跳转至与所述目标测试点匹配的图像对应的输入框处,进而调用所述赋值以自动填充至所述输入框。
13.根据权利要求8所述的装置,其特征在于,所述执行单元进一步被配置成:
响应于脚本执行成功,将执行成功的脚本放置于可编辑脚本库中,以供再次编辑。
14.一种测试电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210831621.9A CN115098394A (zh) | 2022-07-14 | 2022-07-14 | 一种测试方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210831621.9A CN115098394A (zh) | 2022-07-14 | 2022-07-14 | 一种测试方法、装置、电子设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098394A true CN115098394A (zh) | 2022-09-23 |
Family
ID=83296679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210831621.9A Pending CN115098394A (zh) | 2022-07-14 | 2022-07-14 | 一种测试方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098394A (zh) |
-
2022
- 2022-07-14 CN CN202210831621.9A patent/CN115098394A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
CN111124919A (zh) | 一种用户界面的测试方法、装置、设备及存储介质 | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN111061489B (zh) | 一种多平台编译检测方法、装置、设备及介质 | |
CN114328250A (zh) | 软件系统自动自检方法、介质和装置 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN111435328B (zh) | 应用测试方法、装置、电子设备及可读存储介质 | |
CN116662193A (zh) | 页面测试方法和装置 | |
CN110825622A (zh) | 软件测试方法、装置、设备和计算机可读介质 | |
CN110888641A (zh) | 一种脚本自动生成方法、装置、服务器及存储介质 | |
US11030087B2 (en) | Systems and methods for automated invocation of accessibility validations in accessibility scripts | |
CN115098394A (zh) | 一种测试方法、装置、电子设备及计算机可读介质 | |
CN112395194B (zh) | 一种接入测试平台的方法和装置 | |
CN111124423B (zh) | 一种基于多平台的编译检测方法、装置、服务器及介质 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN111737129A (zh) | 服务控制方法、装置、计算机可读介质及电子设备 | |
CN112306723A (zh) | 一种应用于小程序的运行信息获取方法和装置 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN113342633B (zh) | 一种性能测试方法和装置 | |
CN116048945B (zh) | 设备性能检测方法、装置、电子设备及存储介质 | |
CN117130945B (zh) | 一种测试方法和装置 | |
CN117827630A (zh) | 一种测试脚本的生成方法和装置 | |
CN117435464A (zh) | 软件测试方法及装置、电子设备和计算机可读存储介质 | |
CN112579427A (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 |