一种Web自动化测试方法、系统及装置制造方法

文档序号:6512460阅读:160来源:国知局
一种Web自动化测试方法、系统及装置制造方法
【专利摘要】本发明提出一种Web自动化测试方法、系统及装置,其中方法包括:针对待测试的Web项目页面,获取用户采用可视化方式输入的Web项目页面节点,所述节点包括在所述Web项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;获取一个以上的测试用例组合成的测试任务;并将所述测试任务推送至测试平台。本发明能够使测试过程便于理解;并且使测试过程独立于Web项目页面,从而避免对Web项目页面性能的影响。
【专利说明】一种仰士自动化测试方法、系统及装置

【技术领域】
[0001]本发明涉及测试【技术领域】,尤其涉及一种自动化测试方法、系统及装置。

【背景技术】
[0002]目前的测试一般采用的方式是:针对待测试的166项目页面,在166项目页面的代码中打好标记,再以编码方式定义测试逻辑,最后完成自动化测试。
[0003]这种方式至少存在如下缺点:
[0004]1)难以理解:由于测试逻辑使用代码编写,仅开发人员可读,他人难以理解;
[0005]2)独立性差:需要在原16^项目页面的代码中插入标记代码,可能会影响原166项目页面的功能或性能;
[0006]3)使用成本高:需要有编码能力的测试人员较早介入开发过程,并需要开发人员提供相应的配合方能实现,技术门槛高;
[0007]4)维护成本高:在敏捷开发中,由于业务需求变更频繁,导致测试逻辑代码同步变更的复杂度高;
[0008]5)适用性低:需为每个项目页面单独编写测试逻辑的代码,代码难以重复使用。


【发明内容】

[0009]本发明提供了一种自动化测试方法,能够使测试过程便于理解;并且使测试过程独立于16)3项目页面,从而避免对16)3项目页面性能的影响。
[0010]本发明还提出一种自动化测试系统及一种用于自动化测试的测试任务配置装置,能够使测试过程便于理解;并且使测试过程独立于166项目页面,从而避免对胃必项目页面性能的影响。
[0011]本发明的技术方案是这样实现的:
[0012]一种胃613自动化测试方法,包括:
[0013]针对待测试的166项目页面,获取用户采用可视化方式输入的166项目页面节点,所述节点包括在所述166项目页面中的位置及配置信息;
[0014]获取由所述一个以上的节点组织成的测试流程;
[0015]获取一个以上测试流程组织成的测试用例;
[0016]获取一个以上的测试用例组合成的测试任务;
[0017]并将所述测试任务推送至测试平台。
[0018]上述方法中,获取一个以上的测试用例组合成的测试任务的步骤可以包括:
[0019]获取一个以上的测试用例;
[0020]将所述测试用例转换为采用代码编写的测试逻辑;
[0021]将一个以上所述采用代码编写的测试逻辑组合成测试任务。
[0022]上述方法可以进一步包括:
[0023]测试平台将所述测试任务下发至测试机,测试机对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台;
[0024]测试平台将所述测试结果及截图信息反馈给用户;或者,测试平台对所述测试结果进行智能分析,将智能分析结果及截图信息反馈给用户。
[0025]获取由一个以上的节点组织成的测试流程的步骤可以包括:
[0026]显示对应所述节点的一个以上的图形标志;
[0027]获取用户输入的对所述图形标志的选择信息,所述选择信息包括删除选定的图形标志或根据选定顺序排列所述图形标志;
[0028]根据所述选择信息将对应的节点组织成测试流程。
[0029]显示对应所述节点的一个以上的图形标志的步骤包括:采用了狀必⑶丨!)!:对象标记了30~方式将所述节点的位置及配置信息组织成测试步骤,其中,所述位置采用X见路径语言乂?211:11表示;将所述测试步骤以图形标志显示。
[0030]根据选定顺序排列图形标志的步骤包括:拖动图形标志操作。
[0031]将一个以上节点组织成测试流程后还包括,获取用户输入的对所述测试流程的设定名称。
[0032]将一个以上测试流程组织成测试用例的步骤包括:
[0033]显示所述设定名称;
[0034]获取用户输入的对所述设定名称的选择信息,所述选择信息包括删除选定的设定名称或根据选定顺序排列所述设定名称;
[0035]根据所述选择信息将对应的测试流程组织测试用例。
[0036]获取用户采用可视化方式输入的项目页面节点之前还包括:获取启动所述项目页面中的自动化测试插件指令。
[0037]将测试任务推送至测试平台的方式为:以了30^方式将测试任务推送至测试平台。
[0038]测试机对测试任务进行自动化测试的方式为:采用驱动测试机中的浏览器对测试任务进行自动化测试。
[0039]一种16)3自动化测试系统,包括:
[0040]测试任务配置装置,用于针对待测试的项目页面,获取用户采用可视化方式输入的1613项目页面节点,所述节点包括在所述1613项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;获取一个以上的测试用例组合成的测试任务;并将所述测试任务推送至测试平台;
[0041〕 测试平台,用于接收所述测试任务。
[0042]上述系统还包括测试机;其中,
[0043]所述测试平台还用于,将测试任务下发至测试机;并将测试机上报的测试结果及截图信息反馈给用户;或者,对测试机上报的测试结果进行智能分析,将智能分析结果及测试机上报的截图信息反馈给用户;
[0044]所述测试机,用于对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台。
[0045]测试机对测试任务进行自动化测试的方式为:采用驱动测试机中的浏览器对测试任务进行自动化测试。
[0046]—种用于16)3自动化测试的测试任务配置装置,包括:
[0047]用例组织模块,用于针对待测试的项目页面,获取用户采用可视化方式输入的16)3项目页面节点,所述节点包括在所述16)3项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;
[0048]测试任务组织模块,用于获取一个以上的测试用例组合成的测试任务;
[0049]测试任务推送模块,用于将所述测试任务推送至测试平台。
[0050]上述装置中,测试任务组织模块用于:获取一个以上的测试用例;将所述测试用例转换为采用代码编写的测试逻辑;将一个以上所述采用代码编写的测试逻辑组合成测试任务。
[0051]可见,本发明提出的自动化测试方法、系统及装置,能够在组织测试用例之后,自动将测试用例组合成测试任务,从而避免在1613项目页面的代码中打标记以及由测试人员使用代码编写测试逻辑,从而使测试过程便于理解;并且使测试过程独立于项目页面,进而避免对166项目页面性能的影响。

