[发明专利]基于selenium的测试中间件、测试系统及方法在审
申请号: | 201710321784.1 | 申请日: | 2017-05-09 |
公开(公告)号: | CN107145448A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 李艳秋;赵冷奇;陈奎;陈凯;周才菊;段献辉;杨校杰;吴伟怡;汤彪;郑燕锋 | 申请(专利权)人: | 携程旅游信息技术(上海)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海弼兴律师事务所31283 | 代理人: | 薛琦,罗朗 |
地址: | 201203 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 selenium 测试 中间件 系统 方法 | ||
技术领域
本发明属于浏览器测试领域,尤其涉及一种基于selenium的测试中间件、测试系统及方法。
背景技术
现有基于selenium(浏览器自动化测试框架)的UI(用户界面)测试工具为单用户单任务形式,且selenium的测试需要专业测试开发人员进行源代码的编写,非一般手工测试人员能够具备的能力,测试难度高,脚本维护工作量大,对人力资源的要求度很高。
发明内容
本发明要解决的技术问题是为了克服现有技术中selenium测试方法只能解决单用户单任务的问题,且脚本维护工作量大、性能测试工作难度高的缺陷,提供了一种基于selenium的测试中间件、测试系统及方法。
本发明是通过下述技术方案来解决上述技术问题:
一种基于selenium的测试中间件,包括:交互API(应用程序编程接口)模块、任务队列模块、selenium控制模块和浏览器资源池;
所述交互API模块包含多个API接口,所述API接口用于接收多个测试任务并发送至所述任务队列模块;
所述任务队列模块用于将接收到的所述多个测试任务存入任务队列中,并按照所述任务队列的顺序依次将所述多个测试任务发送至所述selenium控制模块;
所述selenium控制模块用于依次根据每个测试任务从所述浏览器资源池中调取浏览器资源并调用selenium,将所述测试任务和所述浏览器资源发送至所述selenium的node节点完成任务的测试,并将测试结果发送出去;
所述浏览器资源池用于存放多个浏览器资源。
本方案中,将测试任务发送到测试中间件的交互API模块,所述测试任务为页面连接、元素标识、对元素进行的操作和该操作需要的参数中至少一项,比如具体的一个网站的IP(网络协议)地址、操作人员的ID(设别号)号或sendkey(一个编程语句,它可将一个或多个按键消息发送到活动窗口,就如同用键盘进行输入一样)操作等,测试中间件即可以完成任务的测试,克服了现有技术中selenium测试需要专业测试开发人员进行源代码编写的缺陷。
较佳地,所述多个测试任务为同一时刻多个用户发送过来的多个测试任务或单个用户发送过来的多个测试任务。
本方案中,测试任务为单用户发送的多个测试任务或者多用户发送的多个测试任务,交互API模块将所述多个测试任务发送至任务队列模块,所述任务队列模块按照先进先出的顺序依次将所述测试任务发送到selenium控制模块完成任务的测试,克服了现有技术selenium只能解决单用户单任务的缺陷。
较佳地,所述测试任务还包括一执行请求,所述执行请求包括执行所述测试任务所需的node节点类型和浏览器类型;
所述selenium控制模块根据所述浏览器类型从所述浏览器资源池中调取具有所述浏览器类型的浏览器资源;
所述selenium控制模块根据所述node节点类型将所述浏览器资源和所述测试任务发送至具有所述node节点类型的node节点。
本方案中,所述浏览器资源池用于存放大量的浏览器资源以及浏览器资源与node节点类型的对应关系,根据执行请求里包含的node节点类型和浏览器类型,selenium控制模块调取对应的浏览器资源并发送到对应的node节点来进行任务的测试。
较佳地,所述selenium控制模块还用于检测正在执行一目标测试任务的目标浏览器资源的数量是否超过设定的阈值,若是,则停止从所述浏览器资源池中调取所述目标浏览器资源。
本方案中,selenium控制模块还实时监控执行中的测试任务所用到的某一类型浏览器资源的量是否超过设定的阈值,超过数量的同一种浏览器资源同时执行测试任务,可能会造成服务器耗尽,影响整体的任务的执行速度。
较佳地,所述测试中间件还包括日志整理模块,所述日志整理模块用于接收所述selenium控制模块发送过来的所述测试结果,并根据所述测试结果生成日志数据,再调用所述API接口将所述日志数据发送出去。
一种基于selenium的测试系统,包括管理平台和如上述各优选项任意组合的测试中间件,所述管理平台用于调用所述API接口发送所述多个测试任务并接收所述测试结果。
一种基于selenium的测试方法,利用如上述的测试中间件来实现,所述测试方法包括以下步骤:
S1、所述API接口接收多个测试任务并发送至所述任务队列模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程旅游信息技术(上海)有限公司,未经携程旅游信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710321784.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有报警功能的抽出式开关柜
- 下一篇:一种山羊颈椎支撑固定装置