自动化测试方法及代理服务器技术

技术编号:13428266 阅读:224 留言:0更新日期:2016-07-29 18:19
本发明专利技术涉及一种自动化测试方法及代理服务器,其方法包括:代理服务器获取浏览器发送的测试访问请求,将测试访问请求转发至网络服务器;接收网络服务器返回的、与客户端测试代码对应的页面;在页面中注入设定的脚本;通过注入的脚本,以快速模式操作页面元素,对页面进行测试;将测试后的页面返回给浏览器,由浏览器返回给客户端。本发明专利技术实现了对极大尺寸的页面进行自动化测试,解决了遇到极大尺寸的页面自动化测试无法进行下去的问题,从而可以更好的支持web系统自动化测试,同时也节约了用户编写和运行案例的时间,提高了测试人员工作效率。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种自动化测试方法及代理服务器
技术介绍
目前,现有的自动化工具(QTP、selenium等)能较好的支持一般的网页系统自动化测试。但遇到极大尺寸的页面(比如产险的一些系统,前端页面都有可能几十Mb),会减缓页面渲染甚至停止响应,导致自动化测试无法进行下去。因此,现有的自动化测试工具有待改进,以解决遇到极大尺寸的页面自动化测试无法进行下去的问题。
技术实现思路
本专利技术的主要目的在于提供一种自动化测试方法及代理服务器,旨在解决遇到极大尺寸的页面自动化测试无法进行下去的问题。为了达到上述目的,本专利技术提出一种自动化测试方法,包括:代理服务器获取浏览器发送的测试访问请求,将所述测试访问请求转发至网络服务器;所述测试访问请求携带有客户端测试代码;接收所述网络服务器返回的、与所述客户端测试代码对应的页面;在所述页面中注入设定的脚本;通过所述注入的脚本,以快速模式操作页面元素,对页面进行测试;将测试后的页面返回给所述浏览器,由所述浏览器返回给客户端。优选地,所述通过注入的脚本,以快速模式操作页面元素,对页面进行测试的步骤包括:对注入脚本后的页面进行初始化操作,收集所述页面上各元素;遍历所述页面上各元素,读取各元素的属性;遍历各元素的属性,对每一元素,判断该元素是否具有ID属性;若所述元素具有ID属性,则记录该具有ID属性的元素,并对下一元素>进行属性判断。优选地,所述遍历各元素的属性,对每一元素,判断该元素是否具有ID属性的步骤之后还包括:若所述元素不具有ID属性,则判断所述元素是否具有name属性;若所述元素具有name属性,则记录该具有name属性的元素,并对下一元素进行属性判断。优选地,所述遍历各元素的属性,对每一元素,判断该元素是否具有ID属性的步骤之后还包括:若所述元素不具有ID属性和name属性,则跳过该元素,并对下一元素进行属性判断。优选地,所述代理服务器获取浏览器发送的测试访问请求之前还包括:当启动所述代理服务器时,随机生成一个端口,作为所述被测浏览器的代理端口。本专利技术实施例还提出一种自动化测试代理服务器,包括:获取模块,用于获取浏览器发送的测试访问请求,将所述测试访问请求转发至网络服务器;所述测试访问请求携带有客户端测试代码;接收模块,用于接收所述网络服务器返回的、与所述客户端测试代码对应的页面;注入模块,用于在所述页面中注入设定的脚本;测试模块,用于通过所述注入的脚本,以快速模式操作页面元素,对页面进行测试;发送模块,用于将测试后的页面返回给所述浏览器,由所述浏览器返回给客户端。优选地,所述测试模块,还用于对注入脚本后的页面进行初始化操作,收集所述页面上各元素;遍历所述页面上各元素,读取各元素的属性;遍历各元素的属性,对每一元素,判断该元素是否具有ID属性;若所述元素具有ID属性,则记录该具有ID属性的元素,并对下一元素进行属性判断。优选地,所述测试模块,还用于若所述元素不具有ID属性,则判断所述元素是否具有name属性;若所述元素具有name属性,则记录该具有name属性的元素,并对下一元素进行属性判断。优选地,所述测试模块,还用于若所述元素不具有ID属性和name属性,则跳过该元素,并对下一元素进行属性判断。优选地,所述获取模块,还用于当启动所述代理服务器时,随机生成一个端口,作为所述被测浏览器的代理端口。本专利技术提出的一种自动化测试方法及代理服务器,通过获取浏览器发送的测试访问请求,将测试访问请求转发至网络服务器;测试访问请求携带有客户端测试代码;接收网络服务器返回的、与客户端测试代码对应的页面;在页面中注入设定的脚本;通过注入的脚本,以快速模式操作页面元素,对页面进行测试;将测试后的页面返回给浏览器,由浏览器返回给客户端,由此,通过快速模式,实现了对极大尺寸的页面进行自动化测试,解决了遇到极大尺寸的页面自动化测试无法进行下去的问题,从而可以更好的支持web系统自动化测试,同时也节约了用户编写和运行案例的时间,提高了测试人员工作效率。附图说明图1是本专利技术自动化测试方法较佳实施例的流程示意图;图2是本专利技术实施例中通过注入的脚本,以快速模式操作页面元素,对页面进行测试的流程示意图;图3是本专利技术自动化测试代理服务器较佳实施例的功能模块示意图。为了使本专利技术的技术方案更加清楚、明了,下面将结合附图作进一步详述。具体实施方式本专利技术实施例的解决方案主要是:通过获取浏览器发送的测试访问请求,将测试访问请求转发至网络服务器;测试访问请求携带有客户端测试代码;接收网络服务器返回的、与客户端测试代码对应的页面;在页面中注入设定的脚本;通过注入的脚本,以快速模式操作页面元素,对页面进行测试;将测试后的页面返回给浏览器,由浏览器返回给客户端,由此,通过快速模式,实现了对极大尺寸的页面进行自动化测试,解决了遇到极大尺寸的页面自动化测试无法进行下去的问题。如图1所示,本专利技术较佳实施例提出一种自动化测试方法,包括:步骤S101,代理服务器获取浏览器发送的测试访问请求,将所述测试访问请求转发至网络服务器;所述测试访问请求携带有客户端测试代码;由于现有的自动化工具(比如QTP、selenium等)在遇到极大尺寸的页面(比如产险的一些系统,前端页面都有可能几十Mb),会减缓页面渲染甚至停止响应,导致自动化测试无法进行下去,给测试用户造成不便。本实施例方案可以通过快速模式,实现对极大尺寸的页面进行自动化测试。具体地,本实施例采用基于代理服务器(本实施例称plsaserver)的plsa工具对web系统页面进行快速自动化测试操作。其中,首先,介绍一下plsa工具的工作原理:plsa是一个基于开源web自动化工具sahi,其实现自动化测试操作页面元素的流程如下:首先,启动plsa服务器(即代理服务器),会随机生成一个端口,并自动把浏览器的代理设置成这个端口。之后,用户在浏览器上访问的网络地址会被plsa服务器劫持,plsa服务器把用户的http请求转发给网络服务器。网络服务器返回页面内容给plsa服务器,plsa服务器对页面内容注入js脚本,然后再把内容返回给浏览器。因为对页面注入了js脚本,plsa工具就可以根据脚本里提供的各种方法来操作页面元素,从而实现对该web系统进行自动化操本文档来自技高网...

