一种自动化测试对象库的系统及方法技术方案

技术编号:21273388 阅读:27 留言:0更新日期:2019-06-06 07:53
一种自动化测试对象库的方法,其中工作方法包括以下操作步骤:A)、用户新建一个对象库,用于存储某个被测应用上的测试对象;B)、用户选择“侦测控件”逐一添加测试对象或“批量侦测控件”界面批量添加控件方式中的任意一种;C)、修改推荐的测试对象属性和推荐的对象,即添加测试对象时,用户对推荐的测试对象和推荐的测试对象属性做修改,然后再添加到测试对象库;D)、将上一步的测试对象添加到对象库;E)、编辑测试对象库;F)、对已在对象库中的测试对象做验证或高亮方式中的任意一种;G)、将某个对象生成代码,插入到用户的测试脚本编辑器中;H)、完成。本发明专利技术实现了各种便捷的测试对象管理,能够使自动化脚本开发便捷高效。

A System and Method of Automated Test Object Library

A method of automatic test object library includes the following steps: A) user creates a new object library to store test objects on an application under test; B) user chooses \detection control\ to add test objects or \batch detection control\ interface to batch add controls one by one; C) modification of recommended test object attributes; And recommended objects, that is, when adding test objects, users modify the recommended test objects and properties of the recommended test objects, and then add them to the test object library; D), add the test objects of the previous step to the object library; E), edit the test object library; F), verify or highlight any of the test objects already in the object library, G, and generate an object. To code, insert into the user's test script editor; H), complete. The invention realizes various convenient test object management, and can make the development of automated scripts convenient and efficient.

