软件自动化测试方法和装置制造方法及图纸

技术编号:10891199 阅读:170 留言:0更新日期:2015-01-08 20:00
一种软件自动化测试方法和装置,其中,所述方法包括:通过将软件的界面元素的标识信息与预设类型信息进行比较,识别软件的界面元素的类型是简单型界面元素或复杂型界面元素;调用测试方法集对简单型界面元素的标识信息所对应的控件进行测试;计算当前测试环境相对于预设的标准测试环境的位置偏差,获取复杂型界面元素在测试系统界面上的位置;根据复杂型界面元素在测试系统界面上的位置,对复杂型界面元素所对应的控件进行测试。通过所述方法和装置,可以提高自动化测试的效率以及准确性。

【技术实现步骤摘要】
【专利摘要】一种软件自动化测试方法和装置,其中,所述方法包括:通过将软件的界面元素的标识信息与预设类型信息进行比较,识别软件的界面元素的类型是简单型界面元素或复杂型界面元素;调用测试方法集对简单型界面元素的标识信息所对应的控件进行测试;计算当前测试环境相对于预设的标准测试环境的位置偏差,获取复杂型界面元素在测试系统界面上的位置;根据复杂型界面元素在测试系统界面上的位置,对复杂型界面元素所对应的控件进行测试。通过所述方法和装置,可以提高自动化测试的效率以及准确性。【专利说明】软件自动化测试方法和装置
本专利技术涉及软件测试
,尤其涉及一种软件自动化测试方法和装置。
技术介绍
随着信息技术产业的发展以及企业规模的扩大,传统仅依靠人力来对产品进行测试已经渐渐显得力不从心,难以满足测试要求,同时又会导致资源浪费。因此,自动化测试已经在越来越多的研发公司里得到重视,例如通过Web浏览器自动登录系统,并自动调用或触发软件功能控件对系统进行测试。尽管目前自动化测试还无法完全取代人工测试,但两者的结合已经可以在很大程度上提高测试效率。 目前已有越来越多的自动化测试技术运用而生,例如在了解被测试系统的图形用户界面(Graphical User Interface,⑶I)相关内部代码的基础上,利用应用程序接口(Applicat1n Programming Interface,API)进行自动化测试。或者还可以根据GUI界面上的图像元素来进行自动化测试操作。 然而上述的自动化测试方法都存在各自的缺陷。通过API进行自动化测试的测试方法,当控件的结构较复杂时,需要编写的测试代码也会非常复杂。而采用根据GUI界面上的图像元素来进行自动化测试操作,则受测试环境影响较大。如果测试环境变化,会直接影响测试的准确性。这些问题都会进而影响到测试的效率。
技术实现思路
本专利技术解决的问题是如何提高自动化测试的效率以及准确性。 为解决上述问题,本专利技术实施例提供一种软件自动化测试方法,包括:通过将所述软件的界面元素的标识信息与预设类型信息进行比较,识别所述软件的界面元素的类型是简单型界面元素或复杂型界面元素;调用测试方法集对所述简单型界面元素的标识信息所对应的控件进行测试;计算当前测试环境相对于预设的标准测试环境的位置偏差,获取所述复杂型界面元素在所述测试系统界面上的位置;根据所述复杂型界面元素在所述测试系统界面上的位置,对所述复杂型界面元素所对应的控件进行测试。 可选的,所述软件的界面元素的标识信息为通过所述软件的应用程序接口获取。 可选的,所述计算当前测试环境相对于预设的标准测试环境的位置偏差包括:获取标准测试环境下的浏览器信息、分辨率信息以及所述复杂型界面元素的坐标位置;获取当前测试环境下的浏览器信息以及分辨率信息;通过对比当前测试环境下的浏览器信息、分辨率信息以及所述标准测试环境下的浏览器信息、分辨率信息,计算得到所述复杂型界面元素的坐标位置的偏差值。 可选的,所述获取所述复杂型界面元素在所述测试系统界面上的位置后还包括:存储当前测试环境下的浏览器信息、分辨率信息以及所述复杂型界面元素的坐标位置。 可选的,所述对所述复杂型界面元素所对应的控件进行测试包括:调用测试方法集,通过模拟鼠标操作、模拟键盘操作,或同时模拟鼠标和键盘操作,对所述复杂型界面元素所对应的控件进行测试。 为了解决上述的技术方案,本专利技术实施例还提供了一种软件自动化测试装置,包括:比较单元,用于将所述软件的界面元素的标识信息与预设类型信息进行比较;识别单元,用于根据所述比较单元的比较结果,识别所述软件的界面元素的类型是简单型界面元素或复杂型界面元素第一测试单元,用于调用测试方法集对所述简单型界面元素的标识信息所对应的控件进行测试;计算单元,用于计算当前测试环境相对于预设的标准测试环境的位置偏差,获取所述复杂型界面元素在所述测试系统界面上的位置;第二测试单元,根据所述复杂型界面元素在所述测试系统界面上的位置,对所述复杂型界面元素所对应的控件进行测试。 可选的,所述软件的界面元素的标识信息为通过所述软件的应用程序接口获取。 可选的,所述计算单元包括:第一获取子单元,用于获取标准测试环境下的浏览器信息、分辨率信息以及所述复杂型界面元素的坐标位置;第二获取子单元,用于获取当前测试环境下的浏览器信息以及分辨率信息;计算子单元,用于通过对比当前测试环境下的浏览器信息、分辨率信息以及所述标准测试环境下的浏览器信息、分辨率信息,计算得到所述复杂型界面元素的坐标位置的偏差值。 可选的,所述软件自动化测试装置还包括:存储单元,用于存储当前测试环境下的浏览器信息、分辨率信息以及所述复杂型界面元素的坐标位置。 可选的,所述第二测试单元,用于通过调用测试方法集,通过模拟鼠标操作、模拟键盘操作,或同时模拟鼠标和键盘操作,对所述复杂型界面元素所对应的控件进行测试。 与现有技术相比,本专利技术实施例的技术方案具有以下优点: 通过区分被测试软件的界面元素的类型特征,对不同类型的界面元素分类测试。具体来说,对于简单、通用、固定化的控件,通过传统的测试方法进行测试;而对于层次复杂的控件,通过坐标定位来获取控件在界面的坐标位置,从而执行相应的测试操作。通过结合传统自动化测试的准确快速获取简单控件的优点,以及坐标定位将复杂控件简单化的优点,提高了自动化测试的效率以及准确性。 进一步,通过存储不同测试环境下复杂型界面元素的位置,这样如果在记录的测试环境中进行测试,则不需要重新计算偏移,从而提高了测试的效率。 【专利附图】【附图说明】 图1是本专利技术实施例中一种软件自动化测试方法的流程图; 图2是本专利技术实施例中一种软件自动化测试装置的结构示意图。 【具体实施方式】 在现有的软件自动化测试技术中,大多数针对GUI的自动化测试都是在了解GUI相关内部代码实现的基础上,通过底层相配套的API,来识别和获取界面的元素对象,从而对界面上的元素进行相关的操作。这种方法可以根据元素的ID信息较准确地获取对应的控件,但是如果碰到设计较为个性化或层次结构复杂的控件,为了获取这种特定的元素,就需要编写较为复杂的代码,并且这些控件结构一旦发生改变,原先的测试代码也需要重写。有时甚至还可能出现由于代码结构复杂,即便能够获取该图像元素,也无法对其进行相应操作的情况。 目前也有自动化测试方法是根据界面图像元素来执行上述获取元素的操作,但是并没有考虑浏览器和显示器分辨率不同的测试环境因素。这些因素的改变将会直接影响到自动化测试结果的准确性。为了解决这个问题,现有的方法是针对不同的测试环境分别开发一套不同的自动化测试工具包。但这样会造成资源的冗余浪费,而且使用时容易产生混舌L。 本专利技术实施例通过区分被测试软件的界面元素的类型特征,对不同类型的界面元素分类测试。具体来说,对于简单、通用、固定化的控件,通过传统的测试方法进行测试;而对于层次复杂的控件,通过坐标定位来获取控件在界面的坐标位置,从而执行相应的测试操作。通过结合传统自动化测试的准确快速获取简单控件的优点,以及坐标定位将复杂控件简单化的优点,提高了自动化测试的效率以及准确性。 为使本专利技术的上述目的、特征和本文档来自技高网
...
软件自动化测试方法和装置

【技术保护点】
一种软件自动化测试方法,其特征在于,包括:通过将所述软件的界面元素的标识信息与预设类型信息进行比较,识别所述软件的界面元素的类型是简单型界面元素或复杂型界面元素;调用测试方法集对所述简单型界面元素的标识信息所对应的控件进行测试;计算当前测试环境相对于预设的标准测试环境的位置偏差,获取所述复杂型界面元素在所述测试系统界面上的位置;根据所述复杂型界面元素在所述测试系统界面上的位置,对所述复杂型界面元素所对应的控件进行测试。

【技术特征摘要】

【专利技术属性】
技术研发人员:王雅光罗勇陈伟
申请(专利权)人:上海联影医疗科技有限公司
类型:发明
国别省市:上海;31

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

1