【专利附图】

【附图说明】
[0052]图1为本发明提出的自动化测试方法流程图;
[0053]图2为本发明实施例一的实现流程图;
[0054]图3为本发明实施例一中自动化测试插件的界面显示示意图;
[0055]图4为本发明实施例一中自动浮层的显示示意图;
[0056]图5为本发明实施例一中用户输入页面位置及配置信息的显示界面示意图;
[0057]图6为本发明实施例一中组合测试用例的界面显示示意图;
[0058]图7为本发明实施例一中执行测试任务的界面显示示意图;
[0059]图8为本发明实施例一中的网络架构示意图;
[0060]图9为本发明提出的166自动化测试系统结构示意图;
[0061]图10为本发明提出的用于自动化测试的测试任务配置装置的结构示意图。

【具体实施方式】
[0062]本发明提出一种自动化测试方法,如图1为该方法实现流程图,包括:
[0063]步骤101:针对待测试的16?项目页面,获取用户采用可视化方式输入的16?项目页面节点,所述节点包括在所述166项目页面中的位置及配置信息;
[0064]步骤102:获取由所述一个以上的节点组织成的测试流程;
[0065]步骤103:获取一个以上测试流程组织成的测试用例;
[0066]步骤104:获取一个以上的测试用例组合成的测试任务;
[0067]步骤105:将所述测试任务推送至测试平台。
[0068]上述步骤104可以包括:
[0069]获取一个以上的测试用例;
[0070]将所述测试用例转换为采用代码编写的测试逻辑;
[0071]将一个以上所述采用代码编写的测试逻辑组合成测试任务。
[0072]上述方法中,步骤105之后可以进一步包括:
[0073]步骤106:测试平台将测试任务下发至测试机,测试机对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台;
[0074]步骤107:测试平台将所述测试结果及截图信息反馈给用户;或者,测试平台对所述测试结果进行智能分析,将智能分析结果及截图信息反馈给用户。
[0075]上述步骤102包括:
[0076]显示对应所述节点的一个以上的图形标志;
[0077]获取用户输入的对所述图形标志的选择信息,所述选择信息包括删除选定的图形标志或根据选定顺序排列所述图形标志;
[0078]根据所述选择信息将对应的节点组织成测试流程。
[0079]其中,显示对应所述节点的一个以上的图形标志的步骤包括:采用了对象标记030^0方式将所述节点的位置及配置信息组织成测试步骤,其中,所述位置采用XII路径语言表示;将所述测试步骤以图形标志显示。
[0080]根据选定顺序排列图形标志的步骤包括:拖动图形标志操作。
[0081]上述步骤102之后还可以包括,获取用户输入的对所述测试流程的设定名称。
[0082]将一个以上测试流程组织成测试用例的步骤包括:
[0083]显示所述设定名称;
[0084]获取用户输入的对所述设定名称的选择信息,所述选择信息包括删除选定的设定名称或根据选定顺序排列所述设定名称;
[0085]根据所述选择信息将对应的测试流程组织测试用例。
[0086]上述方法中,步骤101之前还可以包括:获取启动所述冊13项目页面中的自动化测试插件指令。
[0087]上述步骤105中,将测试任务推送至测试平台的方式可以为:以了30^方式将测试任务推送至测试平台。
[0088]上述步骤106中,测试机对测试任务进行自动化测试的方式可以为:采用
驱动测试机中的浏览器对测试任务进行自动化测试。
[0089]以下结合附图举具体的实施例详细介绍。
[0090]实施例一:
[0091]在本实施例中,可以在用户使用的浏览器中设置自动化测试插件,用户点击该插件可自动加载,加载完成后,由该插件执行上述方法中的步骤101至103。
[0092]如图2为本发明实施例一的实现流程图。如图2所示,用户访问166项目页面,自动化测试插件被加载完成之后,根据用户的指令组织测试用例,将测试用例转换为采用代码编写的测试逻辑,将一个以上采用代码编写的测试逻辑组合成测试任务,并将测试任务推送至测试平台;测试平台将测试任务下发至测试机进行测试;测试机对测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台;测试平台将测试结果及截图信息反馈给用户,或者对测试结果进行智能分析,将智能分析结果及截图信息反馈给用户。以下对上述流程做详细介绍。
[0093]如图3为本发明实施例一中自动化测试插件的界面显示示意图。在用户访问166项目页面所使用的浏览器中,可以如图3所示显示自动化测试插件的标签,自动化测试插件的代码预先保存在该标签中;用户点击标签后,自动加载该自动化测试插件。
[0094]自动化测试插件加载完成之后,在项目页面中生成一个主控浮层。主控浮层由四大部分组成:[1]录制流程、[2]组装用例、[3]执行用例、[4]查看结果。如图4为本发明实施例一中自动浮层的显示示意图。
[0095]用户可以采用可视化的方式(例如类打!'必耶方式)选择166项目页面节点并进行相关配置。用户用鼠标点击页面中某节点即通过特定扣算法获取了该节点在1613项目页面中的位置,所述位置采用X?社1!表示;默认的配置信息为单击操作;用户也可以通过双击鼠标呼叫高级配置弹层,输入其他的配置信息。如图5为本发明实施例一中用户输入页面位置及配置信息的显示界面示意图,如5中的①、②、③表示用户输入的三条信息。配置完成后,可以以特定扣算法获取该节点的位置信息(如X?社10,将该节点的位置及配置信息以了30^方式组织成一个步骤。每个步骤都将在主控浮层的[1]录制流程中具象化为一个图形标志,图形标志可用鼠标随意拖动。
[0096]如图4所示,在主控浮层的[1]录制流程中,每一个步骤显示为一个图形标志,用户可以拖动这些图形标志以调整步骤的顺序,根据用户的输入,将若干个有特定顺序的步骤组合成一个流程。每个流程都将在主控浮层的[2]组装用例中具象化为一个图形标志,图形标志可用鼠标随意拖动。
[0097]在主控浮层的[2]组装用例中,每一个流程显示为一个图形标志,用户可以拖动这些图形标志以调整流程的顺序,根据用户的输入,将若干个有特定顺序的流程组合成一个用例。如图6为本发明实施例一中组合测试用例的界面显示示意图,在该界面下方左侧的“流程库”中显示的是已有流程所对应的图形标志,用户将所选流程所对应的图形标志拖动至界面下方右侧的“组装用例”中并调整顺序,点击“提交”之后,即可组合成一个用例。如图6所示,用户点击界面下方左侧名称为“注册”的流程和名称为“投票”的流程,将这两个流程按照先后顺序组合成一个用例,将该用例的名称填写在界面的相应位置。在本实施例中,该用例的名称为“投票”。
[0098]每个用例都将在主控浮层的[3]执行用例中形成一条记录。之后,可以将用例转换为采用代码编写的测试逻辑。
[0099]如图7为本发明实施例一中执行测试任务的界面显示示意图。在主控浮层的[3]执行用例中,用户选择一个以上用例,并设定每个所选用例的循环执行次数;根据用户的输入,将被选取的用例所对应的测试逻辑按照顺序组成测试任务,并将测试任务以了30~方式推送到测试平台。
[0100]之后,测试平台将测试任务080^(1600(16后的数据结构)到分发到各个测试机。
[0101]驱动测试机中的浏览器对测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台;测试平台将测试结果及截图信息反馈至用户(必要时可对测试结果进行智能分析后再反馈
[0102]在主控浮层的[4]查看结果中,可以使用页面对比算法,识别测试前后的图片中不同内容的区域,并高亮显示。
[0103]另外,在测试平台和测试机之间可以设置任务分发路由器,如图8为本发明实施例一中的网络架构示意图。在测试平台与多个测试机之间设置任务分发路由器,测试平台将测试任务下发至任务分发路由器;任务分发路由器选择空闲的测试机,将测试任务下发至空闲的测试机;空闲的测试机对测试任务进行测试,并将测试结果上传至任务分发路由器,由任务分发路由器上报给测试平台。
[0104]本发明还提出一种自动化测试系统,如图9为该系统结构示意图,包括:
[0105]测试任务配置装置901,用于针对待测试的16?项目页面,获取用户采用可视化方式输入的项目页面节点,所述节点包括在所述项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;获取一个以上的测试用例组合成的测试任务;并将所述测试任务推送至测试平台902 ;
[0106]测试平台902,用于接收所述测试任务。
[0107]上述系统还可以包括测试机903 ;其中,:
[0108]所述测试平台还可以用于,将测试任务下发至测试机903 ;并将测试机903上报的测试结果及截图信息反馈给用户;或者,对测试机903上报的测试结果进行智能分析,将智能分析结果及测试机上报的截图信息反馈给用户;
[0109]测试机903,用于对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台902。
[0110]上述系统中,测试任务配置装置901将测试任务推送至测试平台902的方式可以为:以了30~方式将测试任务推送至测试平台。
[0111]上述系统中,测试机903对测试任务进行自动化测试的方式可以为:采用
驱动测试机中的浏览器对测试任务进行自动化测试。
[0112]本发明还提出一种用于自动化测试的测试任务配置装置,如图10为该装置的结构示意图,包括:
[0113]用例组织模块1001,用于针对待测试的项目页面,获取用户采用可视化方式输入的1613项目页面节点,所述节点包括在所述1613项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;
[0114]测试任务组织模块1002,用于获取一个以上的测试用例组合成的测试任务;
[0115]测试任务推送模块1003,用于将所述测试任务推送至测试平台。
[0116]其中,测试任务组织模块1002具体可以用于:获取一个以上的测试用例;将所述测试用例转换为采用代码编写的测试逻辑;将一个以上所述采用代码编写的测试逻辑组合成测试任务。
[0117]上述装置中,测试任务推送模块1003将所述测试任务推送至测试平台的方式可以为:以了30~方式推送测试任务。
[0118]综上可见,本发明提出的自动化测试方法、系统及装置,能够在组织测试用例之后,自动将测试用例转换为采用代码编写的测试逻辑,从而避免在166项目页面的代码中打标记以及由测试人员使用代码编写测试逻辑,从而使测试过程便于理解;并且使测试过程独立于1613项目页面,进而避免对项目页面性能的影响。本发明能够提高涉及用户界面⑶1)自动测试的覆盖面;兼容性方面可以在项目早期进行,发现越早期,修复成本越低;使用脚本替代部分测试⑶86 ;降低自动化逻辑测试的开发门槛及开发成本;将结果过程截图并将测试结果进行智能对比,能够增强用户对测试结果的认可度及减少用户对测试结果的判断成本;在产品运营期间,也可以抽样收集运行轨迹,使用本发明方案能接近真实地还原用户使用过程,以帮助提升质量。
[0119]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种Web自动化测试方法,其特征在于,所述方法包括: 针对待测试的Web项目页面,获取用户采用可视化方式输入的Web项目页面节点,所述节点包括在所述Web项目页面中的位置及配置信息; 获取由所述一个以上的节点组织成的测试流程; 获取一个以上测试流程组织成的测试用例; 获取一个以上的测试用例组合成的测试任务; 并将所述测试任务推送至测试平台。
2.根据权利要求1所述的方法,其特征在于,所述获取一个以上的测试用例组合成的测试任务的步骤包括: 获取一个以上的测试用例; 将所述测试用例转换为采用代码编写的测试逻辑; 将一个以上所述采用代码编写的测试逻辑组合成测试任务。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 测试平台将所述测试任务下发至测试机,测试机对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台; 测试平台将所述测试结果及截图信息反馈给用户;或者,测试平台对所述测试结果进行智能分析,将智能分析结果及截图信息反馈给用户。
4.根据权利要求1所述的方法,其特征在于,所述获取由一个以上的节点组织成的测试流程的步骤包括: 显示对应所述节点的一个以上的图形标志; 获取用户输入的对所述图形标志的选择信息,所述选择信息包括删除选定的图形标志或根据选定顺序排列所述图形标志; 根据所述选择信息将对应的节点组织成测试流程。
5.根据权利要求4所述的方法,其特征在于,所述显示对应所述节点的一个以上的图形标志的步骤包括:采用JavaScript对象标记JSON方式将所述节点的位置及配置信息组织成测试步骤,其中,所述位置采用XML路径语言XPath表示;将所述测试步骤以图形标志显不O
6.根据权利要求4所述的方法,其特征在于,所述根据选定顺序排列图形标志的步骤包括:拖动图形标志操作。
7.根据权利要求1所述的方法,其特征在于,所述将一个以上节点组织成测试流程后还包括,获取用户输入的对所述测试流程的设定名称。
8.根据权利要求7所述的方法,其特征在于,所述将一个以上测试流程组织成测试用例的步骤包括: 显示所述设定名称; 获取用户输入的对所述设定名称的选择信息,所述选择信息包括删除选定的设定名称或根据选定顺序排列所述设定名称; 根据所述选择信息将对应的测试流程组织测试用例。
9.根据权利要求1所述的方法,其特征在于,所述获取用户采用可视化方式输入的web项目页面节点之前还包括:获取启动所述web项目页面中的自动化测试插件指令。
10.根据权利要求1或2所述的方法,其特征在于,所述将测试任务推送至测试平台的方式为: 以JSON方式将测试任务推送至测试平台。
11.根据权利要求3所述的方法,其特征在于,所述测试机对测试任务进行自动化测试的方式为: 采用WebDriver驱动测试机中的浏览器对测试任务进行自动化测试。
12.—种Web自动化测试系统,其特征在于,所述系统包括: 测试任务配置装置,用于针对待测试的Web项目页面,获取用户采用可视化方式输入的Web项目页面节点,所述节点包括在所述Web项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例;获取一个以上的测试用例组合成的测试任务;并将所述测试任务推送至测试平台; 测试平台,用于接收所述测试任务。
13.根据权利要求12所述的系统,其特征在于,所述系统还包括测试机;其中, 所述测试平台还用于,将测试任务下发至测试机;并将测试机上报的测试结果及截图信息反馈给用户;或者,对测试机上报的测试结果进行智能分析,将智能分析结果及测试机上报的截图信息反馈给用户; 所述测试机,用于对所述测试任务进行自动化测试,并对关键操作进行截图,将测试结果及截图信息上报至测试平台。
14.根据权利要求12所述的系统,其特征在于,所述测试机对测试任务进行自动化测试的方式为: 采用WebDriver驱动测试机中的浏览器对测试任务进行自动化测试。
15.一种用于Web自动化测试的测试任务配置装置,其特征在于,所述装置包括: 用例组织模块,用于针对待测试的Web项目页面,获取用户采用可视化方式输入的Web项目页面节点,所述节点包括在所述Web项目页面中的位置及配置信息;获取由所述一个以上的节点组织成的测试流程;获取一个以上测试流程组织成的测试用例; 测试任务组织模块,用于获取一个以上的测试用例组合成的测试任务; 测试任务推送模块,用于将所述测试任务推送至测试平台。
16.根据权利要求15所述的装置,所述测试任务组织模块用于:获取一个以上的测试用例;将所述测试用例转换为采用代码编写的测试逻辑;将一个以上所述采用代码编写的测试逻辑组合成测试任务。
【文档编号】G06F17/30GK104461855SQ201310432090
【公开日】2015年3月25日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】林跃, 徐立, 李翔 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1