【技术实现步骤摘要】
一种自动化测试对象库的系统及方法
本专利技术属于计算机软件测试
,特别涉及一种自动化测试对象库的系统及方法。
技术介绍
目前,在自动化测试中,通常通过定义一组控件属性(例如控件ID、显示名称、XPath或AutomationID等属性)来定位控件。当多个测试场景的测试代码会对某被测应用界面上的一组控件做类似操作,最直接的方式是脚本每次操作控件的代码都使用这些属性。但是这样势必有很多重复的属性定义分布在脚本的不同地方,这样不利于维护和更新控件属性。使用一个专用的存储库来管理这些测试属性是一个优化后的解决方法。需要多个属性的组合定位一个控件时,通常将属性存储在一个对象中,简称测试对象。存储这些测试对象的库可称为测试对象库,或简称对象库。流行的测试软件QTP/UFT就可以定义这样一个对象库。测试对象:在自动化测试脚本中,测试函数库构造的对象,用于识别被测应用中某个控件,它和控件一般是一一对应的关系。它包含了一组控件属性,用于描述和定位这个控件,以及一组操作函数,对这些函数的调用会导致对关联控件上的相应操作。测试对象库:为便于管理和使用,将测试对象的描述信息集中放到一个文件中管理,自动化测试工具中的对象库管理程序对这个文件提供了检索、修改、验证的功能。这个文件就是测试对象库,简称为“对象库”。自动化测试API运行时可读取对象库中的测试对象,然后操作相应的被测应用控件。敏捷开发已经成为主流的开发模式。其中持续集成要求软件快速、频繁发布新版本,这对自动化测试和自动化测试工具软件带来挑战;如何设计一种新的测试代码开发工具,如何能够在设计时就显著降低脚本出错的可能性且无需在运行时再修正相关的语法错误,如何提高了开发者的生产率并实现各种便捷的测试对象管理,如何方便快速更新和验证测试对象库,如何适应敏捷开发的需要,成为急需解决的问题。
技术实现思路
本专利技术的目的是要解决上述技术问题。一种自动化测试对象库的系统,包括测试对象库管理器,其特征在于:所述的测试对象库管理器与对象库文件双向连接,测试对象库管理器与被测应用连接并形成闭环,测试对象库管理器与用户代码连接;被测应用为界面控件,界面控件包括窗体控件、按钮控件、文本框控件、列表控件等各类界面控件;测试对象库管理器包括对象模型管理器、控件侦测器,控件侦测器依次与测试对象生成器、对象批量添加模块、对象库模型连接;对象模型管理器分三路输出,第一路与对象属性编辑器连接,第二路与对象库模型连接,第三路通过代码生成器与用户代码连接,代码生成器被对象模型管理器调用,将某个测试对象生成代码片段,插到用户的脚本中;对象库模型分三路输出,第一路通过控件识别器与被测应用连接,第二路通过对象批量验证模块与控件识别器连接,第三路通过序列化模块与对象库文件双向连接。一种自动化测试对象库的方法,包括自动化测试对象库的工作方法、自动化测试对象库的模块内部交互方法,其特征在于:自动化测试对象库的工作方法包括以下操作步骤:A)、用户新建一个对象库,用于存储某个被测应用上的测试对象;B)、用户选择“侦测控件”逐一添加测试对象或“批量侦测控件”界面批量添加控件方式中的任意一种;C)、修改推荐的测试对象属性和推荐的对象,即添加测试对象时,用户对推荐的测试对象和推荐的测试对象属性做修改,然后再添加到测试对象库;D)、将上一步的测试对象添加到对象库;E)、编辑测试对象库,对已经在对象库的测试对象做系列编辑修改,包括但不限于a.编辑对象识别属性;b.从控件更新测试对象;c.合并重复的测试对象;d.创建组对象管理测试对象;F)、对已在对象库中的测试对象做验证或高亮方式中的任意一种;G)、将某个对象生成代码,插入到用户的测试脚本编辑器中;H)、完成;自动化测试对象库的模块内部交互方法包括以下操作步骤:A)、控件侦测器接受用户点击后,侦测到被测应用的被点击控件及其它的相邻控件、多级父控件;B)、测试对象生成器根据生成控件对应的测试对象,输出到对象批量添加模块;C)、测试对象被对象批量添加模块添加到对象库模型中;D)、对象模型管理器提供对象库模型的操作界面和实际操作,对象模型管理器对对象库模型实现更新;同时对象模型管理器通过调用对象属性编辑器,实现对单个测试对象的修改;E)、做测试对象验证的时候,控件识别器会从对象库模型中读取测试对象,然后对被测应用上的对应控件做识别;F)、序列化模块将整个对象库模型序列化成文件保存;G)、代码生成器被对象模型管理器调用,将某个测试对象生成代码片段,插到用户的脚本中;H)、完成。所述的自动化测试对象库的工作方法的步骤B)及F)中,当用户选择“侦测控件”逐一添加测试对象,对已在对象库中的测试对象做单个对象的验证。所述的自动化测试对象库的工作方法的步骤B)及F)中,当用户选择“批量侦测控件”界面批量添加控件,对已在对象库中的测试对象做单个对象的验证或批量验证方式中的任意一种。所述的自动化测试对象库的模块内部交互方法的步骤E)中,做测试对象验证的时候,对象批量验证模块会针对对象库模型的一批对象,逐一调用控件识别器做识别。本专利技术是一种独特的不同于QTP/UFT或其它自动化工具的对象库管理方法,实现了各种便捷的测试对象管理,提供了使用对象库的方法,能够使自动化脚本开发便捷高效,能够在设计时就显著降低脚本出错的可能性且无需在运行时再修正相关的语法错误,提高了开发者的生产率,能方便快速更新和验证测试对象库,适应了敏捷开发的需要,推广应用具有良好的经济效益和社会效益。附图说明图1是本专利技术的工作流程图。图2是本专利技术的模块内部交互方法流程图。图3是本专利技术实施例一的测试对象库界面示例图。图4是图3中对象树中某个对象上点击后的界面图。图5是本专利技术实施例一的批量添加控件界面图。具体实施方式下面结合附图对本专利技术作进一步说明,但不作为对本专利技术的限制:一种自动化测试对象库的系统,包括测试对象库管理器,其特征在于:所述的测试对象库管理器与对象库文件双向连接,测试对象库管理器与被测应用连接并形成闭环,测试对象库管理器与用户代码连接;被测应用为界面控件,界面控件包括窗体控件、按钮控件、文本框控件、列表控件等各类界面控件;测试对象库管理器包括对象模型管理器、控件侦测器,控件侦测器依次与测试对象生成器、对象批量添加模块、对象库模型连接;对象模型管理器分三路输出,第一路与对象属性编辑器连接,第二路与对象库模型连接,第三路通过代码生成器与用户代码连接,代码生成器被对象模型管理器调用,将某个测试对象生成代码片段,插到用户的脚本中;对象库模型分三路输出,第一路通过控件识别器与被测应用连接,第二路通过对象批量验证模块与控件识别器连接,第三路通过序列化模块与对象库文件双向连接。一种自动化测试对象库的方法,包括自动化测试对象库的工作方法、自动化测试对象库的模块内部交互方法,其特征在于:自动化测试对象库的工作方法包括以下操作步骤:A)、用户新建一个对象库,用于存储某个被测应用上的测试对象;B)、用户选择“侦测控件”逐一添加测试对象或“批量侦测控件”界面批量添加控件方式中的任意一种;C)、修改推荐的测试对象属性和推荐的对象,即添加测试对象时,用户对推荐的测试对象和推荐的测试对象属性做修改,然后再添加到测试对象库;D)、将上一步的测试对象添加本文档来自技高网
...

