基于建模的web应用自动化测试方法技术

技术编号:9865677 阅读:118 留言:0更新日期:2014-04-03 00:12
一种基于建模的web应用自动化测试方法,包括:S1、建立浏览器,使用该浏览器访问待测网站页面,获取数据;S2、分析页面,进行页面建模,并保存至页面建模数据文件;S3、在测试时,启动所述浏览器,读取所述页面建模数据文件,从中获取页面的受测对象和测试用例,模拟用户操作。本方法通过浏览器对测试页面自动建模,并通过控制浏览器运行过程中调用页面模型数据,控制浏览器实现模拟用户操作,此方法可跨浏览器、可跨平台、可并行,能实现自动化测试从开发、执行到维护的高效。

【技术实现步骤摘要】

本专利技术涉及web测试技术,更具体地,涉及。
技术介绍
互联网应用正逐步渗透到人们生活的各个方面,原来需要面对面处理的事务通过网络即可实现,例如网上缴费、购物、更换证件。将来,互联网也必然会有更多的应用。因此,各个网站的页面会更新非常频繁,这也必然导致web应用测试更频繁。虽然现在已经有了 web应用的自动化测试,但是由于用户需求变化快、界面变化频繁等特点,使web应用自动化测试的开展都面临着脚本失败率高,脚本维护成本高的困扰。即使是应用正式发布后也会有新需求源源不断的加入,这些需求往往伴随着界面或者控件的属性随之改变,导致需要重新设计和编写自动测试方案。
技术实现思路
针对上述问题,本专利技术提出一种,包括:S1、建立浏览器,使用该浏览器访问待测网站页面,获取数据;S2、分析页面,进行页面建模,并保存至页面建模数据文件;S3、在测试时,启动所述浏览器,读取所述页面建模数据文件,从中获取页面的受测对象和测试用例,模拟用户操作。进一步,在SI中,该浏览器是可配置的,获取的数据是用户交互数据。进一步,在S2中,所述页面建模数据文件保存了受测对象的属性以及测试用例。进一步,在SI中,通过JEditorPane与JSpider浏览器访问web站点。进一步,在S2中,通过JSpider爬虫引擎对站点待测试页面进行页面建模,选择页面上相应的受测对象并将数据保存至本地的页面模型数据文件。进一步,在S3中,使用Webdriver提供的接口启动并控制所述浏览器,通过数据解析器从页面建模数据文件中获取页面的受测对象和测试用例,根据测试用例的操作步骤,实现模拟用户操作。进一步,S3还包括:启动所述浏览器,通过Jenkins持续集成平台或命令行调用自动化脚本,脚本通过webdriver API调用所述页面建模数据文件,并在浏览器中执行脚本中相应的操作。本方法通过浏览器对测试页面自动建模,并通过控制浏览器运行过程中调用页面模型数据,控制浏览器实现模拟用户操作,此方法可跨浏览器、可跨平台、可并行,能实现自动化测试从开发、执行到维护的高效。【附图说明】图1为本专利技术的方法的一个实施例的流程图;图2为图1中的页面建模的流程图;图3为本专利技术的系统的一个实施例的结构图;图4为图3中的自动测试过程的流程图;图5为一个应用实例的一个截图。【具体实施方式】在本专利技术中,“对象”指的是用户期望在页面中操作的对象,例如文本框、图片、按钮、连接等。“属性”在html页面源码中,用来表示该对象的性质和特性,通常都是以“对象名”=“值”的形式来表示。“测试用例”是包含了业务逻辑、顺序、期望结果等的数据集合,是自动化测试脚本编写的依据。图1为本专利技术的方法的一个实施例的流程图,所述方法包括:步骤S1、建立浏览器,使用该浏览器访问待测页面,其中该浏览器能够抓取待测页面的源码。该浏览器是特制的,可以用多种方式实现。该浏览器是可配置的,可展示页面的html源码。浏览器抓取的数据是页面上的受测对象,所述受测对象可以是静态的(例如图片),也可以是动态的(例如用户交互数据,比如输入框、搜索按钮)。有利地,所述浏览器能够进行输入、链接点击等操作,还可以模拟复杂浏览器的功能,包括拖拽、截屏、文件上传与下载的验证等。更有利地,该浏览器能够检查站点的错误。步骤S2、分析待测页面的源码,进行页面建模,并保存至页面模型数据文件。页面模型,是指自动化测试中会使用到的对象所组成的模型。图2显示了如何进行页面建模。在该步骤S2中,建模针对的是待测页面中需要操作的对象。具体为,建模的目标是页面中的受测对象(选择哪些受测对象可以预先根据业务规则配置),每一个受测对象在页面中具有固定的路径。因此,受测对象-值(KEY-VALUE)就形成了该页面的模型。将该受测对象-值存储到文件中,形成页面模型数据文件。其中,VALUE保存的是受测对象的路径。在一个实施例中,VALUE保存的是XPATH的值。XPATH是XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPATH基于XML的树状结构,提供在数据结构树中找寻节点的能力。因此,用XPATH的值可以定位受测对象在页面中的位置。其中,如果待测页面不涉及用户操作,可以直接对页面进行建模,形成页面模型。如果待测页面中包括需要用户操作的对象,例如某些控件,则通过用户在页面中对对象的操作,自动生成受测对象与值。通过用户在页面中的操作将需要操作的对象选取出来,因为页面上的对象成百上千,但是自动化脚本中所使用的只是很小一部分,通过用户的操作将真正使用的对象做成页面模型。通过用户在页面中对控件的操作,获得受测对象与值。步骤S3、在测试时,启动所述浏览器,读取所述页面模型数据文件,从中获取页面的受测对象和值,进行页面测试。更进一步,在测试时,启动所述浏览器,读取所述页面模型数据文件,从中获取页面的受测对象和值,用测试用例模拟用户操作。因此,在本专利技术中,逻辑和数据不再耦合在一起,本专利技术通过进行页面建模,将页面属性和页面数据分离开,当页面变更后,只需要对页面重新建模或者更新测试用例,即可进行自动测试。本方法通过浏览器对测试页面自动建模,并通过控制浏览器运行过程中调用页面模型数据,控制浏览器实现模拟用户操作,此方法可跨浏览器、可跨平台、可并行,能实现自动化测试从开发、执行到维护的高效。在现有技术中,在web自动化测试开展的过程中,脚本开发难度大与维护成本高,自动化成本高。而在本专利技术中,当页面变更引起脚本执行失败时,通过页面重新建模或直接修改本地数据文件,即可自动完成页面数据维护工作。页面重新建模就是在浏览器中重新操作控件,刷新控件对象的KEY-VALUE值,直接修改本地数据文件即直接在本地文件中更新XPATH值。在本专利技术中,逻辑层单独维护,逻辑层即是测试用例中的用例逻辑,比如点击某个按钮,在某个指定框输入文本或者选择某个下拉框中的选项。一般来说项目进入维护期后,业务逻辑变动较小,页面样式或元素变更大些,但因为逻辑分离以后,如果页面元素路径变了,只需要维护页面模型文件中的路径就可以了,这样就大大提高自动化测试在web项目中运用的灵活性,使web自动化测试后期的维护与执行均无需大量的编码工作,为web应用提供了一套低成本并且简单、高效的web自动化测试方法。图3显示了本专利技术的另一个实施例的流程图。首先,通过JEditorPane与JSpider浏览器访问web站点。然后,通过JSpider爬虫引擎对站点待测试页面进行页面建模,选择页面上相应的受测对象并将数据保存至本地的页面模型数据文件,完成页面建模。最后,建模完成后,使用Webdriver提供的接口启动并控制所述浏览器,通过自制数据解析器从数据文件中获取页面的对象,根据测试用例的操作步骤,实现模拟用户操作。用例执行结束后,关闭浏览器。通过Jenkins持续集成平台或命令行调用自动化脚本,脚本通过webdriverAPI调用页面模型的数据文件,实现了启动并控制浏览器,并在浏览器中执行脚本中相应的操作,整个过程都是可视化的,该方法流程如图4所示。使用此方法当页面发生变更后,只需要重新执行一次建模流程或者直接修改页面数据文件即可完成页面建模,对自动化测试执行流程不造成本文档来自技高网...

