CN113326202A - Ui自动化测试代码生成方法、装置、设备及介质 - Google Patents

Ui自动化测试代码生成方法、装置、设备及介质 Download PDF

Info

Publication number
CN113326202A
CN113326202A CN202110688584.6A CN202110688584A CN113326202A CN 113326202 A CN113326202 A CN 113326202A CN 202110688584 A CN202110688584 A CN 202110688584A CN 113326202 A CN113326202 A CN 113326202A
Authority
CN
China
Prior art keywords
pages
test code
test
page
code
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
CN202110688584.6A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110688584.6A priority Critical patent/CN113326202A/zh
Publication of CN113326202A publication Critical patent/CN113326202A/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

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

本发明涉及自动化测试工具领域,公开了一种UI自动化测试代码生成方法、装置、设备及介质,其方法包括:获取业务系统中与UI测试任务关联的若干页面,页面包括登录页面、主页、业务页面和/或内容页面;通过业务系统的系统架构解析若干页面,获得若干页面的业务逻辑,业务逻辑包括与若干页面对应的一组操作联系;根据业务逻辑获取与若干页面匹配的初始化测试代码;接收修改指令,根据修改指令对初始化测试代码进行修改,生成UI测试任务的自动化测试代码。本发明可以大大降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。

Description

UI自动化测试代码生成方法、装置、设备及介质
技术领域
本发明涉及自动化测试工具领域,尤其涉及一种UI自动化测试代码生成方法、装置、计算机设备及存储介质。
背景技术
现有的UI(User Interface,用户界面)自动化测试,可以提高工作效率,减少回归测试的工作量,并且可以大规模模拟多用户测试。然而,由于UI变动频繁,需要测试人员及时更改自动化测试代码。在一些情况下,UI变动涉及一些关联功能,致使自动化测试逻辑发生变化。此时,需要消耗测试人员大量的工作时间,改变相应的自动化测试代码。
因而,需要寻找一种新的UI自动化测试代码生成方法,降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。
发明内容
基于此,有必要针对上述技术问题,提供一种UI自动化测试代码生成方法、装置、计算机设备及存储介质,以降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。
一种UI自动化测试代码生成方法,包括:
获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
一种UI自动化测试代码生成装置,包括:
获取页面数据模块,用于获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
解析业务逻辑模块,用于通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
代码匹配模块,用于根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
代码修改模块,用于接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述UI自动化测试代码生成方法。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述UI自动化测试代码生成方法。
上述UI自动化测试代码生成方法、装置、计算机设备及存储介质,通过获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面,在此处,若干页面即为待测试的页面,而UI测试任务用于测试业务系统中指定业务功能所涉及的多个页面的可靠性。通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系,以确定若干页面的业务逻辑。根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码,在此处通过业务逻辑匹配的初始化测试代码,由于业务逻辑基本相同,因而可以大大降低测试代码的修改量。接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码,在此处,由于若干页面中新开发的页面可能使用了一些新的数据对象,通过人工修改的方式,可以快速适配若干页面的测试需求,快速生成UI测试任务需要的测试代码。本发明提供的UI自动化测试代码生成方法,可以大大降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中UI自动化测试代码生成方法的一应用环境示意图;
图2是本发明一实施例中UI自动化测试代码生成方法的一流程示意图;
图3是本发明一实施例中UI自动化测试代码生成装置的一结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的UI自动化测试代码生成方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种UI自动化测试代码生成方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10、获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面。
可理解地,UI测试任务指的是用于测试用户界面是否符合预期要求的任务。与UI测试任务关联的若干页面,可以指待测试的页面。在一些示例中,若干页面可以包括登录页面、内容页面。登录页面指的是用户登录时的界面,用户需要在登录页面输入用户名和密码,然后进入主页。可以通过主页提供的链接访问业务页面。业务页面可以指用于选取业务的页面。内容页面可以指办理业务流程的操作页面。在此处,UI测试任务的目的在于,测试业务系统中指定业务功能所涉及的多个页面的可靠性。指定业务功能可以是业务系统中的任意一项业务功能。在一示例中,可靠性可以分为两个等级,一为好,一为差。可靠性好指的是,页面可以在指定时间内加载完成,且不出现页面错误。可靠性差指的是,页面无法在指定时间内加载完成,和/或出现页面错误。指定时间可以根据实际需要进行设置,如可以是3s。
S20、通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系。
可理解地,业务系统的系统架构包括业务系统中各个页面之间的关联关系。例如,业务系统包括登录页面、主页、一级业务页面、二级业务页面等,而各级业务页面又包含若干内容页面。系统架构包括主页与各级业务页面之间的关联关系,也包括各个业务页面下各个内容页面之间的关联关系。在一些示例中,页面之间的关联关系,可用页面图谱(可以是网站地图)表示。不同的业务系统,其系统架构一般存在差异。
在一示例中,业务系统是一种为银行的手机客户端提供服务的应用系统。通过手机客户端访问业务系统时,业务系统可以向手机客户端提供展示主页的页面数据。主页上设置有理财、贷款、基金、保险等图标。点击基金图标,可进入基金的展示页面(一级业务页面)。基金的展示页面设置有若干可选的基金名称,点击任意一处基金名称,可进入该基金的详情页面(二级业务页面)。基金的详情页面设置有购买按键,点击购买按键,可进入相应的购买流程。该购买流程包括若干的内容页面。业务系统的系统架构包括各个页面之间的关联关系。
通过业务系统的系统架构解析若干页面,解析的机制包括两种,一种是通过页面的标识进行解析,另一种则是基于页面的元素进行解析。在一示例中,通过页面的标识进行解析的过程包括:先提取出待测试的页面的标识,如页面01、页面011、页面011001等,再基于系统架构中页面间的关联关系提取出这些页面的业务逻辑,业务逻辑可表示为:页面01——页面011——页面011001——页面011002——页面011003——页面011004——页面011005等。
在另一示例中,系统架构还记录了各个页面的元素。基于页面的元素进行解析的过程包括:提取各个页面的元素(包括控件对象),通过提取出的元素,识别出页面在页面图谱中的位置。然后,基于各个位置之间的连接关系生成若干页面的业务逻辑。例如,识别出的第一页面是登录页面,识别出的第二页面是内容页面,则上下页面的操作联系为登录操作。业务逻辑包括与若干页面对应的一组操作联系。具体的,业务逻辑可表示为:页面01——(点击页面01中的元素01)——页面011——(点击页面011中的元素02)——页面011001——(点击页面011001中的元素03)——页面011002——(在页面011002中的元素04中输入数据)——页面011003——(在页面011003中的元素05中输入数据)——页面011004——(点击页面011004中的元素06)——页面011005等。
需要注意的是,在更新业务系统的页面时,原有的页面间的页面逻辑可能发生变化,因而,需要重新解析若干页面的业务逻辑。
S30、根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码。
可理解地,初始化测试代码可以是预先配置好的静态代码,也可以是预设生成机制生成的代码。在一些示例中,可以根据业务逻辑匹配若干测试代码,然后再从若干测试代码中选取出与若干页面最为匹配的初始化测试代码。
S40、接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
可理解地,在此处,修改指令可以是测试人员手动输入的指令。由于初始化测试代码为预先配置的代码,而若干页面一般是新设计的页面,两者可能无法完全匹配。通过测试人员的适应性修改,生成能够有效执行的自动化测试代码。由于初始化测试代码是与若干页面最为匹配的测试代码,相对而言,测试人员需要修改的工作量是最低。因而,本实施例可以大大降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。
步骤S10-S40中,获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面,在此处,若干页面即为待测试的页面,而UI测试任务用于测试业务系统中指定业务功能所涉及的多个页面的可靠性。通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系,以确定若干页面的业务逻辑。根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码,在此处通过业务逻辑匹配的初始化测试代码,由于业务逻辑基本相同,因而可以大大降低测试代码的修改量。接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码,在此处,由于若干页面中新开发的页面可能使用了一些新的数据对象,通过人工修改的方式,可以快速适配若干页面的测试需求,快速生成UI测试任务需要的测试代码。本实施例提供的UI自动化测试代码生成方法,可以大大降低维护UI自动化测试代码的难度,减少测试成本,提高测试效率。
可选的,步骤S30之前,即所述根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码之前,还包括:
S31、获取若干初始页面数据;
S32、解析所述初始页面数据,从所述初始页面数据提取若干关键元素;
S33、录制以所述关键元素为操作对象的回归操作,生成若干初始测试代码,所述若干初始测试代码包括所述初始化测试代码。
可理解地,初始页面数据可以是通过爬虫技术爬取的网页。初始页面数据可以包括数十万或更多的网页。可通过大数据分析的方法对初始页面数据进行解析,从初始页面数据提取若干关键元素。在一些示例中,关键元素可以是页面上的出现频次较高的控件对象。例如,关键元素可以是输入框、按钮、超链接等。
回归操作可以是基于用户操作习惯设置的一组网页操作,且这些网页操作以关键元素为操作对象。通过Selenium+Python技术可实现回归操作的录制,并生成相应的初始化测试代码。执行若干次回归操作,则可以获得若干测试代码(其中包括初始化测试代码)。可以基于关键元素与测试功能点的关联关系,设置回归操作。生成的初始测试代码设置有基于相应的回归操作生成的标签。
在一示例中,主页面包括10个关键元素,每一业务页面包括15个关键元素,每一内容页面包括4个关键元素,则可以形成回归操作的组数为:10*15*4=600。录制每组回归操作,可以获得相应的测试代码。因而,600组回归操作,可以获得600组测试代码。
步骤S31-S33中,获取若干初始页面数据,以通过初始页面数据筛选关键元素。解析所述初始页面数据,从所述初始页面数据提取若干关键元素,以形成若干基于关键元素的回归操作。录制以所述关键元素为操作对象的回归操作,并生成若干初始测试代码,所述若干初始测试代码包括所述初始化测试代码,在此处,可以预先生成初始测试代码,然后根据实际需要选取出初始化测试代码,大大降低维护UI自动化测试代码的难度。
可选的,步骤S33之后,即所述录制以所述关键元素为操作对象的回归操作,生成若干初始测试代码之后,还包括:
S34、接收设置指令,根据所述设置指令设置所述初始测试代码与所述业务逻辑的关联关系。
可理解地,在此处,设置指令可以是测试人员手动输入的指令。可以根据实际需要设置初始测试代码与业务逻辑的关联关系。关联关系可以指初始测试代码的标签与业务逻辑的匹配规则。在一示例中,一个业务逻辑可与多个初始测试代码存在关联关系。
步骤S34中,接收设置指令,根据所述设置指令设置所述初始测试代码与所述业务逻辑的关联关系,在此处,测试人员可以根据实际需要设置初始测试代码与业务逻辑之间的关联关系,保证关联关系的准确性。
可选的,步骤S30,即所述根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码,包括:
S301、获取与所述业务逻辑关联的若干初始测试代码;
S302、计算所述初始测试代码中的关键元素与所述若干页面中的关键元素的近似度;
S303、将近似度最高的初始测试代码确定为与所述业务逻辑匹配的初始化测试代码。
可理解地,可以先获取与业务逻辑关联的若干初始测试代码,然后提取各个初始测试代码中的关键元素。在一示例中,一初始测试代码中的关键元素可表示为:元素1——元素2——元素3——元素4——元素5。若干页面中的关键元素可表示为:{页面1的元素组合、页面2的元素组合、页面3的元素组合、页面4的元素组合、页面5的元素组合}。若元素1存在于页面1的元素组合中,则元素1的近似值为1;若元素1不存在于页面1的元素组合中,且元素组合不包含元素1的相近元素,则元素1的近似值为-1;若元素1不存在于页面1的元素组合中,且元素组合包含元素1的相近元素,则则根据相近元素与元素1的近似程度设置元素1的近似值。初始测试代码中的关键元素与若干页面中的关键元素的近似度,则是各个关键元素的近似值的加权和。不同关键元素,可以设置不同的权重。在一示例中,初始测试代码中的关键元素与若干页面中的关键元素的近似度可表示为
Figure BDA0003125455890000101
其中,n为初始测试代码中关键元素的个数,i为关键元素的序号,γi为第i个关键元素的近似值(用于初始测试代码中的关键元素与对应的页面的元素组合),εi为第i个关键元素的权重。可以将近似度最高的初始测试代码确定为与业务逻辑匹配的初始化测试代码。
步骤S301-S305中,获取与所述业务逻辑关联的若干初始测试代码,在此处,通过业务逻辑匹配初始测试代码,可以缩小初始测试代码的筛选范围,减少计算量。计算所述初始测试代码中的关键元素与所述若干页面中的关键元素的近似度,以通过近似度选取出初始化测试代码。将近似度最高的初始测试代码确定为与所述业务逻辑匹配的初始化测试代码,在此处,可以获取与若干页面最为匹配的测试代码。
可选的,步骤S303之后,即所述将近似度最高的测试代码确定为与所述业务逻辑匹配的初始化测试代码之后,包括:
S304、选取所述初始化测试代码与所述若干页面存在差异的关键元素,记为差异元素;
S305、根据所述差异元素为所述初始化测试代码添加修改标识。
可理解地,虽然初始化测试代码是若干页面最为匹配的测试代码,但是,若干页面为待测试的页面,一般存在一些新的变动,导致初始化测试代码中的关键元素与若干页面中的关键元素不完全一致,存在差异。在此处,差异元素可以包括两种关键元素,一种是存在于初始化测试代码,但不存在于若干页面的关键元素,另一种是不存在于初始化测试代码,但存在于若干页面的关键元素。
在确定差异元素之后,可以根据差异元素为初始化测试代码添加修改标识。修改标识可以采用高亮文字、文字标注等形式表现。通过添加修改标识,测试人员可以更加便捷地定位差异元素,提高代码的修改效率。
步骤S304-S305中,选取所述初始化测试代码与所述若干页面存在差异的关键元素,记为差异元素,以自动标识差异元素。根据所述差异元素为所述初始化测试代码添加修改标识,在此处,通过修改标识,可以提高测试人员修改测试代码的效率和准确性。
可选的,步骤S40之后,所述接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码之后,还包括:
S50、通过预设校验工具校验所述自动化测试代码,获取校验结果;
S60、若所述校验结果存在错误代码,则发出报错提醒。
可理解地,预设校验工具可以是一种基于语法校验的校验工具,可以检测自动化测试代码是否包含存在语法错误的错误代码,进而获得校验结果。若校验结果不存在错误代码,则自动化测试代码是可用的。若校验结果存在错误代码,则发出报错提醒,提醒测试人员需要对错误代码进行修改。
步骤S50-S60中,通过预设校验工具校验所述自动化测试代码,获取校验结果,以检查自动化测试代码的错误。若所述校验结果存在错误代码,则发出报错提醒,以提醒测试人员需要对自动化测试代码进行进一步修改。
可选的,步骤S302之后,即所述计算所述测试代码中的关键元素与所述若干页面中的关键元素的近似度之后,还包括:
S3021、判断所述近似度是否小于预设阈值;
S3022、若所述近似度小于预设阈值,则创建代码录制任务,所述代码录制任务用于录制以所述业务逻辑中的关键元素为操作对象的回归操作,并生成相应的测试代码。
可理解地,预设阈值可以根据实际需要进行设置。在一示例中,预设阈值可以是95%。若近似度大于或等于预设阈值,说明初始化测试代码需要修改的工作量较小,测试人员修改的工作量较少,可以在较短时间内完成代码的修改。若近似度小于预设阈值,说明初始化测试代码需要修改的工作量较大,此时可以创建代码录制任务。然后通过完成代码录制任务,获得新的测试代码。其中,代码录制任务用于录制以业务逻辑中的关键元素为操作对象的回归操作,并生成相应的测试代码。在一示例中,回归操作可表示为:控件1(页面1)——控件2(页面2)——控件3(页面3)——控件4(页面4)——控件5(页面5)——控件6(页面1)。通过录制回归操作的方式,可以自动生成测试代码,大大提高代码的编写效率。
步骤S3021-S3022中,判断所述近似度是否小于预设阈值,以评估初始化测试代码是否可用,若近似度小于预设阈值,说明初始化测试代码不可用,若近似度大于或等于预设阈值,说明初始化测试代码可用。若所述近似度小于预设阈值,则创建代码录制任务,所述代码录制任务用于录制以所述业务逻辑中的关键元素为操作对象的回归操作,并生成相应的测试代码,在此处,通过录制回归操作的方式,可以自动生成测试代码,大大提高代码的编写效率,降低编写代码的难度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种UI自动化测试代码生成装置,该UI自动化测试代码生成装置与上述实施例中UI自动化测试代码生成方法一一对应。如图3所示,该UI自动化测试代码生成装置包括获取页面数据模块10、解析业务逻辑模块20、代码匹配模块30和代码修改模块40。各功能模块详细说明如下:
获取页面数据模块10,用于获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
解析业务逻辑模块20,用于通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
代码匹配模块30,用于根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
代码修改模块40,用于接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
可选的,UI自动化测试代码生成装置还包括代码生成模块,所述代码生成模块包括:
获取初始页面数据单元,用于获取若干初始页面数据;
元素提取单元,用于解析所述初始页面数据,从所述初始页面数据提取若干关键元素;
生成代码单元,用于录制以所述关键元素为操作对象的回归操作,生成若干初始测试代码,所述若干初始测试代码包括所述初始化测试代码。
可选的,代码生成模块还包括:
关联单元,用于接收设置指令,根据所述设置指令设置所述初始测试代码与所述业务逻辑的关联关系。
可选的,代码匹配模块30包括:
获取初始测试代码单元,用于获取与所述业务逻辑关联的若干初始测试代码;
计算相似度单元,用于计算所述初始测试代码中的关键元素与所述若干页面中的关键元素的近似度;
确定初始化测试代码单元,用于将近似度最高的初始测试代码确定为与所述业务逻辑匹配的初始化测试代码。
可选的,UI自动化测试代码生成装置还包括差异代码标识模块,所述差异代码标识模块包括:
确定差异元素单元,用于选取所述初始化测试代码与所述若干页面存在差异的关键元素,记为差异元素;
添加修改标识单元,用于根据所述差异元素为所述初始化测试代码添加修改标识。
可选的,UI自动化测试代码生成装置还包括:
代码校验模块,用于通过预设校验工具校验所述自动化测试代码,获取校验结果;
报错提醒模块,用于若所述校验结果存在错误代码,则发出报错提醒。
可选的,代码匹配模块30还包括:
近似度判断单元,用于判断所述近似度是否小于预设阈值;
新代码生成单元,用于若所述近似度小于预设阈值,则创建代码录制任务,所述代码录制任务用于录制以所述业务逻辑中的关键元素为操作对象的回归操作,并生成相应的测试代码。
关于UI自动化测试代码生成装置的具体限定可以参见上文中对于UI自动化测试代码生成方法的限定,在此不再赘述。上述UI自动化测试代码生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储UI自动化测试代码生成方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种UI自动化测试代码生成方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种UI自动化测试代码生成方法,其特征在于,包括:
获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
2.如权利要求1所述的UI自动化测试代码生成方法,其特征在于,所述根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码之前,还包括:
获取若干初始页面数据;
解析所述初始页面数据,从所述初始页面数据提取若干关键元素;
录制以所述关键元素为操作对象的回归操作,生成若干初始测试代码,所述若干初始测试代码包括所述初始化测试代码。
3.如权利要求2所述的UI自动化测试代码生成方法,其特征在于,所述录制以所述关键元素为操作对象的回归操作,生成若干初始测试代码之后,还包括:
接收设置指令,根据所述设置指令设置所述初始测试代码与所述业务逻辑的关联关系。
4.如权利要求1所述的UI自动化测试代码生成方法,其特征在于,所述根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码,包括:
获取与所述业务逻辑关联的若干初始测试代码;
计算所述初始测试代码中的关键元素与所述若干页面中的关键元素的近似度;
将近似度最高的初始测试代码确定为与所述业务逻辑匹配的初始化测试代码。
5.如权利要求4所述的UI自动化测试代码生成方法,其特征在于,所述将近似度最高的测试代码确定为与所述业务逻辑匹配的初始化测试代码之后,包括:
选取所述初始化测试代码与所述若干页面存在差异的关键元素,记为差异元素;
根据所述差异元素为所述初始化测试代码添加修改标识。
6.如权利要求1所述的UI自动化测试代码生成方法,其特征在于,所述接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码之后,还包括:
通过预设校验工具校验所述自动化测试代码,获取校验结果;
若所述校验结果存在错误代码,则发出报错提醒。
7.如权利要求4所述的UI自动化测试代码生成方法,其特征在于,所述计算所述测试代码中的关键元素与所述若干页面中的关键元素的近似度之后,还包括:
判断所述近似度是否小于预设阈值;
若所述近似度小于预设阈值,则创建代码录制任务,所述代码录制任务用于录制以所述业务逻辑中的关键元素为操作对象的回归操作,并生成相应的测试代码。
8.一种UI自动化测试代码生成装置,其特征在于,包括:
获取页面数据模块,用于获取业务系统中与UI测试任务关联的若干页面,所述页面包括登录页面、主页、业务页面和/或内容页面;
解析业务逻辑模块,用于通过所述业务系统的系统架构解析所述若干页面,获得所述若干页面的业务逻辑,所述业务逻辑包括与若干页面对应的一组操作联系;
代码匹配模块,用于根据所述业务逻辑获取与所述若干页面匹配的初始化测试代码;
代码修改模块,用于接收修改指令,根据所述修改指令对所述初始化测试代码进行修改,生成所述UI测试任务的自动化测试代码。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述UI自动化测试代码生成方法。
10.一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述UI自动化测试代码生成方法。
CN202110688584.6A 2021-06-21 2021-06-21 Ui自动化测试代码生成方法、装置、设备及介质 Pending CN113326202A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110688584.6A CN113326202A (zh) 2021-06-21 2021-06-21 Ui自动化测试代码生成方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110688584.6A CN113326202A (zh) 2021-06-21 2021-06-21 Ui自动化测试代码生成方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN113326202A true CN113326202A (zh) 2021-08-31