【技术保护点】
1.一种自动化测试对象库的系统,包括测试对象库管理器,其特征在于:所述的测试对象库管理器与对象库文件双向连接,测试对象库管理器与被测应用连接并形成闭环,测试对象库管理器与用户代码连接;被测应用为界面控件,界面控件包括窗体控件、按钮控件、文本框控件、列表控件;测试对象库管理器包括对象模型管理器、控件侦测器,控件侦测器依次与测试对象生成器、对象批量添加模块、对象库模型连接;对象模型管理器分三路输出,第一路与对象属性编辑器连接,第二路与对象库模型连接,第三路通过代码生成器与用户代码连接,代码生成器被对象模型管理器调用,将某个测试对象生成代码片段,插到用户的脚本中;对象库模型分三路输出,第一路通过控件识别器与被测应用连接,第二路通过对象批量验证模块与控件识别器连接,第三路通过序列化模块与对象库文件双向连接。

【技术特征摘要】
1.一种自动化测试对象库的系统,包括测试对象库管理器,其特征在于:所述的测试对象库管理器与对象库文件双向连接,测试对象库管理器与被测应用连接并形成闭环,测试对象库管理器与用户代码连接;被测应用为界面控件,界面控件包括窗体控件、按钮控件、文本框控件、列表控件;测试对象库管理器包括对象模型管理器、控件侦测器,控件侦测器依次与测试对象生成器、对象批量添加模块、对象库模型连接;对象模型管理器分三路输出,第一路与对象属性编辑器连接,第二路与对象库模型连接,第三路通过代码生成器与用户代码连接,代码生成器被对象模型管理器调用,将某个测试对象生成代码片段,插到用户的脚本中;对象库模型分三路输出,第一路通过控件识别器与被测应用连接,第二路通过对象批量验证模块与控件识别器连接,第三路通过序列化模块与对象库文件双向连接。2.一种自动化测试对象库的方法,包括自动化测试对象库的工作方法、自动化测试对象库的模块内部交互方法,其特征在于:自动化测试对象库的工作方法包括以下操作步骤:A)、用户新建一个对象库,用于存储某个被测应用上的测试对象;B)、用户选择“侦测控件”逐一添加测试对象或“批量侦测控件”界面批量添加控件方式中的任意一种;C)、修改推荐的测试对象属性和推荐的对象,即添加测试对象时,用户对推荐的测试对象和推荐的测试对象属性做修改,然后再添加到测试对象库;D)、将上一步的测试对象添加到对象库;E)、编辑测试对象库,对已经在对象库的测试对象做系列编辑修改,包括但不限于a.编辑对象识别属性;b.从控件更新测试对象;c.合并重复的测试对象;d.创建组对象管理测试对象;F)、对已在对象库中的测试对象做验证或...

【专利技术属性】
技术研发人员:经致远
申请(专利权)人:上海聆播信息科技有限公司
类型:发明
国别省市:上海,31

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

1