集成Jenkins和TestNG实现自助式自动化测试平台.docx

上传人:王** 文档编号:730719 上传时间:2023-12-28 格式:DOCX 页数:16 大小:246.14KB
下载 相关 举报
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第1页
第1页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第2页
第2页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第3页
第3页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第4页
第4页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第5页
第5页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第6页
第6页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第7页
第7页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第8页
第8页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第9页
第9页 / 共16页
集成Jenkins和TestNG实现自助式自动化测试平台.docx_第10页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《集成Jenkins和TestNG实现自助式自动化测试平台.docx》由会员分享,可在线阅读,更多相关《集成Jenkins和TestNG实现自助式自动化测试平台.docx(16页珍藏版)》请在优知文库上搜索。

1、集成Jenkins和TestNG实现自助式自动化测试平台背景介绍在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求、缩短的开发周期、频繁的部署上线、复杂的产品架构和团队组织,如何继续保证软件的质量是一个不能回避的课题。许多企业级规模的项目常常按照功能模块将庞大的团队分为多个独立的Scrum团队。在这种情况下,每个Scrum团队各自负责其所属功能模块的开发和测试。在Scrum团队中各种角色在不同的时间点有针对性不同的测试需求。其次,Build部署以及测试频率大幅增加。测试类型和阶段也更加细化。而现有的自动化测试,常常由独立的自动化测试团队来执

2、行和维护。其他的Scrum团队成员除非十分了解自动化测试包的细节,否则无法按照自身多类型的测试需求来执行自动化脚本。并且有些项目自动化测试包涵盖了成百上千的测试用例,仅仅因为需要验证某个模块或某几个功能点是否成功而执行整个测试包不仅费时且没有必要。本文针对以上涉及的问题,提出以下的解决方案:利用JenkinS和TestNG搭建“自助式”自动化测试平台,充分利用了JenkinS成熟的平台及其插件,以及TestNG对选择测试用例的内在支持。该平台具有以下优点:基于成熟的测试工具。JenkinS是目前业内最流行的快速持续集成工具之一,其稳定的性能和丰富的扩展性,使得很多的团队都优先选择它作为项目的主

3、要支持工具。TeStNG作为一款强大的Java测试框架,其在Junit,NUnit的基础上做了广泛的增强,从单元测试、功能测试到集成测试,都能提供良好的支持。这两个工具一方面功能稳定,有大量的实际使用案例和文档支持,另一方面由于其属于主流工具,很多团队已经有过相应的经验,可以大大缩短学习曲线和成本。灵活地定制自动化测试。团队成员通过登陆平台Web界面,按照需求任意选择部署在平台上的自动化测试包,目标测试环境,测试集和测试用例。提交定制化的自动化执行请求,执行结束系统自动发邮件通知。不同人员的请求可以实现并行执行。所有的自动化执行历史记录都可以保存在平台上。可以通过Web的方式随时查阅。Jenk

4、ins支持丰富的插件,用户可以按照需求进行选择安装和配置.,以实现生成执行状态表格,自动部署/更新自动化测试包等高级功能。方案设计概述本文将使用一个简化后的“自助式”自动化测试应用场景以介绍本方案的核心设计思想。首先列举出该平台需要满足的各项需求:用户权限管理,用户可以使用自己的帐号进行登陆访问,提交请求。用户根据自身的具体需求,灵活的选择已经部署在平台上的自动化测试包,并且可以对测试环境,测试集和测试用例进行定制化选择。多用户并发请求的执行,彼此之间相互独立,互不干扰请求执行完毕后的email通知执行状态和历史纪录的查询用户体验良好的Web页面访问模式针对以上的需求,我们可以用图1来简要说明

5、该方案的主要功能组件以及彼此之间的联系。图1.平台主要功能组件=1自动化测试平台Web前端:JenkinS平台自身提供一套统一标准的web界面,用户可以根据需求通过其完成各种系统配置,任务提交,查询等工作。用户登录与权限控制:JenkinS平台默认支持若干种用户验证机制,比如LDAP,Jenkinsowndatabase,servletcontainerauthenticate等等,也可以通过其它插件实现更加复杂的验证。本文将采用最简单的JenkinSowndatabase来管理帐户的权限。任务请求定制化模块:一般来说,Jenkins大部分情况下只需要完成预定义执行内容的任务。所以在参数定制化

6、请求方面只具备最基本的支持。为了满足更好的“自助式”的用户体验和需求,实现预定义任务对不同用户需求的灵活响应,我们在还需要借助一款JenkinS插件ExtendedChoiceParameterpluginm的辅助。利用该插件,用户可以在提交请求时在页面上输入多选式参数,这些动态输入将以环境变量的形式传递给执行模块影响最终请求的行为。任务提交与执行模块:JenkinS支持稳定的任务管理机制,管理员可以通过配置使同一个任务支持并发响应多个请求,彼此之间独立且互不干扰。任务状态与历史纪录查询:对于任务请求的状态信息跟踪,JenkinS默认只支持控制台输出的监控,而且每一次请求记录,Jenkins只

7、提供一个数字ID和时间戳进行标识。对于一个多用户的自助式平台这是远远不够的。我们利用插件“HTMLPublisherPlugin”,保存请求生成的html格式的运行报告。这样可以在页面上对任意历史请求的执行纪录和报告进行查询和检索;同时利用aEnvInjectPluginw,rtBuildUserVarsPluginw和aBuildNameSetterPlugin”为每一次请求动态生成包含用户姓名等多方面信息的ID以区分,大大方便信息的管理和测试结果数据的追溯。Emai1提醒:JenkinS默认只支持最基本的emai1通知机制。我们使用插件Emai-extPlUgin”进行扩展,以支持更加强大

8、的通知机制,灵活定制email标题和内容,添加附件,定制收件人名单等。TestNG自动化测试框架:TeStNG是一款强大的自动化测试框架,适用于Unit测试,功能测试,集成测试等多类型的自动化测试。其拥有一整套成熟的API和Annotation,支持数据驱动,测试周期和依赖控制,多线程执行等一系列特性。本方案采用TestNG还因为其具有对测试脚本集进行灵活选择的特性。TestNG利用xml文件来组织测试脚本集,在运行的时候,我们可以通过参数指定需要运行的脚本,把JenkinS任务与建立在这一框架之上的自动化测试包进行连接,就可以轻松实现用户在页面上选择测试集。平台的实现与配置本章介绍该平台具体

9、的实现和配置流程,主要包含以下步骤:安装JenkinS及必要的第三方插件建立新用户及配置权限为自动化测试建立和配置新任务1 .配置用户输入定制化选项2 .配置执行报告保存3 .配置emai1提醒Jenkins及相关插件的安装(本文以jenkinS-Ver.1.524为例)Jenkins是一款成熟强大的开源软件,对大部分主流的操作系统平台(Linux,Windows,MacOS)都提供支持,在其官方网站上可以直接下载到最新的安装包和每一个平台的安装流程文档。安装完毕之后,我们可以以后台服务的形式将其启动,这个时候我们就可以用浏览器通过httplocalhost:8080访问其默认主页面进行平台定

10、制化配置。图2.Jenkins主页面JeiikinsJenkinsENABLEAUToREFRESXdesc口DbonWelcometoJenkinsrPleaseCreatenewIObrtogetstarted.初始安装后的JenkinS并没有默认管理员帐户,第一次打开主页面就可以直接对其进行系统配置,在页面的左端可以通过点击“ManageJenkinS”打开JenkinS系统管理界面。图3.Jenkins管理界面 N- Job % PQC/ Hne JentdnABuild Queue No builds m the queue.BUiId EXeCUtor Satu9 Status1

11、Idle2 IdleManage JenkinsUnsecuredJenkinallowsanyoneonthenetworkIgScunryQwmstolaunchprocessesonyourbehalf.Considerat111leastenablingauthenticationtodHcouragemisuse.COnfureSysteynConfigureglobalsettingsandoaths.aConfioureGlobalSeuritvSecureJenkins;decewhoisMowtdtoccessusethesystem.RelQadUonftQurafaenf

12、romDtskDiscardalltheloaded*3nmeorandreloadeverythingfromfilesystem.Usefulwhenyoumodifiedoon6gMesdirectlyondisk.ManoePlUalCSEAdd,remove,disableorenablepluginsttc*nextendthefunctionality我们可以通过“ManagePluginsw来安装第三方插件。其中本方案建议安装的六个插件分别是ExtendedChoiceParameterpluginw,wEnvInjectPluginw,“BuildUserVarsPlugin

13、w,“BuildNameSetterPluginw,“HTMLPublisherPluginw和wEmail-extplugin”o图4.Jenkins插件管理JenkinsJenkinSPluginManager安装插件的方法十分简单,在“ManagePluginsw页面的“Available”选项卡中,勾选所需要的目标插件,点击页面下方的相应安装按钮即可。新建用户和配置权限前面我们提到JenkinS在初次安装时默认并没有用户验证的环节,所有打开主页面的用户都具有系统管理员权限。对于一个要在正式项目中被整个团队所公用的测试平台,我们需要严格的建立用户验证和权限配置。首先在aManageJen

14、kins-ConfigureGlobalSecurityn页面中勾选Enablesecurityw页面刷新之后在SecurityRealIn”项选择Jenkinsownuserdatabase,“Authorization”项选择wMatrix-basedsecurity,同时暂时赋给AnonymousOverallAdmin”权限.每一个项目也可以根据自身的需要选择其它的认证方式。图5.安全管理ure Global SecurityEnable securityTCP port for JNLP slave agents.Fixed :Random - DisableMarkup Forma

15、tterRaw HTMLTreatthetextasHTMLanduseitasiswithoutanytranslationDisablesyntaxhighlightingAccess ControlSeCtirity RealmDelegatetoservletcontainer,JenkinssownuserdatabaseAllow users to sign upOLDAPAuthorizationAnyonecandoanything1.egacymode1)User/groupAnonymousLogged-in users can do anythingMatrix-based securityOverallAdministerReadRunscriptsuploadpiuginsconfigureupdateCenterConfigureDeIeteC保存设置之后,回到JenkinS主页面,此时我们点击右上角signUP链接可以进入创建用户页面,输入新建用户的基本信息。通过这种方式可以为需要使用该平台的所有成员创建属于他们自己的专用账号。图6.帐号创建Jenkins

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件测试

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!