Family

ID=77424142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110688584.6A Pending CN113326202A (zh) 2021-06-21 2021-06-21 Ui自动化测试代码生成方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113326202A (zh)

Similar Documents

Publication Publication Date Title
CN111061526B (zh) 自动化测试方法、装置、计算机设备及存储介质
CN107783898B (zh) 移动应用的测试方法及测试设备
CN111563051B (zh) 基于爬虫的数据核验方法、装置、计算机设备及存储介质
CN107329894B (zh) 应用程序系统测试方法、装置及电子设备
CN108874661B (zh) 测试映射关系库生成方法、装置、计算机设备和存储介质
CN111797026A (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN110866258A (zh) 快速定位漏洞方法、电子装置及存储介质
CN111045927A (zh) 性能测试评估方法、装置、计算机设备及可读存储介质
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
CN108399125B (zh) 自动化测试方法、装置、计算机设备和存储介质
CN111026647A (zh) 代码覆盖率的获取方法、装置、计算机设备和存储介质
CN112631926A (zh) 代码测试覆盖率显示方法、装置、计算机设备及存储介质
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN116245074A (zh) 芯片验证方法、设备及存储介质
CN113946510A (zh) Web页面测试方法、装置、设备及计算机存储介质
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN109815127B (zh) 自动化脚本转换方法、装置、计算机设备和存储介质
CN113326202A (zh) Ui自动化测试代码生成方法、装置、设备及介质
CN115934129A (zh) 软件项目更新方法、装置、计算机设备及存储介质
CN111083007B (zh) 测试方法、装置、计算机设备和存储介质
CN115033434A (zh) 一种内核性能理论值计算方法、装置及存储介质
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN112580334A (zh) 一种文案处理方法、装置、服务器及存储介质
CN112463630A (zh) 版本差异性测试方法、装置、计算机设备和存储介质
CN111625459A (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