




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Selenium的UI自动化与数据分析UIAutomationanddataanalysisbasedonSelenium中文摘要近年来,互联网信息科技的蓬勃发展,给软件科技行业带来了无限的机遇和挑战。由于Web软件系统具有平台无关的特性,而且还有并发性、异构性和分布性这些性质,Web软件系统的测试相比于普通软件程序的测试要复杂很多,一个Web项目生命周期不只是开发的工作,测试在其中也有质量保证的作用,为了确保Web系统产品的竞争优势,自动化测试技术的地位与作用慢慢地展现出来。本课题主要内容是以Selenium自动化测试技术研究与应用为主,通过Jenkins开源Web系统测试为实例,对Jenkins的部分功能进行需求分析、测试计划设计和测试用例设计与执行。使用Selenium能够帮助测试工程师模拟用户在浏览器中操作,从而达到测试的目的,而且,Selenium兼容于多个浏览器平台并且能够使用不同的测试脚本语言进行编写,方便测试工程师掌握与应用。关键词:自动化测试Selenium开源Web系统测试脚本AbstractInrecentyears,therapiddevelopmentofInternetinformationtechnologyhasbroughtunlimitedopportunitiesandchallengestothesoftwaretechnologyindustry.BecausetheWebsoftwaresystemisplatform-independent,andhasthepropertiesofconcurrency,heterogeneityanddistribution,thetestingoftheWebsoftwaresystemismuchmorecomplicatedthanthetestingofthecommonsoftwareprogram,aWebprojectlifecycleisnotonlytheworkofdevelopment,butalsotheroleoftestinginqualityassurance.InordertoensurethecompetitiveadvantageofWebsystemproducts,thestatusandroleofautomatedtestingtechnologyisgraduallyrevealed.ThemaincontentofthistopicistheresearchandapplicationofSeleniumautomationtestingtechnology.ThroughJenkinsOpensourceWebsystemtestingasanexample,Jenkinspartofthefunctionalrequirementsanalysis,TestPlanDesignandtestcasedesignandimplementation.UsingSeleniumcanhelptestengineerssimulateuseractionsinbrowsersfortestingpurposes,anditiscompatiblewithmultiplebrowserplatformsandcanbewrittenindifferenttestscriptinglanguages,easyfortestengineertomasterandapply.Keywords:AutomatedTestingSeleniumOpenSourceWebSystemTestScripts目录1.绪论 [2],而常用的设计模式是PO模式即页面对象模式,用来管理维护一组Web元素的对象库,使得代码变得可读性更好,维护性和复用性更高。如图22为PO模式所包含的内容:图22PO模式企业中应用自动化测试的情况有四种:一、坚实的人力资源;二、开发出来的东西改动基本趋于0;三、快速迭代产品,核心共性业务,不会频繁变动;四、测试人员工作效率高,公司不是太忙,可以为自己的测试业务搭建一套自动化测试框架进行维护。6.2自动化测试数据分析随着大数据概念的推广,人们越来越意识到大数据时代中,最重要的并非掌握多么庞大的数据,而是对数据进行专业且有效的处理。有些项目为了满足业务流,需要在用例设计的时候用边界值、等价类、错误推测法和场景分析等方法,这些方法产生不同的测试数据,有些项目的测试数据还异常庞大,比方说关于财务的项目。测试过程中所有增删查改都是数据,就拿Jenkins来说,注册填写的信息就是输入的数据,系统把这些数据输入数据库,输出注册成功的结果,用户就能用这些数据进行登录,系统对这些数据进行判断。可以回想下,我们测试很多时候,做的都是造数据输入系统,系统输出结果来对比预期结果是否一致,整个自动化测试围绕着数据。由此看来整个系统其实都贯穿着数据,就像灵魂一样存在于系统。做完测试一般会出一个测试报告总结,我们对测试数据的分析都是从这里进行,使用代码自动化的好处就是能够自动生成测试报告,此处我使用Allure生成测试报告,它的逻辑如下图23所示:图23Allure生成报表逻辑通过Maven中pom.xml文件的配置相关的工具包和插件然后通过maven运行两行命令就能生成如下图24的测试报告图24Allure测试报告当然部分内容需要以后涉及Jenkins持续集成慢慢摸索才能形成精美详细的测试报告,但我们依旧能够从测试报告之中看到测试的状态、测试所耗时和测试报错日志内容,更方便直观地反馈给开发人员。图25Allure测试套图由上图25看出我对Jenkins做了8个测试用例,其中,链接测试报故障是因为注册界面的UI显示是“请登陆”,而我按照正常的UI显示应该是“请登录”,发现这些UI界面的bug我们就能反馈给开发人员,测试人员能够通过测试报告的用时,保证准确定位的前提下,适当地使用三种等待进行调优。6.3本章小结在实际生活的应用中,自动化测试是测试工程师的一种手段,按照需求,熟练地编写脚本开发出相匹配的测试框架,最终部署到持续集成工具上持续地进行测试。借助自动化流程能够加深对业务和数据的认知,有助于下阶段迭代发现隐藏的问题。虽然我的技术还未能到达那种地步,但这也相当于给了一个方向目标,就是能够熟练编写一个测试框架,而且自动化测试能够围绕数据,换言之,数据驱动配合PO模式,能够更好地分开页面元素、测试操作和数据并进行管理,最后生成一份测试报告反馈给开发人员对web应用进行修改。
7.总结与展望7.1总结经过一个多月的Selenium自动化测试技术的学习,我对自动化测试有了深刻的了解。当然这个测试过程我也会遇到一些问题,比方说:删除项目的时候,通过项目总览页面去定位倒三角图标是无法定位的,原因是这个元素的属性是隐藏,如下图26:图26倒三角图标若不是了解项目功能和流程,是不知道到,这里需要鼠标操作到相应位置,倒三角才会出现,因此脚本中就会使用到一个Actions的鼠标操作,加上一个perform方法实现此操作,如下图27删除项目脚本所示:图27删除项目脚本当然这只是其中一个问题,还有很多比如我的脚本实现方面,虽然实现其自动化测试的作用,但其中的部分测试用例并不能单独一个类,参数化方面可以修改成random生成,不至于影响后续的自动化操作,这些部分都是我应该慢慢整理总结出的内容。在做毕业设计之前,我认为毕业设计将就是把大学所学知识单纯的汇总成一个作品,实际做完后,发觉这是为了让我们认识到如今社会技术发展到什么程度,我们应该把知识掌握到什么水平才能更好地开创未来,从毕业设计过程中认识自身的不足,相对应地进行学习,努力提高自我知识和综合素质,毕竟,自动化测试工程师这一岗位不是一蹴而就的,需要不断地积累经验和进行实战。7.2后续研究展望后续的研究重点在于框架和持续集成,在熟悉自动化测试基础的前提下,Selenium能够配合移动端的Appium进行Web端和APP端的联动测试,加上接口自动化能够更好地保障产品的质量。一个好的自动化测试框架能够帮助测试人员做项目事半功倍,反复应用于不同的项目中,使其熟能生巧用得变幻莫测。持续集成是自动化测试的核心,由于持续集成不断去构建、编译和测试,可以较早地发现问题,降低项目风险,而且它能够进行无人值守的测试,减少重复性工作所花费的人力,经过持续集成平台获取到持续交付可供使用的版本,减少发布风险,增强团队信心。7.3本章小结本章对论文完成总结陈词并且明晰未来发展方向和学习目标,不能为了自动化而自动化,而是为了保证产品质量而进行自动化,把自动化思维融入到项目中,提高工作效率,缩短回归测试时间,编写的脚本尽量复用性高且易维护,提升软件可信度。
参考文献赵卓.Selenium自动化测试指南[M].北京:人民邮电出版社,2013.09.01.吴晓华,俞美玲.SeleniumWebDriver3实战宝典(Java版)[M].北京:电子工业出版社,2019.06.01.Ping测试团队.Selenium自动化测试之道[M].北京:清华大学出版社,2017.11.01.GundechaU.SeleniumTestingToolsCookbook[M].英国伯明翰:PacktPublishing,2012.11.23.杨德红.软件测试自动化在黑盒测试中的应用[J].现代电子技术,2008(18).赵金丹.基于Selenium的web自动化脚本设计研究[C].同济大学软件学院,2014(01).吴莹.基于Selenium的Web自动化测试框架[J].科技传播.2011(18).洪芳.基于Selenium2的WebUI自动化测试框架的设计与实现[D].西南交通大学,2017.杜庆峰.高级软件测试技术[M].北京:清华大学出版社,2011.06.01.虫师.Selenium3自动化测试实战――基于Python语言.[M].电子工业出版社,2019.07.01
致谢历经两个多月来的努力,最终我完成了论文的编写与修改。首先,我要衷心致谢我的论文指导老师,广东东软学院计算机学院的姚庚梅老师。姚老师对我论文的研究方向做出了针对性的看法与观点,在毕业设计作品制作和论文编写时,立即对我遇见的难题和不解耐心地给予答案与回应,热心地提出了很多有益的引导性意见,指引我毕业设计作品可以改善的方向,时刻监督着我毕业设计和论文的进度,使我能够按时并有效率地提交大学最后的答卷。在大学度过了四年紧张而又愉快的学习时光,系统地学习了计算机软件的各方面知识,深深地敬佩各位专业老师的学识,我从中不仅仅学到知识,而且学到很多做人、处事的人生道理,我在此表示诚挚的谢意。当然,还要感恩帮助过我的同校生们,是你们大方的帮忙,让我感受到了同学之间的友谊温暖,在我写论文的过程中,多位同学为我带来了技术支持,在此一并表示感谢。最后,感谢我的父母和我的大学,是父母辛苦工作赚钱让我有如此宝贵的学习机会,是我的大学给予了一个如此良好的学习环境,让我能够开启一段新的征途!
附录附录一:注册模块用例设计用例标识Jenkins_001项目名称Jenkins持续集成系统开发人员×××版本号Jenkinsver.2.190.1用例作者李杰豪模块名称注册操作流程设计日期2020-03-02测试方法场景分析法、等价类划分法、边界值分析法测试类型功能测试、黑盒测试、手工测试测试人员李杰豪测试日期2020-03-03用例描述该用例用来测试在“注册”模块中能否完成注册业务流程,并测试其中的功能是否实现。前置条件已进入Jenkins系统中的注册模块编号测试项操作步骤预期结果数据实际结果结果比较说明1从注册界面跳转到登录界面点击“请登录”的字样点击后能够跳转到登录界面点击后能够跳转到登录界面a标签实现跳转2完整填写注册信息-成功注册账号在“用户名”输入框填写信息在“全称”输入框填写信息在“邮箱”输入框填写信息在“密码”输入框填写信息点击“创建账号”按钮若所填写的信息符合要求与规范能够成功注册并跳转到该用户已登录状态界面用户名:aaa全称:李四邮箱:ls@密码:aaaaa成功注册账号并跳转到该用户已登录状态界面3存在没填写注册信息的输入框-弹出提示信息不填写注册信息点击“创建账号”若“用户名”输入框没填写,输入框会标红并附带提示信息若“全称”输入框没填写,输入框会标红并附带提示信息若“邮箱”输入框没填写,输入框会标红并附带提示信息若“密码”输入框没填写,输入框会标红并附带提示信息“用户名”输入框没填写,输入框会标红并附带提示信息“全称”输入框没填写,输入框会标红并附带提示信息“邮箱”输入框没填写,输入框会标红并附带提示信息“密码”输入框没填写,输入框会标红并附带提示信息4填写的注册信息不规范-点击“创建账号”按钮时会弹出提示信息分别使用不同的不规范数据输入不同的输入框点击“创建账号”查看输入框是否会标红并提示所输入数据不规范若“用户名”输入框中的数据不规范,点击“创建账号”时输入框会标红且提示“用户名只能包含字母数字字符,下划线和破折号”若“全称”输入框只输入空格,应该输入框标红且提示若“邮箱”输入框输入格式不规范,点击“创建账号”时输入框会标红且提示“无效邮件地址”若“密码”输入框输入非5~6个字符的安全密码,点击创建应该提示输入密码的限制输入空格输入中文输入大小写英文输入数字输入特殊字符上述数据的各种组合密码输入框输入5个或6个字符密码输入框输入小于5个或大于6个字符“用户名”输入框中的数据不规范,点击“创建账号”时输入框会标红且提示“用户名只能包含字母数字字符,下划线和破折号”“全称”输入框只输入空格,应该输入框标红且提示“邮箱”输入框输入格式不规范,点击“创建账号”时输入框会标红且提示“无效邮件地址”全称输入框创建时会自动省略空格邮箱输入框判断格式的方式是有无“@”密码输入框只对密码强度进行判断,无字符限制且空格能作为密码输入所有输入框无字符长度限制5密码明文显示功能密码输入框输入数据勾选“显示”若已输入密码以密文显示的情况下,勾选“显示”能够把密码变为明文已输入密码以密文显示的情况下,勾选“显示”能够把密码变为明文6填写已注册用户名信息进行注册填写已注册的用户名信息点击“创建账号”若输入已注册用户名,输入框会标红且弹出提示“用户名已被占用”用户名:aaa用户名:AAA输入已注册用户名,输入框会标红且弹出提示“用户名已被占用”用户名输入框不区分大小写,输入AAA时也会提示“用户名已被占用”附录二:登录模块用例设计用例标识Jenkins_002项目名称Jenkins持续集成系统开发人员×××版本号Jenkinsver.2.190.1用例作者李杰豪模块名称登录操作流程设计日期2020-03-02测试方法场景分析法测试类型功能测试、黑盒测试、手工测试测试人员李杰豪测试日期2020-03-03用例描述该用例用来测试登录功能中,输入框和按钮的功能是否实现。前置条件系统已存在用户名为aaa的李四账号,已进入登录模块编号测试项操作步骤预期结果数据实际结果结果比较说明1使用刚注册的用户名aaa的账号进行登录操作,验证注册的账号是否能登录在“用户名”输入框输入数据在“密码”输入框输入数据点击“登录”按钮若使用刚注册的用户进行登录操作,能够正常登录用户名:aaa密码:aaaaaa使用刚注册的用户进行登录操作,能够正常登录2所输入的用户名或密码错误在“用户名”输入框输入数据在“密码”输入框输入数据点击“登录”按钮若输入用户名不是“aaa”或密码不是“aaaaa”的情况下,点击“登录”按钮,用户名和密码的输入框会标红并提示“用户名或密码错误”少输入,比如用户名:aa多输入,比如密码:aaaaaa输入用户名区分大小写英文,比如:AAA输入密码区分大小写英文,比如:AAAAA输入错误的用户名或密码不输入用户名和密码,点击“登录”输入用户名不是“aaa”或密码不是“aaaaa”的情况下,点击“登录”按钮,用户名和密码的输入框会标红并提示“用户名或密码错误”输入正确的用户名为“aaa”的情况下,输入大写英文“AAA”能够登录成功用户名输入框没区分大小写3注册界面的跳转点击“创建一个用户账号”若点击“创建一个用户账号”后能够跳转到注册界面点击“创建一个用户账号”后能够跳转到注册界面使用a标签进行注册界面的跳转4勾选“保持登录状态”进行登录输入正确的用户名和密码勾选“保持登录状态”点击“登录”按钮若勾选了“保持登录状态”登录成功后,只要不进行注销操作,重开浏览器访问Jenkins网址依旧保持登录状态勾选了“保持登录状态”登录成功后,只要不进行注销操作,重开浏览器访问Jenkins网址依旧保持登录状态附录三:项目管理模块用例设计用例标识Jenkins_003项目名称Jenkins持续集成系统开发人员×××版本号Jenkinsver.2.190.1用例作者李杰豪模块名称项目管理操作流程设计日期2020-03-02测试方法场景分析法、等价类划分法、边界值分析法测试类型功能测试、黑盒测试、手工测试测试人员李杰豪测试日期2020-03-03用例描述该用例用来测试在“项目管理”功能中能否完成新增项目,并把项目重命名,最后删除项目的功能。前置条件系统已存在用户名为aaa和用户密码为aaaaa的用户信息并已登录编号测试项操作步骤预期结果数据实际结果结果比较说明1新建项目点击“新建Item”跳转到新建任务界面在“输入一个任务名称”输入框输入数据选择“Freestyleproject”选项点击“确定”按钮,跳转到配置项目界面此处不配置项目,直接点击“保存”会跳转到项目“状态”界面若点击“新建Item”会跳转到新建任务界面若不在“输入一个任务名称”输入框输入数据,会提示“该字段不能为空,请输入一个合法的名称”若在“输入一个任务名称”输入框输入错误数据,输入框底部会提示信息若在“输入一个任务名称”输入框输入已存在的任务名称,会提示任务名称已存在若输入正确的任务名称,点击“确定”能够跳转到项目配置界面若点击“保存”后会跳转到项目“状态”界面输入空格输入中文输入数字输入大小写英文输入特殊字符上述数据的各种组合不输入数据输入已有任务的任务名称点击“新建Item”会跳转到新建任务界面不在“输入一个任务名称”输入框输入数据,会提示“该字段不能为空,请输入一个合法的名称”在“输入一个任务名称”输入框输入错误数据,输入框底部会提示信息在“输入一个任务名称”输入框输入已存在的任务名称,会提示任务名称已存在输入正确的任务名称,点击“确定”能够跳转到项目配置界面点击“保存”后会跳转到项目“状态”界面“输入一个任务名称”输入框没有限制字符长度且不区分英文大小写,能输入空格但会自动去空并创建了一个没有任务名的项目且无法操作,部分输入的特殊字符显示为“不安全字符”2重命名项目点击项目“状态”界面左侧的“重命名”选项在“新名称”输入框中进行修改项目名称点击“重命名”按钮若点击“重命名”选项能跳转到项目重命名界面若不进行操作,直接点击“重命名”按钮,会跳转到出错界面提示“新名称与当前名称相同”若“新名称”输入框为空或只有空格,会提示“未指定名称”若“新名称”输入框输入已存在的任务名称,会提示“名称已被使用”输入空格输入中文输入数字输入大小写英文输入特殊字符上述数据的各种组合不输入数据输入已有任务的任务名称点击“重命名”选项能跳转到项目重命名界面不进行操作,直接点击“重命名”按钮,会跳转到出错界面提示“新名称与当前名称相同”“新名称”输入框为空或只有空格,会提示“未指定名称”“新名称”输入框输入已存在的任务名称,会提示“名称已被使用”“新名称”输入框没有限制字符长度且不区分英文大小写,能输入空格但会自动去空,部分输入的特殊字符显示为“不安全字符”3删除项目点击项目界面左侧的“删除Project”选项弹出一个弹窗问是否确定删除项目点击“确定”按钮会跳转回Jenkins首页若点击项目界面左侧的“删除”会弹出弹窗若点击弹出中的确定会跳转回Jenkins首页点击项目界面左侧的“删除”会弹出弹窗点击弹出中的确定会跳转回Jenkins首页附录四:用户界面测试用例用例标识Jenkins_004项目名称Jenkins持续集成系统开发人员×××版本号Jenkinsver.2.190.1用例作者李杰豪模块名称项目管理操作流程设计日期2020-03-02测试方法测试类型用户界面测试测试人员李杰豪测试日期2020-03-03用例描述该用例用来测试在“项目管理”界面是否与需求描述的一致前置条件已经登录了账号编号测试项操作步骤预期结果数据实际结果结果比较说明1新增项目页面点击“新建Item”链接,进入新建任务页面输入任务名称后,点击“确定”按钮,进入项目配置页面点击“保存”进入项目“状态”页面能成功跳转界面;界面布局及其他规范(如:字体)与需求/设计说明书一致;“输入一个任务名称”文本框可输入;错误提示显示信息正确;界面中的确定、保存、应用按钮可用且事件未丢失;任务名称随机可用名称与预期结果一致2重命名项目页面点击“重命名”链接,进入重命名页面输入新名称后,点击“重命名”按钮,进入项目“状态”页面能成功跳转界面;界面布局及其他规范(如:字体)与需求/设计说明书一致;“新名称”文本框可输入;错误提示显示信息正确;界面中的重命名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东理工职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年广东亚视演艺职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 2025年平凉职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年山西金融职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 胸液引流拔管后的护理
- 2025年天津商务职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 教育教学创新发展汇报
- T-CESA 1199-2022 人工智能 智能字符识别技术规范
- 911消防安全日课件
- 6岁中班儿童安全课件
- 停车场管理移交协议书模板
- 医院伦理审查批件
- 电力设备高压试验技能竞赛理论试题库资料500题(含各题型)
- 蓝豆云:2024酒店质检SOP及质检报告
- 奶制品风味物质合成与改良技术
- 2024年6月四川省高中学业水平考试生物试卷真题(含答案详解)
- 云南省昭通市镇雄县2024年小升初数学自主招生备考卷含解析
- 2023-2024学年辽宁省沈阳市南昌中学八年级(下)月考英语试卷(4月份)
- 车间划线执行标准
- 2023学校幼儿园怀旧“六一儿童节”(时光不老追忆童年)主题游园活动策划案-47P
- 幼儿园课件《胆小先生》
评论
0/150
提交评论