【技术保护点】
一种基于建模的web应用自动化测试方法,其特征在于,包括:S1、建立浏览器,使用该浏览器访问待测网站页面,获取数据;S2、分析页面,进行页面建模,并保存至页面建模数据文件;S3、在测试时,启动所述浏览器,读取所述页面建模数据文件,从中获取页面的受测对象和测试用例,模拟用户操作。

【技术特征摘要】
1.一种基于建模的web应用自动化测试方法,其特征在于,包括: 51、建立浏览器,使用该浏览器访问待测网站页面,获取数据; 52、分析页面,进行页面建模,并保存至页面建模数据文件; 53、在测试时,启动所述浏览器,读取所述页面建模数据文件,从中获取页面的受测对象和测试用例,模拟用户操作。2.根据权利要求1所述的基于建模的web应用自动化测试方法,其特征在于,在SI中,该浏览器是可配置的,获取的数据是用户交互数据。3.根据权利要求1所述的基于建模的web应用自动化测试方法,其特征在于,在S2中,所述页面建模数据文件保存了受测对象的属性以及测试用例。4.根据权利要求1所述的基于建模的web应用自动化测试方法,其特征在于,在SI中,通过JEditorPane与JSpider浏览器访问we...

【专利技术属性】
技术研发人员:杨瑾
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1