【技术保护点】
一种自动化测试方法,其特征在于,包括:代理服务器获取浏览器发送的测试访问请求,将所述测试访问请求转发至网络服务器;所述测试访问请求携带有客户端测试代码;接收所述网络服务器返回的、与所述客户端测试代码对应的页面;在所述页面中注入设定的脚本;通过所述注入的脚本,以快速模式操作页面元素,对页面进行测试;将测试后的页面返回给所述浏览器,由所述浏览器返回给客户端。

【技术特征摘要】
1.一种自动化测试方法,其特征在于,包括:
代理服务器获取浏览器发送的测试访问请求,将所述测试访问请求转发
至网络服务器;所述测试访问请求携带有客户端测试代码;
接收所述网络服务器返回的、与所述客户端测试代码对应的页面;
在所述页面中注入设定的脚本;
通过所述注入的脚本,以快速模式操作页面元素,对页面进行测试;
将测试后的页面返回给所述浏览器,由所述浏览器返回给客户端。
2.根据权利要求1所述的方法,其特征在于,所述通过注入的脚本,以
快速模式操作页面元素,对页面进行测试的步骤包括:
对注入脚本后的页面进行初始化操作,收集所述页面上各元素;
遍历所述页面上各元素,读取各元素的属性;
遍历各元素的属性,对每一元素,判断该元素是否具有ID属性;
若所述元素具有ID属性,则记录该具有ID属性的元素,并对下一元素
进行属性判断。
3.根据权利要求2所述的方法,其特征在于,所述遍历各元素的属性,
对每一元素,判断该元素是否具有ID属性的步骤之后还包括:
若所述元素不具有ID属性,则判断所述元素是否具有name属性;
若所述元素具有name属性,则记录该具有name属性的元素,并对下一
元素进行属性判断。
4.根据权利要求3所述的方法,其特征在于,所述遍历各元素的属性,
对每一元素,判断该元素是否具有ID属性的步骤之后还包括:
若所述元素不具有ID属性和name属性,则跳过该元素,并对下一元素
进行属性判断。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述代理服务

\t器获取浏览器发送的测试访问请求之前还包括:
当启动所述代理服务器...

【专利技术属性】
技术研发人员:刘兴翚彭利荣毛皓岑海菊邹文涛李玲欧人杰张博文
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1