一种自动化测试方法及装置制造方法及图纸

技术编号:4125359 阅读:276 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种自动化测试方法,该方法包括:在被测试软件中植入抽取引擎;当所述抽取引擎监控到将要显示被测试软件界面的事件时,抽取所述被测试软件的界面控件信息,并保存所述界面控件信息;根据所述保存的界面控件信息,定位所述被测试软件界面上对应的界面控件,以便完成对所述被测试软件的自动化测试。本发明专利技术还公开了一种自动化测试装置。通过本发明专利技术,消除了被测试软件的界面控件变化产生的影响,解决了界面控件变化后需要重新维护测试用例的问题。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,特别是涉及一种自动化测试方法及装置
技术介绍
随着软件产品的规模扩大,测试人员测试软件的速度很难跟上开发软件的脚步。这就很需要一种模式来帮助测试人员让计算机自动在软件界面上进行 鼠标点击和按键操作,这就是自动化测试。自动化测试过程就是执行自动化测试用例的过程,自动化测试用例包括自 动化测试脚本、界面控件信息、输入输出数据。其中,界面控件是指被测试软 件的界面元素,例如,可以包括按钮、文本输入框、选择框等等。这些界面元 素通常是显示在软件界面上,用户可以通过鼠标、键盘等对其进行操作。而界 面控件信息是指存储在数据库中的界面元素的属性信息。在自动化测试中,由于没有人为的参与,因此,为了测试这些界面控件是 否能够实现相应的功能,就需要在测试时模拟人对界面控件进行操作的过程。 为了实现这一模拟过程,就需要有界面控件信息,通过界面控件信息定位到软 件上的界面控件,并将焦点放在指定界面控件上,进而才能实现对该界面控件 的键盘输入、鼠标点击等操作。自动化测试所需的界面控件信息通常是测试用例的一部分,即在测试用例 中已经包含了界面控件信息,但是如果界面控件变动(由于被测试软件的版本 升级等原因),而测试用例中的界面控制信息没有同步更新,则自动化脚本才丸 行时有偏差甚至失败。但是,界面控件信息需要在编写自动化用例时进行人工获取,如果被测试 软件的界面控件发生变化,则需要由软件测试人员手动同步修改测试用例中的 界面控件信息,以避免发生执行失败。但是这个过程中需要消耗大量人力进行 错误定位,同时也使自动化测试维护的成本增高。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种自动化测试方法及装置,即使被测 试软件的界面控件发生变化后,也不需要重新手动维护测试用例。为实现上述目的,本专利技术提供了如下方案 一种自动化测试方法,包括 在被测试软件中植入抽取引擎;当所述抽取引擎监控到将要显示被测试软件界面的事件时,抽取所述被测 试软件的界面控件信息,并保存所述界面控件信息;根据所述保存的界面控件信息,定位所述净皮测试软件界面上对应的界面控 件,以^便完成对所述净皮测试软件的自动化测试。优选的,还包括初始化界面控件信息的动态获取参数; 所述保存所述界面控件信息之前还包括根据所述动态获取参数判断是否为自动化测试,如果是,执行所述保存所 述界面控件信息的步骤。优选的,所述保存所述界面控件信息之后还包括将所述抽取引擎从所述被测试软件中脱离。优选的,所述抽取所述被测试软件的界面控件信息之前还包括判断被测试软件的界面控件是否发生变化,如果发生变化,则抽取发生变 化的界面控件的信息;利用所述发生变化的界面控件的信息更新测试用例中的界面控件信息。优选的,保存所述界面控件信息包括生成所述界面控件信息的数据包,并将所述数据包输出为本地緩存。 优选的,所述抽取所述被测试软件的界面控件信息包括 在所述被测试软件中构建界面控件基类,并遍历所述被测试软件中所有的 界面控件。一种自动化测试装置,包括植入单元,用于在被测试软件中植入抽取引擎;抽取引擎,用于当监控到将要显示被测试软件界面的事件时,抽取所述被5测试软件的界面控件信息,并保存所述界面控件信息;定位单元,用于自动化测试脚本根据所述保存的界面控件信息,定位所述 被测试软件界面上对应的界面控件,以便完成对所述净皮测试软件的自动化测试。优选的,还包括初始化单元,用于初始化界面控件信息的动态获取参数; 所述抽取引擎还包括第一判断子单元,用于根据所述动态获取参数判断是否为自动化测试,如 果是,执行所述保存所述界面控件信息的步骤。 优选的,还包括.-脱离单元,用于当所述抽取引擎保存所述界面控件信息之后,将所述抽取 亏1擎从所述被测试软件中脱离。 优选的,所述抽取引擎还包括第二判断子单元,用于判断被测试软件的界面控件是否发生变化,如果发 生变化,则抽取发生变化的界面控件的信息;更新子单元,用于利用所述发生变化的界面控件的信息更新测试用例中的 界面控件信息。优选的,所述抽取引擎包括数据包生成子单元,用于生成所述界面控件信息的数据包; 输出子单元,用于将所述数据包输出为本地緩存。 优选的,所述抽取引擎包括基类构建子单元,用于在被测试软件中构建界面控件基类; 遍历子单元,用于遍历所述被测试软件中所有的界面控件。 根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果 本专利技术实施例中,由于能够在被测试软件中植入抽取引擎,而抽取引擎能 够在被测试软件的界面显示之前,获取被测试软件的界面控件信息,并进行保 存,因此,自动化测试脚本直接根据保存的界面控制信息就能够定位所述被测 试软件界面上对应的界面控件,并完成对所述#1测试软件的自动化测试。可见, 即使被测试软件的界面控件发生了变化,也能够通过抽取引擎自动跟踪这种变化,相当于同步更新了自动化测试用例,因此,消除了被测试软件的界面控件 变化产生的影响,解决了界面控件变化后需要重新维护测试用例的问题,可以 避免由进行错误定位而消耗大量人力,同时也降低了自动化测试的维护成本。附图说明图1是本专利技术实施例提供的方法的流程图2是本专利技术实施例提供的第一装置的示意图; 图3是本专利技术实施例提供的第二装置的示意图; 图4是本专利技术实施例提供的第三装置的示意图; 图5是本专利技术实施例提供的第四装置的示意图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参见图1,本专利技术实施例提供的自动化测试方法包括以下步骤S101:在被测试软件中植入抽取引擎;所述抽取引擎相当于一段程序,该程序能够自动获取出界面上的控件信 息。抽取引擎相当于是被测试软件与自动化测试程序之间的接口,可以抽取被 测试软件的界面控件信息,并提供给自动化测试程序使用。这样,当被测试软 件的界面控件发生变化时,就不需要手动地修改测试用例了,抽取引擎可以自 动实现测试用例的更新。具体实现时,自动化程序执行测试用例的同时,自动化测试脚本将启动需 要测试的软件,此时,就可以在被测试软件中才直入抽取引擎。S102:当所述抽取引擎监控到将要显示被测试软件界面的事件时,抽取所 述被测试软件的界面控件信息,并保存所述界面控件信息;启动被测试软件之后,被测试软件的界面需要显示出来,该过程需要经历 创建窗体、显示并激活等事件。抽取引擎就是要监控将要显示被测试软件界面的事件, 一旦监控到,就可以抽取被测试软件的界面控件信息。具体进行抽取 时,可以首先在被测试软件中构建界面的控件基类,然后遍历被测试软件的所 有界面控件。抽取被测试软件的界面控件信息之后,需要将这些界面控件信息进行保 存,以便于在测试过程中使用。具体实现时,由于通常在对软件进行自动化测 试时,都需要将自动化测试脚本、界面控制信息、输入输出数据等緩存在本地, 因此,抽取引擎抽取的界面控件信息也可以先生成数据包,并緩存在本地,用 抽取引擎抽取到的界面控件信息覆盖原来的界面控件信息,这样,自动化脚本就可以读取这些緩存,并转换为界面控件信息进行界面控件的定位。将抽取到的界面控件信息緩存在本地的好处在于,数据仅在本地进行緩存 输出,可以使得资源消耗在千毫秒级,而且不需要与应用服务器交互,产生的 性能消耗可不计。S本文档来自技高网...

【技术保护点】
一种自动化测试方法,其特征在于,包括: 在被测试软件中植入抽取引擎; 当所述抽取引擎监控到将要显示被测试软件界面的串件时,抽取所述被测试软件的界面控件信息,并保存所述界面控件信息; 根据所述保存的界面控件信息,定位所述被测 试软件界面上对应的界面控件,以便完成对所述被测试软件的自动化测试。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓润祥
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1