利用P0模型进行UI级自动化测试的方法技术

技术编号:35814396 阅读:25 留言:0更新日期:2022-12-03 13:37
本发明专利技术公开了一种利用P0模型进行UI级自动化测试的方法,包括如下步骤:A、按照PO模型导出代码;B、导出完毕后,根据导出的代码写一个调用方法来执行导出代码;C、通过执行导出代码进行自动化测试。解决现有市场上提供的自动化脚本录制工具导出脚本为代码时,导出的代码无法直接用,维护脚本的工作量大的问题。维护脚本的工作量大的问题。

【技术实现步骤摘要】
利用P0模型进行UI级自动化测试的方法


[0001]本专利技术涉及自动化脚本录制领域,特别是一种利用P0模型进行UI级自动化测试的方法。

技术介绍

[0002]目前,市场上提供的自动化脚本录制工具,都能很好的完成脚本录制和回放。
[0003]但,当导出脚本为代码时,导出的代码无法直接用,因为没有经过公共方法的抽象,没有代码复用的概念,没有按照PO模型生成代码,如果直接用,维护成本很高,主要是因为:第一,如果公用的页面元素位置发生了改变,所有使用它的位置代码都要修改;第二,重复代码太多。

技术实现思路

[0004]本专利技术的目的在于提供一种利用P0模型进行UI级自动化测试的方法,解决现有市场上提供的自动化脚本录制工具导出脚本为代码时,导出的代码无法直接用,维护脚本的工作量大的问题。
[0005]为解决上述的技术问题,本专利技术采用以下技术方案:一种利用P0模型进行UI级自动化测试的方法,包括如下步骤:A、按照PO模型导出代码;B、导出完毕后,根据导出的代码写一个调用方法来执行导出代码;C、通过执行导出代码进行自动化测试。
[0006]PO模式导出的代码,抽象了一个层级,易维护。
[0007]作为本专利技术的进一步优选,所述步骤A中按照PO模型导出代码包括如下步骤:a1、导出时,产生一个基类,命名为“page_basePage”;a2、导出时,产生一个页面类,继承“page_basePage”;a3、在子类中,调用父类的定位方法、操作方法以及传递参数。
[0008]每一个页面是一个类,页面上所有元素都是变量,但所有页面类继承一个基类,该基类提供元素定位的方法,及对元素操作的方法,例如,按照xpath定位,并对页面元素进行send操作(写入信息)。
[0009]作为本专利技术的进一步优选,所述步骤a1中基类文件提供元素定位的方法以及对元素操作的方法。
[0010]作为本专利技术的进一步优选,所述基类文件中还需根据平台特性,增减基础方法。
[0011]作为本专利技术的进一步优选,所述步骤a2中页面类继承基类后如平台元素非常特殊,父类中没有方法对应,可以在子类中添加方法,当页面元素位置改变,只需修改页面类的定位方法。
[0012]与现有技术相比,本专利技术至少能达到以下有益效果中的一项:1、这种PO模式最大优点在于UI层产生变化后,只需修改最小代码量即可完成维护脚本的工作。
[0013]2、PO模式导出的代码,抽象了一个层级,易维护。
[0014]3、在子类文件中,如果平台元素非常特殊,父类中没有方法对应,可以在子类中添加方法。
具体实施方式
[0015]为使本专利技术实施方式的目的、技术方案和优点更加清楚,下面将结合本专利技术实施方式,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本专利技术一部分实施方式,而不是全部的实施方式。通常在此处描述和示出的本专利技术实施方式的组件可以以各种不同的配置来布置和设计。
[0016]因此,以下对提供的本专利技术的实施方式的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本专利技术保护的范围。
[0017]需要说明的是,在不冲突的情况下,本专利技术中的实施方式及实施方式中的特征可以相互组合。
[0018]在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0019]具体实施例1:一种利用P0模型进行UI级自动化测试的方法,包括如下步骤:A、按照PO模型导出代码;B、导出完毕后,根据导出的代码写一个调用方法来执行导出代码;C、通过执行导出代码进行自动化测试。
[0020]具体实施例2:本实施例是在具体实施例1的基础上对步骤A进行了进一步的说明,所述步骤A中按照PO模型导出代码包括如下步骤:a1、导出时,产生一个基类,命名为“page_basePage”;a2、导出时,产生一个页面类,继承“page_basePage”;a3、在子类中,调用父类的定位方法、操作方法以及传递参数。
[0021]具体实施例3:本实施例是在具体实施例2的基础上对步骤a1进行了进一步的说明,所述步骤a1中基类文件提供元素定位的方法以及对元素操作的方法。
[0022]具体实施例4:本实施例是在具体实施例3的基础上对基类文件进行了进一步的说明,所述基类文件中还需根据平台特性,增减基础方法。
[0023]具体实施例5:本实施例是在具体实施例2的基础上对步骤a2进行了进一步的说明,所述步骤a2中页面类继承基类后如平台元素非常特殊,父类中没有方法对应,可以在子类中添加方法,当页面元素位置改变,只需修改页面类的定位方法。
[0024]具体实施例6:以登录页面为例按照PO模型导出代码的方法如下:用工具录制脚本后,导出(python语言);导出时,在用户指定文件夹目录下自动生成名为“page_basePage”基类文件,文件中自动添加必须的包,包括(webdriver,By,expected_conditions);文件中自动定义一个类,默认类名Page,继承object基类;该Page类中,需要包含录制脚本访问的地址url变量,获取页面元素的自定义方法find_element(),这个方法中实际用来实现定位的方法是visibility_of_element_located,该方法来自导入的expected_conditions包;用于给元素传递值的send_keys()方法,这个方法中实际执行操作的是getattr方法,该方法来自object父类;以上url,find_element(),send_keys()都是方法名,方法中所需要的参数则从后续实际继承这个类的子类,调用方法时传递进来,这个page_basePage类中还可以包含放大,缩小浏览器窗口等方法,根据实际测试需要,Page_basePage这个基类生成后,其余类都需要继承它,之后,生成登录页面类文件。默认文件名loginPage。并且继承上述生成的Page类。loginPage类包含页面元素(用户名,密码,登录按钮)的实际定位(例如ID,NAME,XPATH),然后调用父类的find_element(),send_keys()方法把参数传递过去。
[0025]尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。...

【技术保护点】

【技术特征摘要】
1.一种利用P0模型进行UI级自动化测试的方法,其特征在于:包括如下步骤:A、按照PO模型导出代码;B、导出完毕后,根据导出的代码写一个调用方法来执行导出代码;C、通过执行导出代码进行自动化测试。2.根据权利要求1所述的利用P0模型进行UI级自动化测试的方法,其特征在于:所述步骤A中按照PO模型导出代码包括如下步骤:a1、导出时,产生一个基类,命名为“page_basePage”;a2、导出时,产生一个页面类,继承“page_basePage”;a3、在子类中,调用父类的定位方法、操作方法以及...

【专利技术属性】
技术研发人员:刘嘉星
申请(专利权)人:弘成科技发展有限公司
类型:发明
国别省市:

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

1