一种UI自动化测试方法及系统技术方案

技术编号:35479354 阅读:19 留言:0更新日期:2022-11-05 16:29
本发明专利技术提供一种UI自动化测试方法及系统,该方法包括:在robotframework框架的framework目录下分别定义pages模块、flows模块、scenes模块和testsuit模块;在pages模块中基于PO模式创建页面对象,并将页面对象至少划分为页面元素定位、页面操作关键字、页面文本;在flows模块中将所述pages模块提供的页面操作关键字封装成页面关键字组成的流程集合;在scenes模块中基于所述pages模块的页面关键字和所述flows模块中的流程集合封装为关键字组成的场景集合;在testsuit模块中根据pages模块、flows模块、scenes模块中的关键字,生成测试用例;自动执行所述测试用例进行UI测试。通过该方案可以提高页面代码的组织性和可维护性,降低前端页面测试难度和测试成本。降低前端页面测试难度和测试成本。降低前端页面测试难度和测试成本。

【技术实现步骤摘要】
一种UI自动化测试方法及系统


[0001]本专利技术属于软件测试领域,尤其涉及一种UI自动化测试方法及系统。

技术介绍

[0002]随着软件开发技术的不断发展,部分后端业务开始前移,前端工程师的工作量也随之增大。如何保证低成本高质量的前端快速交付,web自动化测试必不可少。而在实际开发中,前端页面常需要频繁改动,以适应新场景或用户需求,就需要专业测试人员频繁进行复杂的测试工作,由此大大增加了代码维护测试难度和维护成本。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供了一种UI自动化测试方法及系统,用于解决前端代码维护测试难度大且成本高的问题。
[0004]在本专利技术实施例的第一方面,提供了一种UI自动化测试方法,包括:
[0005]在robotframework框架的framework目录下分别定义pages模块、flows模块、scenes模块和testsuit模块;
[0006]在pages模块中基于PO模式创建页面对象,并将页面对象至少划分为页面元素定位、页面操作关键字、页面文本;
[0007]在flows模块中将所述pages模块提供的页面操作关键字封装成页面关键字组成的流程集合;
[0008]在scenes模块中基于所述pages模块的页面关键字和所述flows模块中的流程集合封装为关键字组成的场景集合;
[0009]在testsuit模块中根据pages模块、flows模块、scenes模块中的关键字,生成测试用例;
[0010]自动执行所述测试用例进行UI测试。
[0011]在本专利技术实施例的第二方面,提供了一种UI自动化测试系统,包括:
[0012]pages模块,用于基于PO模式创建页面对象,并将页面对象至少划分为页面元素定位、页面操作关键字、页面文本;
[0013]flows模块,用于将所述pages模块提供的页面操作关键字封装成页面关键字组成的流程集合;
[0014]scenes模块,用于基于所述pages模块的页面关键字和所述flows模块中的流程集合封装为关键字组成的场景集合;
[0015]testsuit模块,用于根据pages模块、flows模块、scenes模块中的关键字,生成测试用例;
[0016]测试模块,用于自动调用所述测试用例进行UI测试。
[0017]在本专利技术实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时
实现如本专利技术实施例第一方面所述方法的步骤。
[0018]在本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例第一方面提供的所述方法的步骤。
[0019]本专利技术实施例中,基于robotframework框架结合PO模式搭建UI自动化测试框架,将页面对象及页面元素分开,将页面操作、流程、场景分层管理,将自动化测试代码井然有序的组织起来,降低前端代码维护测试难度,使得在页面改动频繁的情况下也能够低成本维护。相比于传统的前端开发方式,代码结构更清晰,使代码与产品保持高度的一致性,并能降低前端测试的专业性要求,减少自动化维护的成本。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本专利技术的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
[0021]图1为本专利技术一个实施例提供的一种UI自动化测试方法的流程示意图;
[0022]图2为本专利技术一个实施例提供的一种UI自动化测试系统的结构示意图;
[0023]图3为本专利技术的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
[0024]为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0025]应当理解,本专利技术的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
[0026]请参阅图1,本专利技术实施例提供的一种UI自动化测试方法的流程示意图,包括:
[0027]S101、在robotframework框架的framework目录下分别定义pages模块、flows模块、scenes模块和testsuit模块;
[0028]所述robotframework为一种以关键字驱动的自动化测试框架,在robotframework中包含一些文件目标,如resource目录、base目录、framework目录等。
[0029]其中,resource目录下包含支持多环境执行的配置、librarys模块包含的基础库和自定义的库;base目录下包含公共的自定义用户关键字;framework目录下包含定义的pages模块、flows模块、scenes模块和testsuit模块。
[0030]S102、在pages模块中基于PO模式创建页面对象,并将页面对象至少划分为页面元素定位、页面操作关键字、页面文本;
[0031]所述PO(Page Object)模式为一种页面设计模式,用于将页面元素与元素操作方法分离成对象。这样在页面元素发生变化时,只需要调整页面元素封装的代码即可。
[0032]所述pages(页面)模块中,将前端页面划分为页面元素定位(locations)、页面操作关键字(keywords)、页面文本(text)三个部分,实现不同页面元素的分离,能让代码结构清晰,减少代码冗余,方便测试维护。
[0033]S103、在flows模块中将所述pages模块提供的页面操作关键字封装成页面关键字组成的流程集合;
[0034]所述页面操作关键字即对页面元素操作的关键字,如加载、输入、滚动、跳转等,将页面操作关键字组合就可以形成页面操作流程的关键字集合。
[0035]所述flows(流程)模块中通过将页面操作关键字封装成流程集合,形成用户关键字组成的资源文件,以便进一步组合封装成场景集合。
[0036]S104、在scenes模块中基于所述pages模块的页面关键字和所述flows模块中的流程集合封装为关键字组成的场景集合;
[0037]所述scenes(场景)模块中将pages模块提供的页面操作关键字、flow本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UI自动化测试方法,其特征在于,包括:在robotframework框架的framework目录下分别定义pages模块、flows模块、scenes模块和testsuit模块;在pages模块中基于PO模式创建页面对象,并将页面对象至少划分为页面元素定位、页面操作关键字、页面文本;在flows模块中将所述pages模块提供的页面操作关键字封装成页面关键字组成的流程集合;在scenes模块中基于所述pages模块的页面关键字和所述flows模块中的流程集合封装为关键字组成的场景集合;在testsuit模块中根据pages模块、flows模块、scenes模块中的关键字,生成测试用例;自动执行所述测试用例进行UI测试。2.根据权利要求1所述的方法,其特征在于,所述在robotframework框架的framework目录下分别定义pages模块、flows模块、scenes模块和testsuit模块还包括:在robotframework框架的base目录下定义公共的用户关键字。3.根据权利要求1所述的方法,其特征在于,所述testsuit模块包括冒烟测试用例集合和页面浏览测试用例集合。4.一种UI自动化测试系统,其特征在于,至少包括:pages模块,用于基于PO...

【专利技术属性】
技术研发人员:周风明陈文静
申请(专利权)人:武汉光庭信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1