欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:696015       资源大小:185.43KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    集成Jenkins和TestNG实现自助式自动化测试平台背景介绍在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求、缩短的开发周期、频繁的部署上线、复杂的产品架构和团队组织,如何继续保证软件的质量是一个不能Inl避的课题。许多企业级规模的项目常常按照功能模块将庞大的团队分为多个独立的Scrum团队.在这种情况下,每个Scrum团队各自负责其所属功能模块的开发和测试。在Scrum团队中各种角色在不同的时间点有针对性不同的测试需求。其次,Build部署以及测试频率大幅增加。测试类型和阶段也更加细化。而现有的自动化测试,常常由独立的自动化测试团队来执行和维护。其他的Scrum团队成员除非十分了解自动化测试包的细节,否则无法按照自身多类型的测试需求来执行自动化脚本。并且有些项目自动化测试包涵盖了成百上千的测试用例,仅仅因为需要验证某个模块或某几个功能点是否成功而执行整个测试包不仅费时且没有必要。本文针对以上涉及的问题,提出以下的解决方案:利用JenkinS和TeStNG搭建"自助式”自动化测试平台,充分利用了JenkinS成熟的平台及其插件,以及TestNG对选择测试用例的内在支持。该平台具有以下优点:基于成熟的测试工具。Jenkins是目前业内最流行的快速持续集成工具之一,其稳定的性能和丰富的扩展性,使得很多的团队都优先选择它作为项目的主要支持工具。TeStNG作为一款强大的Java测试框架,其在Junit,NUnit的基础上做了广泛的增强,从单元测试、功能测试到集成测试,都能提供良好的支持。这两个工具一方面功能稳定,有大量的实际使用案例和文档支持,另一方面由于其属于主流工具,很多团队已经有过相应的经验,可以大大缩短学习曲线和成本。灵活地定制自动化测试。团队成员通过登陆平台Web界面,按照需求任意选择部署在平台上的自动化测试包,目标测试环境,测试集和测试用例。提交定制化的自动化执行请求,执行结束系统自动发邮件通知。不同人员的请求可以实现并行执行。所有的自动化执行历史记录都可以保存在平台上.可以通过Web的方式随时查阅。Jenkins支持丰富的插件,用户可以按照需求进行选择安装和配置,以实现生成执行状态表格,自动部署/更新自动化测试包等高级功能.方案设计概述任务提交与执行模块:JenkinS支持稳定的任务管理机制,管理员可以通过配置使同一个任务支持并发响应多个请求,彼此之间独立且互不干扰。任务状态与历史纪录查询:对于任务请求的状态信息跟踪,JenkinS默认只支持控制台输出的监控,而且每一次请求记录,JenkinS只提供一个数字ID和时间戳进行标识。对于一个多用户的自助式平台这是远远不够的。我们利用插件"HTMLPublisherPlugin”,保存清求生成的httnl格式的运行报告。这样可以在页面上对任意历史请求的执行纪录和报告进行查询和检索;同时利用"EnvInjectPlugin",BuildUserVarsPlugin"和“BuildNameSetterPlugin”为每一次请求动态生成包含用户姓名等多方面信息的ID以区分,大大方便信息的管理和测试结果数据的追溯。Emai1提醒:JenkinS默认只支持最基本的emai1通知机制。我们使用插件"EmaiextPIUgin”进行扩展,以支持更加强大的通知机制,灵活定制email标题和内容,添加附件,定制收件人名单等。TestNG自动化测试框架:TestNG是一款强大的自动化测试框架,适用于Unit测试,功能测试,集成测试等多类型的自动化测试。其拥有一整套成熟的API和Annotation,支持数据驱动,测试周期和依赖控制,多线程执行等一系列特性。本方案采用TestNG还因为其具有对测试脚本集进行灵活选择的特性。TestNG利用xml文件来组织测试脚本集,在运行的时候,我们可以通过参数指定需要运行的脚本,把JenkinS任务与建立在这一框架之上的自动化测试包进行连接,就可以轻松实现用户在页面上选择测试集。平台的实现与配置本章介绍该平台具体的实现和配置流程,主要包含以下步骤:安装JenkinS及必要的第三方插件建立新用户及配置权限为自动化测试建立和配置新任务1.配置用户输入定制化选项2.配置执行报告保存3.配置emai1提醒Jenkins及相关插件的安装(本文以jenkins-ver.1.524为例)Jenkins是一款成熟强大的开源软件,对大部分主流的操作系统平台(Linux,Windows,MacOS)都提供支持,在其官方网站上可以直接下载到最新的安装包和每一个平台的安装流程文档,新建账号完毕之后,用专门为管理员创建的账号重新登陆,再次进入"ManageJenkins->ConfigureGlobalSecurity",为我们刚才创建的团队成员账号设置权限,同时禁用Anonymous的所有权限,具体方式如图7所示,保存之后即可生效。图7.权限配置为自动化测试建立和配置新任务。当以上工作都准备完毕之后,就可以开始在JenkinS平台上为自动化测试创建新的任务。首先在主界面的左上方点击"NewJob”,选择"Buildafreestyiesoftwareprojectw类型,并且提供一个合适的任务名如"ProjectARESTAPIautomation".图8.新Job创建JeknsAllPeople/ Eild HiStOrV, MaCaaH JenkmsMY VleWSJobHameProjectARESTAPIautomationBuildafree-stylesoftwareprojectThistbecentralfeatureofJenkins.JenkiCSwillbuildyourproject,mbnrjanySCMwithanybuildsystem,andthiscanbeevenusedforsomethingotherthansoftwarebuM.Buildamaven23projectBWkja11ven2/3project.JenkmitakesadvantageOfyourPOMfl<sanddrasticallyreducesth«configuration.Buildmulti-configurationprojectSuitableforprojectsthatneedalargenumberOfdifferentconfigurationssuchastestingonmu)bpleenvironments,piatform*specbuilds,etc.MonitoranexternaljobThistypeOfjoballowsyoutorecordtheexecutionOfaprocessrunoutsideJenkm,evenonaremotemachine.ThissdeignedsothatyoucanuseJenkinsasadashboardofyourexistingautomationsystem.Seetedocumentationformoredea,>s.点击OK之后就可以开始对Job内容进行定义和配置。传统的JenkinS平台应用主耍集中在持续集成(CI)领域,所以在配置页面提供了大量的关于源代码获取,Build创建等传统配置选项。而本文从全新的角度利用JenkinS平台的特性搭建自助式平台,基于篇幅所限,这里只介绍和本方案相关的主要配置项。首先,为了让自动化任务在提交请求的时候都能够接收不同用户的选择,我们需要勾选"Thisbuildisparameterized".在接下来的"AddParameter,下拉菜单中,JenkinS提供多种类型的用户输入,在这里我们选择"ExtendedChoiceParameter"(这是由上文中提到的插件"ExtendedChoiceParameterplugin"新增出的支持类型),同时JenkinS每一个Job支持多个用户输入选项,并且彼此之间可以属于不同类型,管理员可以根据项目需要进行灵活搭配.图9.参数化配置DiscardOldBuildsVThisbuildisparameterizedAddPBra<r*tfDisableBtIf=IBoolcValuCVSSymbolicNam«Pr.mtrChocItheprojectisre-enabled.)ExecuteExtendedChoiceParameterAdvancedProFileParameterUstSubversiontags(andmor)PasswordParamtrRunParameterStringParameterSourceCodeCVST×tParameter在这里为了简单起见,本文新建了两个参数化输入选项以说明问题。其中第一个为单选项,提供用户对目标测试环境的选择,另一个为多选项,提供对具体测试用例的选择。每一个输入项在配置时需要提供唯一标识的名字,不仅会显示在输入页面上,同时用户提交请求时真实的输入将会以同样命名的环境变量的形式传递给具体的执行脚本。其次对于备选项列表的配置,系统提供两种方式。第一种是宜接在"Value”项中提供所有备选项的列表,并以逗号隔开(如图10中对环境选项ENVIRONMENT的配置),另一种是当备选列表比较长的时候我们可以以文件的形式来提供(如图U中对测试用例SELECTEDJESTCASE选项的配置)。备选列表文件的内容格式如清单1所示:清单1.SELECTEDTESTCASE选项的备选列表文件内容TestCase=Testcasel1Testcase2.Testcase3备选选项列表以文件形式提供的好处之一是我们可以自己设计脚本来自动生成和更新这个列表,这样当自动化测试包有更新的时候我们并不需要每次都手动更新这些配置文件。同时文件的更新可以即时生效,这一点十分重要。ExtendedChoiceParameterNameDescriptionParameter TypeValuePr0perty FileProperty KeyDefault valueD*ult Property FileDefault Property KeyElUVIRONMEhnCheese the target test environmentSingle Select envlr ev2QyGe Value口Numiber f Visible Items 旨图IL多选项配置ExtendedChoiceParameterNameSELECTEDeTESTCASEDescriptionParameter TypeValuePrOPertY FileProperty KeyDefault ValueTestCaseChoosethetargettesterseMultiSelectC:ProjectA_RestAPI_AutoJenkinsConfigtextcaselstDefaultPropertyFileDefauftPropertyKeyQuoteValue本例所示参数化配置之后,用户在提交请求时,系统将会显示如下页面以提示用户进行选择,用户可以根据需要自由的选择测试的目标环境和测试用例集合。

    注意事项

    本文(集成Jenkins和TestNG实现自助式自动化测试平台.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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

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

    收起
    展开