CN102012857B - 一种对Web页面进行自动化测试的装置及方法 - Google Patents
一种对Web页面进行自动化测试的装置及方法 Download PDFInfo
- Publication number
- CN102012857B CN102012857B CN200910169509A CN200910169509A CN102012857B CN 102012857 B CN102012857 B CN 102012857B CN 200910169509 A CN200910169509 A CN 200910169509A CN 200910169509 A CN200910169509 A CN 200910169509A CN 102012857 B CN102012857 B CN 102012857B
- Authority
- CN
- China
- Prior art keywords
- test
- data
- web page
- tested
- tested object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种对Web页面进行自动化测试的装置,包括:用于对Web页面进行测试处理的测试处理装置;用于存储被测试的Web页面的对象信息、测试案例及测试结果数据的数据存储装置;以及用于对Web页面进行浏览、内容解析、执行过程控制及错误信息获取的测试工具;其中,数据存储装置和测试工具均连接于测试处理装置,且测试工具连接于被测试的Web系统。本发明同时公开了一种对Web页面进行自动化测试的方法。利用本发明,通过对Web页面的输入域对象进行分析,采用基于Web页面对象的测试方法,大大提高了对Web页面的测试效率,将有效提高软件质量,保障企业的生产稳定与安全。
Description
技术领域
本发明涉及计算机自动化测试技术领域,特别是涉及一种对Web页面进行自动化测试的装置及方法。
背景技术
软件测试作为保证软件质量和企业生产安全的关键技术,正日益受到广泛的重视。单纯依靠手工测试已难以满足客户对软件质量不断提高的要求,业界已经在不断研究采用自动化测试手段来提高测试效率、缩短测试时间及节省人力成本。
但是,目前对于Web页面的测试却很难采用测试自动化处理,主要是因为传统的基于录制和编写脚本的自动化测试技术在Web页面元素布局发生改变或者添加与删除控件,就会导致测试该Web页面的自动化测试脚本无法顺利运行。
随着Web页面版本不断频繁的升级与变更,测试人员就需要不停地去重新录制和修改脚本,使得自动化测试过程效率低下,并直接导致测试时间的增加。而且,这种传统的基于录制和编写脚本的自动化测试方式,对于负责录制和编写脚本的技术人员需要具备较高的技术与经验,频繁进行测试脚本的录制和编写就需要投入,就会导致人力成本大大提高。
因此,传统的基于录制和编写脚本的自动化测试技术不能实现对Web页面的高效测试,目前人们正在不断的研究新的能够适用于Web页面的自动化测试技术。
发明内容
(一)要解决的技术问题
本发明为了克服目前在对Web页面进行自动化测试时需要频繁的重新录制和修改测试脚本而导致测试效率低下的问题,提供了一种对Web页面进行自动化测试的装置及方法,该方法通过对Web页面的输入域对象进行分析,采用基于Web页面对象的测试方法,大大提高了对Web页面的测试效率,将有效提高软件质量,保障企业的生产稳定与安全。
(二)技术方案
为达到上述目的,本发明提供了一种对Web页面进行自动化测试的装置,该装置包括:
用于对Web页面进行测试处理的测试处理装置1;
用于存储被测试的Web页面的对象信息、测试案例及测试结果数据的数据存储装置2;以及
用于对Web页面进行浏览、内容解析、执行过程控制及错误信息获取的测试工具3;
其中,数据存储装置2和测试工具3均连接于测试处理装置1,且测试工具3连接于被测试的Web系统4。
上述方案中,所述测试处理装置1通过访问数据存储装置2来读取数据存储装置2中的Web页面的对象信息、测试案例数据信息,并将测试处理得到的测试结果数据存储到数据存储装置2中;
所述测试处理装置1通过访问测试工具3的Api接口,调用测试工具3实现测试过程中底层工作的处理,该底层工作的处理至少包括Web页面的浏览运行、Web页面内容解析,Web页面运行过程控制及错误信息获取。
上述方案中,所述测试处理装置1包含主处理单元20、测试对象输入单元21、测试案例处理单元22、测试控制处理单元23、解析处理单元24和比较处理单元25,其中:
主处理单元20,用于调用测试处理装置1中的测试对象输入单元21、测试案例处理单元22、测试控制处理单元23、解析处理单元24或比较处理单元25,完成测试处理装置1的各测试处理功能;
测试对象输入单元21,用于访问数据存储装置2中的测试对象数据存储单元11,读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元20;
测试案例处理单元22,用于访问数据存储装置2中的测试案例数据存储单元11,读取被测试Web页面的所有测试案例数据,然后从主处理单元20获取由测试对象输入单元21输入的测试对象数据信息,从测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”,最后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元20;
测试控制处理单元23,用于调用测试工具3对测试案例数据进行测试;
解析处理单元24,用于从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元20,该警告对话框对象是测试控制处理单元23调用测试工具3捕获的由Web页面产生的;
比较处理单元25,用于从主处理单元20中获得由解析处理单元24解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过,比较处理单元25将比较的结果反馈给主处理单元20。
上述方案中,所述主处理单元20调用测试处理装置1中的测试对象输入单元21、测试案例处理单元22、测试控制处理单元23、解析处理单元24或比较处理单元25,完成测试处理装置1的各测试处理功能,具体包括:
主处理单元20启动对Web页面的自动化测试处理过程,调用测试对象输入单元21输入被测试Web页面中的测试对象数据信息,调用测试案例处理单元22进行测试案例数据处理,然后主处理单元20对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元20调用测试控制处理单元23对测试案例数据进行测试处理,调用解析处理单元24对警告对话框对象的数据信息进行解析,调用比较处理单元25对报错信息进行比较处理,然后将测试的结果信息存储到测试结果存储单元13中。
上述方案中,所述测试案例数据分为三种类别:单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验,分别存储在案例库A、案例库B和案例库C中,其中:
案例库A中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;
案例库B中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;
案例库C中的案例数据包含的信息有序号、Web页面名、输入域1名称、输入域2名称、输入域3名称、验证内容说明、输入域1数据、输入域2数据、输入域3数据和预期结果。
上述方案中,所述测试控制处理单元23调用测试工具3对测试案例数据进行测试,具体包括:
测试控制处理单元23调用测试工具3在被测试Web页面中查找测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具3,测试工具3按“测试对象识别属性”在被测试Web页面中查找到各测试对象;在查找到被测试Web页面中的测试对象后,测试控制处理单元23调用测试工具3将测试数据输入到各测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”传递给测试工具3,测试工具3将“输入数据”输入到被测试Web页面的所述测试对象中;在将“输入数据”输入到所述测试对象后,测试控制处理单元23调用测试工具3捕获Web页面产出的警告对话框对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理;测试工具3将警告对话框对象的数据信息反馈给测试控制处理单元23,测试控制处理单元23再将警告对话框对象的数据信息发送给主处理单元20。
上述方案中,所述数据存储装置2包括:
测试对象数据存储单元11,用于存储各被测试的Web页面的对象信息,该信息至少包含序号、Web页面名、测试对象名和测试对象识别属性;
测试案例数据存储单元12,用于存储测试案例数据信息,该测试案例数据信息至少包括以下三个案例库:单个输入域的数据合法性校验案例库、单个输入域的控制逻辑校验案例库和多个输入域的组合控制关系校验案例库;
测试结果存储单元13,用于存储测试处理的结果数据,至少包含Web页面名、案例库、序号、验证内容说明和测试结果数据。
上述方案中,所述测试工具3是专业的程序测试工具,或者是专业的程序调试工具。
为达到上述目的,本发明提供了一种对Web页面进行自动化测试的方法,该方法通过对Web页面中的输入域对象进行查找和分析,分成单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验三种类别,分别建立该三种类别的测试案例数据,通过将测试案例数据输入到Web页面的输入域中,捕获Web页面的警告对话框对象,分析警告对话框对象中的报错信息,再将报错信息与测试案例数据中的预期结果进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过。
上述方案中,该方法具体包括以下步骤:
步骤101:测试处理装置1中的主处理单元20启动对Web页面的自动化测试处理过程,调用测试对象输入单元21输入被测试Web页面中的测试对象数据信息;
步骤102:主处理单元20调用测试案例处理单元22进行测试案例数据匹配处理,然后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元20;
步骤103:主处理单元20对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理,直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元20调用测试控制处理单元23对测试案例数据进行测试处理,调用测试工具3在被测试Web页面中查找测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具3,测试工具3按“测试对象识别属性”在被测试Web页面中查找到各测试对象;
步骤104:在测试工具3查找到被测试Web页面中的测试对象后,测试控制处理单元23调用测试工具3将测试数据输入到各测试对象;
步骤105:在将“输入数据”输入到所述测试对象后,测试控制处理单元23调用测试工具3捕获Web页面产出的警告对话框对象,测试工具3将警告对话框对象的数据信息反馈给测试控制处理单元23,测试控制处理单元23再将警告对话框对象的数据信息发送给主处理单元20;
步骤106:主处理单元20调用解析处理单元24对警告对话框对象的数据信息进行解析,解析处理单元24从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元20;
步骤107:主处理单元20调用比较处理单元25对报错信息进行比较处理,比较处理单元25从主处理单元中获得由解析处理单元24解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过。
上述方案中,步骤101中所述测试对象输入单元21输入被测试Web页面中的测试对象数据信息包括:测试对象输入单元21访问数据存储装置2中的测试对象数据存储单元11,读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元20。
上述方案中,步骤102中所述主处理单元20调用测试案例处理单元22进行测试案例数据匹配处理,具体包括:测试案例处理单元22访问数据存储装置2中的测试案例数据存储单元11,读取被测试Web页面的所有测试案例数据,然后从主处理单元20获得由测试对象输入单元21输入的测试对象数据信息,从该测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”。
上述方案中,步骤104中所述测试控制处理单元23调用测试工具3将测试数据输入到各测试对象,具体包括:测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”传递给测试工具3,测试工具3将“输入数据”输入到被测试Web页面的所述测试对象中。
上述方案中,该方法在步骤107之后还包括:比较处理单元25将比较的结果反馈给主处理单元20,主处理单元20访问数据处理装置2中的测试结果存储单元13,将测试的结果信息存储到测试结果存储单元13中,存储的信息至少包含Web页面名、案例库、序号、验证内容说明和测试结果,测试结果指测试是“通过”还是“不通过”。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种对Web页面进行自动化测试的装置及方法,通过对Web页面的输入域对象进行分析,采用基于Web页面对象的测试方法,克服了目前在对Web页面进行自动化测试时需要频繁的重新录制和修改测试脚本而导致测试效率低下的问题,可大大提高了对Web页面的自动化测试效率,将有效提高软件质量,保障企业的生产稳定与安全。
2、本发明提供的这种对Web页面进行自动化测试的装置及方法,解决了目前WEB页面的自动化测试中存在的脚本兼容性、通用性和复用性差的问题,克服了传统的录制和编写脚本方式下对测试人员技术要求高,测试人员进行自动化测试有一定使用难度的问题。
3、本发明提供的这种对Web页面进行自动化测试的装置及方法,提供了一种测试人员不需要录制和编写自动化测试脚本,只需要简单的对Web页面对象属性进行配置及编写测试案例数据,即可实现对Web页面进行高效的自动化测试,提高了自动化测试的通用性、复用性、易用性和可维护性,降低了测试工作的人力资源成本。
附图说明
图1是本发明提供的对Web页面进行自动化测试的装置的结构示意图;
图2是本发明提供的对Web页面进行自动化测试的装置中测试处理装置的结构示意图;
图3是本发明提供的对Web页面进行自动化测试的装置中数据存储装置的结构示意图;
图4是本发明提供的对Web页面进行自动化测试的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供的这种对Web页面进行自动化测试的装置及方法,通过对Web页面的输入域对象进行分析,采用基于Web页面对象的测试方法。
对于Web页面的测试,通过对各种需要进行测试的情况进行等价类划分,可主要分为如下三种类别:
一、单个输入域的数据合法性校验。这种类别通常是在输入域输入测试数据后,光标焦点离开该输入域,触发页面的JavaScript事件程序来进行控制。比如日期类型的输入域输入了非日期格式的数据。
二、单个输入域的控制逻辑校验。这种类别也是在输入域输入测试数据后,光标焦点离开该输入域,触发页面的JavaScript事件程序来进行控制,控制内容与具体业务逻辑相关。比如验证日期输入域必须大于系统当前日期。
三、多个输入域组合的控制关系。这种类别是对相关的多个输入域之间的关系进行控制。比如对ABC三个输入域需要满足A+B>=C的条件。
本发明通过对Web页面中的输入域对象进行查找和分析,分成上述三种类别,分别建立基于上述三种类别的测试案例数据,通过将测试案例数据输入到Web页面的输入域中,并捕获Web页面的警告对话框对象,分析警告对话框对象中的报错信息,再将报错信息与测试案例数据中的预期结果进行比较,从而判断测试是否通过。本发明通过采用基于Web页面对象的测试方法,克服了原来进行自动化测试时需要频繁录制和修改测试脚本的问题,大大提过了测试效率。
以下参考附图进行具体描述:
图1是本发明提供的对Web页面进行自动化测试的装置的结构示意图,该装置包括:
用于对Web页面进行测试处理的测试处理装置1;
用于存储被测试的Web页面的对象信息、测试案例及测试结果数据的数据存储装置2;以及
用于对Web页面进行浏览、内容解析、执行过程控制及错误信息获取的测试工具3;
其中,数据存储装置2和测试工具3均连接于测试处理装置1,且测试工具3连接于被测试的Web系统4。
测试处理装置1通过访问数据存储装置2来读取数据存储装置2中的Web页面的对象信息、测试案例数据信息,并将测试处理得到的测试结果数据存储到数据存储装置2中。测试处理装置1通过访问测试工具3的Api接口,调用测试工具3实现测试过程中底层工作的处理,该底层工作的处理至少包括Web页面的浏览运行、Web页面内容解析,Web页面运行过程控制及错误信息获取。测试工具可以是专业的程序测试工具、专业的调试工具等。
图2是本发明提供的对Web页面进行自动化测试的装置中测试处理装置的结构示意图。测试处理装置1包含主处理单元20、测试对象输入单元21、测试案例处理单元22、测试控制处理单元23、解析处理单元24和比较处理单元25,其中:
主处理单元20,用于调用测试处理装置1中的测试对象输入单元21、测试案例处理单元22、测试控制处理单元23、解析处理单元24或比较处理单元25,完成测试处理装置1的各测试处理功能。主处理单元20启动对Web页面的自动化测试处理过程,调用测试对象输入单元21输入被测试Web页面中的测试对象数据信息,调用测试案例处理单元22进行测试案例数据处理,然后主处理单元20对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元20调用测试控制处理单元23对测试案例数据进行测试处理,调用解析处理单元24对警告对话框对象的数据信息进行解析,调用比较处理单元25对报错信息进行比较处理,然后将测试的结果信息存储到测试结果存储单元13中。
测试对象输入单元21,用于访问数据存储装置2中的测试对象数据存储单元11,读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元20;
测试案例处理单元22,用于访问数据存储装置2中的测试案例数据存储单元11,读取被测试Web页面的所有测试案例数据,然后从主处理单元20获取由测试对象输入单元21输入的测试对象数据信息,从测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”,最后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元20。
测试案例数据分为三种类别:单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验,分别存储在案例库A、案例库B和案例库C中。其中:案例库A中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;案例库B中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;案例库C中的案例数据包含的信息有序号、Web页面名、输入域1名称、输入域2名称、输入域3名称、验证内容说明、输入域1数据、输入域2数据、输入域3数据和预期结果。
测试控制处理单元23,用于调用测试工具3对测试案例数据进行测试。测试控制处理单元23调用测试工具3在被测试Web页面中查找测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具3,测试工具3按“测试对象识别属性”在被测试Web页面中查找到各测试对象;在查找到被测试Web页面中的测试对象后,测试控制处理单元23调用测试工具3将测试数据输入到各测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”(对案例库C而言,是输入域1数据、输入域2数据和输入域3数据)传递给测试工具3,测试工具3将“输入数据”输入到被测试Web页面的所述测试对象中;在将“输入数据”输入到所述测试对象后,测试控制处理单元23调用测试工具3捕获Web页面产出的警告对话框对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理;测试工具3将警告对话框对象的数据信息反馈给测试控制处理单元23,测试控制处理单元23再将警告对话框对象的数据信息发送给主处理单元20。
解析处理单元24,用于从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元20,该警告对话框对象是测试控制处理单元23调用测试工具3捕获的由Web页面产生的;
比较处理单元25,用于从主处理单元20中获得由解析处理单元24解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过,比较处理单元25将比较的结果反馈给主处理单元20。
图3是本发明提供的对Web页面进行自动化测试的装置中数据存储装置的结构示意图,数据存储装置2包含测试对象数据存储单元11、测试案例数据存储单元12和测试结果存储单元13,其中:
测试对象数据存储单元11,用于存储各被测试的Web页面的对象信息,该信息至少包含序号、Web页面名、测试对象名和测试对象识别属性,其数据存储的格式如下面的例子所示:
序号 | Web页面名 | 测试对象名 | 测试对象识别属性(如:name) |
1 | Ta5 | Ta5001 | 日期 |
2 | Ta5 | Ta5002 | 总金额 |
3 | Ta5 | Ta5003 | 可用金额 |
4 | Ta5 | Ta5004 | 保留金额 |
其中:Web页面名指被测试的Web页面的名称;
测试对象名指Web页面中被测试的输入域控件的名称,如输入日期的域,输入金额的域等,这些输入域将是需要进行测试的对象;
测试对象识别属性指测试对象的可识别属性,通过该识别属性可用在Web页面中找到该测试对象,如测试对象的name属性。
测试案例数据存储单元12,用于存储测试案例数据信息,该测试案例数据信息至少包括以下三个案例库:单个输入域的数据合法性校验案例库、单个输入域的控制逻辑校验案例库和多个输入域的组合控制关系校验案例库。
在基于Web页面的测试中,主要分为三种测试类别:单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系。因此,测试案例数据可以分为三个案例库:
案例库A:单个输入域的数据合法性校验案例库
该类测试案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果,其数据存储的格式如下面的例子所示:
序号 | Web页面名 | 测试对象名 | 验证内容说明 | 输入数据 | 预期结果 |
1 | Ta5 | Ta5001 | 符合日期格式 | 00001231 | 提示“日期格式不对” |
2 | Ta5 | Ta5002 | 符合金额格式 | !#$%^&*() | 提示“金额格式不正确” |
其中:Web页面名指被测试的Web页面的名称;
测试对象名指Web页面中被测试的输入域控件的名称,如输入日期的域,输入金额的域等,这些输入域将是需要进行测试的对象;
数据数据指作为测试数据输入到测试对象中的数据;
预期结果指执行测试动作时预期产生出结果,如果能够产生所述预期结果说明测试通过,否则为测试不通过。
案例库B:单个输入域的控制逻辑校验案例库
该类测试案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果,其数据存储的格式如下面的例子所示:
序号 | Web页面名 | 测试对象名 | 验证内容说明 | 输入数据 | 预期结果 |
1 | Ta5 | Ta5001 | 日期小于等于当前系统日期 | 20101010 | 提示“日期大于当前系统日期” |
其中:Web页面名指被测试的Web页面的名称;
测试对象名指Web页面中被测试的输入域控件的名称,如输入日期的域,输入金额的域等,这些输入域将是需要进行测试的对象;
数据数据指作为测试数据输入到测试对象中的数据;
预期结果指执行测试动作时预期产生出结果,如果能够产生所述预期结果说明测试通过,否则为测试不通过。
案例库C:多个输入域的组合控制关系案例库
该类测试案例数据包含的信息有序号、Web页面名、输入域1名称、输入域2名称、输入域3名称、验证内容说明、输入域1数据、输入域2数据、输入域3数据和预期结果,其数据存储的格式如下面的例子所示:
序号 | Web页面名 | 输入域1名称 | 输入域2名称 | 输入域3名称 | 验证内容说明 | 输入域1数据 | 输入域2数据 | 输入域3数据 | 预期结果 |
1 | Ta5 | Ta5002 | Ta5003 | Ta5004 | 输入域1=输入域2+输入域3 | 2000 | 1000 | 900 | 提示“总金额不等于可用金额+保留金额” |
其中:Web页面名指被测试的Web页面的名称;
输入域1名称、输入域2名称和输入域3名称分别指需要进行控制关系测试的三个输入域的名称;
输入域1数据、输入域2数据和输入域3数据指作为测试数据分别输入到输入域1、输入域2和输入域3中的数据;
预期结果指执行测试动作时预期产生出结果,如果能够产生所述预期结果说明测试通过,否则为测试不通过。
测试结果存储单元13,用于存储测试处理的结果数据,至少包含Web页面名、案例库、序号、验证内容说明和测试结果数据。其中:Web页面名指被测试的Web页面的名称;案例库指上述案例库A、案例库B和案例库C中的哪个一个案例库;测试结果指测试是“通过”还是“不通过”。
基于上述图1至图3所述的对Web页面进行自动化测试的装置,本发明还提供了一种对Web页面进行自动化测试的方法,该方法通过对Web页面中的输入域对象进行查找和分析,分成单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验三种类别,分别建立该三种类别的测试案例数据,通过将测试案例数据输入到Web页面的输入域中,捕获Web页面的警告对话框对象,分析警告对话框对象中的报错信息,再将报错信息与测试案例数据中的预期结果进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过。
图4是本发明提供的对Web页面进行自动化测试的方法流程图,该方法具体包括以下步骤:
步骤101:测试处理装置1中的主处理单元20启动对Web页面的自动化测试处理过程,调用测试对象输入单元21输入被测试Web页面中的测试对象数据信息。测试对象输入单元21访问数据存储装置2中的测试对象数据存储单元11,读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元20。
步骤102:主处理单元20调用测试案例处理单元22进行测试案例数据匹配处理,然后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元20。测试案例处理单元22访问数据存储装置2中的测试案例数据存储单元11,读取被测试Web页面的所有测试案例数据,然后从主处理单元20获得由测试对象输入单元21输入的测试对象数据信息,从该测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”。
步骤103:主处理单元20对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理,直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元20调用测试控制处理单元23对测试案例数据进行测试处理,调用测试工具3在被测试Web页面中查找测试对象,测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具3,测试工具3按“测试对象识别属性”在被测试Web页面中查找到各测试对象;
步骤104:在测试工具3查找到被测试Web页面中的测试对象后,测试控制处理单元23调用测试工具3将测试数据输入到各测试对象。测试控制处理单元23通过访问测试工具Api接口的方式执行调用测试工具3的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”传递给测试工具3,测试工具3将“输入数据”输入到被测试Web页面的所述测试对象中。
步骤105:在将“输入数据”输入到所述测试对象后,测试控制处理单元23调用测试工具3捕获Web页面产出的警告对话框对象,测试工具3将警告对话框对象的数据信息反馈给测试控制处理单元23,测试控制处理单元23再将警告对话框对象的数据信息发送给主处理单元20;
步骤106:主处理单元20调用解析处理单元24对警告对话框对象的数据信息进行解析,解析处理单元24从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元20;
步骤107:主处理单元20调用比较处理单元25对报错信息进行比较处理,比较处理单元25从主处理单元中获得由解析处理单元24解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过,然后比较处理单元25将比较的结果反馈给主处理单元20。
步骤108:主处理单元20访问数据处理装置2中的测试结果存储单元13,将测试的结果信息存储到测试结果存储单元13中,存储的信息至少包含Web页面名、案例库、序号、验证内容说明和测试结果,测试结果指测试是“通过”还是“不通过”。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种对Web页面进行自动化测试的装置,其特征在于,该装置包括:
用于对Web页面进行测试处理的测试处理装置(1);
用于存储被测试的Web页面的对象信息、测试案例及测试结果数据的数据存储装置(2);以及
用于对Web页面进行浏览、内容解析、执行过程控制及错误信息获取的测试工具(3);
其中,数据存储装置(2)和测试工具(3)均连接于测试处理装置(1),且测试工具(3)连接于被测试的Web系统(4);
所述测试处理装置(1)包含主处理单元(20)、测试对象输入单元(21)、测试案例处理单元(22)、测试控制处理单元(23)、解析处理单元(24)和比较处理单元(25),其中:
主处理单元(20),用于调用测试处理装置(1)中的测试对象输入单元(21)、测试案例处理单元(22)、测试控制处理单元(23)、解析处理单元(24)或比较处理单元(25),完成测试处理装置(1)的各测试处理功能;
测试对象输入单元(21),用于访问数据存储装置(2)中的测试对象数据存储单元(11),读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元(20);
测试案例处理单元(22),用于访问数据存储装置(2)中的测试案例数据存储单元(11),读取被测试Web页面的所有测试案例数据,然后从主处理单元(20)获取由测试对象输入单元(21)输入的测试对象数据信息,从测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”,最后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元(20);
测试控制处理单元(23),用于调用测试工具(3)对测试案例数据进行测试;
解析处理单元(24),用于从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元(20),该警告对话框对象是测试控制处理单元(23)调用测试工具(3)捕获的由Web页面产生的;
比较处理单元(25),用于从主处理单元(20)中获得由解析处理单元(24)解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过,比较处理单元(25)将比较的结果反馈给主处理单元(20);
所述主处理单元(20)调用测试处理装置(1)中的测试对象输入单元(21)、测试案例处理单元(22)、测试控制处理单元(23)、解析处理单元(24)或比较处理单元(25),完成测试处理装置(1)的各测试处理功能,具体包括:
主处理单元(20)启动对Web页面的自动化测试处理过程,调用测试对象输入单元(21)输入被测试Web页面中的测试对象数据信息,调用测试案例处理单元(22)进行测试案例数据处理,然后主处理单元(20)对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元(20)调用测试控制处理单元(23)对测试案例数据进行测试处理,调用解析处理单元(24)对警告对话框对象的数据信息进行解析,调用比较处理单元(25)对报错信息进行比较处理,然后将测试的结果信息存储到测试结果存储单元(13)中;
所述测试案例数据分为三种类别:单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验,分别存储在案例库A、案例库B和案例库C中,其中:
案例库A中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;
案例库B中的案例数据包含的信息有序号、Web页面名、测试对象名、验证内容说明、输入数据和预期结果;
案例库C中的案例数据包含的信息有序号、Web页面名、输入域1名称、输入域2名称、输入域3名称、验证内容说明、输入域1数据、输入域2数据、输入域3数据和预期结果;
所述测试控制处理单元(23)调用测试工具(3)对测试案例数据进行测试,具体包括:
测试控制处理单元(23)调用测试工具(3)在被测试Web页面中查找测试对象,测试控制处理单元(23)通过访问测试工具Api接口的方式执行调用测试工具(3)的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具(3),测试工具(3)按“测试对象识别属性”在被测试Web页面中查找到各测试对象;在查找到被测试Web页面中的测试对象后,测试控制处理单元(23)调用测试工具(3)将测试数据输入到各测试对象,测试控制处理单元(23)通过访问测试工具Api接口的方式执行调用测试工具(3)的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”传递给测试工具(3),测试工具(3)将“输入数据”输入到被测试Web页面的所述测试对象中;在将“输入数据”输入到所述测试对象后,测试控制处理单元(23)调用测试工具(3)捕获Web页面产出的警告对话框对象,测试控制处理单元(23)通过访问测试工具Api接口的方式执行调用测试工具(3)的处理;测试工具(3)将警告对话框对象的数据信息反馈给测试控制处理单元(23),测试控制处理单元(23)再将警告对话框对象的数据信息发送给主处理单元(20)。
2.根据权利要求1所述的对Web页面进行自动化测试的装置,其特征在于,所述测试处理装置(1)通过访问数据存储装置(2)来读取数据存储装置(2)中的Web页面的对象信息、测试案例数据信息,并将测试处理得到的测试结果数据存储到数据存储装置(2)中;
所述测试处理装置(1)通过访问测试工具(3)的Api接口,调用测试工具(3)实现测试过程中底层工作的处理,该底层工作的处理至少包括Web页面的浏览运行、Web页面内容解析,Web页面运行过程控制及错误信息获取。
3.根据权利要求1所述的对Web页面进行自动化测试的装置,其特征在于,所述数据存储装置(2)包括:
测试对象数据存储单元(11),用于存储各被测试的Web页面的对象信息,该信息至少包含序号、Web页面名、测试对象名和测试对象识别属性;
测试案例数据存储单元(12),用于存储测试案例数据信息,该测试案例数据信息至少包括以下三个案例库:单个输入域的数据合法性校验案例库、单个输入域的控制逻辑校验案例库和多个输入域的组合控制关系校验案例库;
测试结果存储单元(13),用于存储测试处理的结果数据,至少包含Web页面名、案例库、序号、验证内容说明和测试结果数据。
4.根据权利要求1所述的对Web页面进行自动化测试的装置,其特征在于,所述测试工具(3)是专业的程序测试工具,或者是专业的程序调试工具。
5.一种对Web页面进行自动化测试的方法,其特征在于,该方法通过对Web页面中的输入域对象进行查找和分析,分成单个输入域的数据合法性校验、单个输入域的控制逻辑校验和多个输入域的组合控制关系校验三种类别,分别建立该三种类别的测试案例数据,通过将测试案例数据输入到Web页面的输入域中,捕获Web页面的警告对话框对象,分析警告对话框对象中的报错信息,再将报错信息与测试案例数据中的预期结果进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过;该方法具体包括以下步骤:
步骤101:测试处理装置(1)中的主处理单元(20)启动对Web页面的自动化测试处理过程,调用测试对象输入单元(21)输入被测试Web页面中的测试对象数据信息;
步骤102:主处理单元(20)调用测试案例处理单元(22)进行测试案例数据匹配处理,然后将匹配了“测试对象识别属性”的测试案例数据反馈给主处理单元(20);
步骤103:主处理单元(20)对测试案例中的数据逐一进行测试处理,对每一条测试案例记录数据进行如下处理,直到所述被测试Web页面的测试案例数据测试处理完成:主处理单元(20)调用测试控制处理单元(23)对测试案例数据进行测试处理,调用测试工具(3)在被测试Web页面中查找测试对象,测试控制处理单元(23)通过访问测试工具Api接口的方式执行调用测试工具(3)的处理,并通过Api接口将测试案例数据中各测试对象的“测试对象识别属性”传递给测试工具(3),测试工具(3)按“测试对象识别属性”在被测试Web页面中查找到各测试对象;
步骤104:在测试工具(3)查找到被测试Web页面中的测试对象后,测试控制处理单元(23)调用测试工具(3)将测试数据输入到各测试对象;
步骤105:在将“输入数据”输入到所述测试对象后,测试控制处理单元(23)调用测试工具(3)捕获Web页面产出的警告对话框对象,测试工具(3)将警告对话框对象的数据信息反馈给测试控制处理单元(23),测试控制处理单元(23)再将警告对话框对象的数据信息发送给主处理单元(20);
步骤106:主处理单元(20)调用解析处理单元(24)对警告对话框对象的数据信息进行解析,解析处理单元(24)从警告对话框对象的数据信息中解析获得报错信息,并将报错信息反馈给主处理单元(20);
步骤107:主处理单元(20)调用比较处理单元(25)对报错信息进行比较处理,比较处理单元(25)从主处理单元中获得由解析处理单元(24)解析出来的报错信息,并将所述报错信息与测试案例数据中的“预期结果”进行比较,如果比较结果一致则说明测试通过,如果比较结果不一致则说明测试不通过;
其中,步骤102中所述主处理单元(20)调用测试案例处理单元(22)进行测试案例数据匹配处理,具体包括:测试案例处理单元(22)访问数据存储装置(2)中的测试案例数据存储单元(11),读取被测试Web页面的所有测试案例数据,然后从主处理单元(20)获得由测试对象输入单元(21)输入的测试对象数据信息,从该测试对象数据信息中分别找到测试案例数据中各测试对象的“测试对象识别属性”;
步骤104中所述测试控制处理单元(23)调用测试工具(3)将测试数据输入到各测试对象,具体包括:测试控制处理单元(23)通过访问测试工具Api接口的方式执行调用测试工具(3)的处理,并通过Api接口将测试案例数据中各测试对象的“输入数据”传递给测试工具(3),测试工具(3)将“输入数据”输入到被测试Web页面的所述测试对象中。
6.根据权利要求5所述的对Web页面进行自动化测试的方法,其特征在于,步骤101中所述测试对象输入单元(21)输入被测试Web页面中的测试对象数据信息包括:
测试对象输入单元(21)访问数据存储装置(2)中的测试对象数据存储单元(11),读取被测试Web页面的所有测试对象数据信息,包含序号、Web页面名、测试对象名和测试对象识别属性,并将读取的测试对象数据信息反馈给主处理单元(20)。
7.根据权利要求5所述的对Web页面进行自动化测试的方法,其特征在于,该方法在步骤107之后还包括:
比较处理单元(25)将比较的结果反馈给主处理单元(20),主处理单元(20)访问数据处理装置(2)中的测试结果存储单元(13),将测试的结果信息存储到测试结果存储单元(13)中,存储的信息至少包含Web页面名、案例库、序号、验证内容说明和测试结果,测试结果指测试是“通过”还是“不通过”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169509A CN102012857B (zh) | 2009-09-08 | 2009-09-08 | 一种对Web页面进行自动化测试的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169509A CN102012857B (zh) | 2009-09-08 | 2009-09-08 | 一种对Web页面进行自动化测试的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012857A CN102012857A (zh) | 2011-04-13 |
CN102012857B true CN102012857B (zh) | 2012-10-10 |
Family
ID=43843033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910169509A Active CN102012857B (zh) | 2009-09-08 | 2009-09-08 | 一种对Web页面进行自动化测试的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012857B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324566B (zh) * | 2012-03-20 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种网页产品多版本测试方法及装置 |
CN103365764B (zh) * | 2012-03-27 | 2018-01-12 | 百度在线网络技术(北京)有限公司 | 一种无线页面测试方法与设备 |
CN102768641B (zh) * | 2012-06-15 | 2015-06-17 | 深圳中兴网信科技有限公司 | 网页测试要素选择装置和网页测试要素选择方法 |
CN103364010A (zh) * | 2013-06-28 | 2013-10-23 | 惠州市德赛西威汽车电子有限公司 | 导航设备稳定性测试方法 |
CN103810107A (zh) * | 2014-03-07 | 2014-05-21 | 北京京东尚科信息技术有限公司 | web项目的自动化测试方法 |
CN103955425B (zh) * | 2014-04-16 | 2017-02-15 | 中国工商银行股份有限公司 | 网页web探索测试装置及方法 |
CN105760296B (zh) * | 2016-01-21 | 2018-10-12 | 深圳市紫光同创电子有限公司 | 自动化测试控制方法、装置及终端 |
CN106095673B (zh) * | 2016-06-07 | 2018-12-14 | 深圳市泰久信息系统股份有限公司 | 基于web接口的自动化测试方法及系统 |
CN107038117B (zh) * | 2017-03-23 | 2020-11-06 | 北京工业大学 | 一种基于事件处理函数间定义-引用的web自动化测试方法 |
CN108845925B (zh) * | 2018-03-30 | 2022-02-11 | 新华三技术有限公司 | web页面测试方法、装置、电子设备及计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN201548954U (zh) * | 2009-09-08 | 2010-08-11 | 中国工商银行股份有限公司 | 一种对Web页面进行自动化测试的装置 |
-
2009
- 2009-09-08 CN CN200910169509A patent/CN102012857B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN201548954U (zh) * | 2009-09-08 | 2010-08-11 | 中国工商银行股份有限公司 | 一种对Web页面进行自动化测试的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102012857A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102012857B (zh) | 一种对Web页面进行自动化测试的装置及方法 | |
US10459695B2 (en) | Correction of code errors using machine learning | |
CN108446190B (zh) | 接口测试方法及装置 | |
CN102135938B (zh) | 一种软件产品测试方法及系统 | |
CN108763091B (zh) | 用于回归测试的方法、装置及系统 | |
US8806452B2 (en) | Transformation of computer programs and eliminating errors | |
US20150242431A1 (en) | Computer system log file analysis based on field type identification | |
CN103440201A (zh) | 动态污点分析装置及其在文件格式逆向解析中的应用 | |
US10169218B2 (en) | Method for automatically validating data against a predefined data specification | |
CN113326247B (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN201548954U (zh) | 一种对Web页面进行自动化测试的装置 | |
CN110716866A (zh) | 代码质量扫描方法、装置、计算机设备及存储介质 | |
CN103077192B (zh) | 一种数据处理方法及其系统 | |
Cassee et al. | How swift developers handle errors | |
CN112328259A (zh) | 一种编译时长的处理方法和装置 | |
CN111488314A (zh) | 一种基于Python的仿真日志分析方法 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
US20060117075A1 (en) | Prerequisite, dependent and atomic deltas | |
CN108897678B (zh) | 静态代码检测方法和静态代码检测系统、存储设备 | |
CN111026604B (zh) | 一种日志文件解析方法及装置 | |
CN113779343B (zh) | 一种海量数据处理方法、装置、介质及电子设备 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN109582582A (zh) | 一种Web界面的自动化测试方法及系统 | |
CN112597040B (zh) | 一种界面自动化测试方法、装置及电子设备 | |
US11314765B2 (en) | Multistage data sniffer for data extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |