欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于携程APP的自动化测试技术的研究与分析.doc

    • 资源ID:96763364       资源大小:2.72MB        全文页数:47页
    • 资源格式: DOC        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于携程APP的自动化测试技术的研究与分析.doc

    广东东软学院本科生毕业设计(论文)摘要随着互联网技术的高速发展以及软件技术的日益提高,软件产品的应用更加广泛,功能也更加的复杂。人们对软件的质量的要求越来越高,正因为如此,软件测试在软件开发的过程中更是必不可少的一步,软件测试是用来验证一个软件能否达到它所需要达到的功能,因此,它在软件开发的过程中起着关键的保证质量的活动。常见的软件测试一般是手动测试以及自动化测试,但伴随着软件规模的扩大,手动测试的缺点日益暴露,效率很低以及测试速度非常缓慢。而自动化测试是具备良好的操作性,能够有效的提高测试效率,减少繁琐的测试过程,对比之下,自动化测试技术在大型移动应用中运用更加广泛。 自动化测试“携程”APP的研究与分析是本次课题的主要内容,本次课题选择自动化测试工具Appium来进行对“携程”APP的研究,根据用户的需求分析以及对软件的测试用例,在virtualbox虚拟机上,在linux系统安装Appium和搭配测试环境,利用Python语言,连接Android手机对APP进行自动化测试。关键词:自动化测试 Appium Android APPAbstractWith the rapid development of Internet technology and the improvement of software technology, the application of software products is more extensive and the function is more complex. People are more and more interested in the quality of software. Because of this, software testing is an essential step in the process of software development. Software testing is used to verify whether a software can achieve the functions it needs to achieve. Therefore, it plays a key role in the process of software development to ensure the quality of activities Common software testing is generally manual testing and automated testing, but with the expansion of software scale, the shortcomings of manual testing are increasingly exposed, the efficiency is very low and the testing speed is very slow. And automated testing has good operability, which can effectively improve the efficiency of testing and reduce the tedious testing process. In contrast, automated testing technology is more widely used in large-scale mobile applications.The research and analysis of automated test "Ctrip" app is the main content of this project. In this project, we choose the automated test tool Appium to study the "Ctrip" app. According to the user's demand analysis and the test case of the software, on the VirtualBox virtual machine, install the Appium in the Linux system and the matching test environment, and use Python language to connect the Android mobile phone to the app Conduct automated testing.Key words: Automated testing Appium Android App 目 录第一章 绪论11.1课题研究背景11.2课题研究目的与意义11.3国内外研究现状11.4课题研究的主要内容21.5本章小结2第二章 自动化测试工具的研究32.1自动化测试的研究32.2自动化测试软件工具的研究32.3测试工具在测试中的共同点及差异42.4本章小结4第三章 自动化测试工具APPIUM的原理以及配置53.1Appium的基本原理53.2测试环境的配置53.2.1 VirtualBox配置63.2.2 Jdk、Nodejs配置83.2.3 Android-SDK配置83.2.4 Python配置93.2.5 Appium配置103.3本章小结10第四章 基于携程APP的自动化测试的研究与分析114.1测试功能需求分析114.1.1功能分析114.1.2业务图分析124.2测试流程144.3测试进度安排144.4测试环境搭建144.5测试用例设计154.5.1城市选择、底部控件模块用例设计154.5.2查询酒店模块用例设计164.5.3商家详情及子页面模块用例设计174.6测试脚本设计174.6.1城市选择、底部控件模块脚本设计174.6.2查询酒店模块脚本设计184.6.3商家详情及子页面模块脚本设计184.6.4核心脚本194.7本章小结20第五章 测试实施过程以及结果分析215.1测试实施215.2测试结果分析235.2.1城市选择、底部控件模块用例设计执行结果分析245.2.2查询酒店模块用例设计执行结果分析255.2.3商家详情及子页面模块用例执行结果分析265.3测试问题以及解决方案275.4本章小结28第六章 总结与展望296.1总结296.2后续研究展望296.3本章小结30参 考 文 献31致谢32附录33附录一:城市选择、底部控件用例设计表33附录二:查询酒店控件及子页面用例设计表34附录三:商家详情及子页面用例设计表36图表目录图1 APPIUM工作原理7图2 virtualbox管理器首页8图3 创建虚拟硬盘9图4 安装界面9图5 安装完成10图6 java版本信息10图7 node版本信息10图8 android配置成功11图9 python版本信息查询11图10 python安装完成信息12图11 Appium版本信息12图12 携程app功能点13图13 总体框架14图14 选择城市、底部控件模块业务流程14图15 查询商家控件模块业务流程15图16 商家详情和子页面模块业务流程15图17 城市选择、底部控件模块用例设计18图18 查询酒店模块用例设计19图19 商家详情及子页面模块用例设计20图20 城市选择、底部控件模块主要脚本21图21 查询酒店模块主要脚本21图22 商家详情及子页面模块主要脚本22图23 连接真机主要脚本23图24 测试实施流程24图25 打开Appium25图26 打开UIAutomator定位控件25图27 编写代码进行测试26图28 结果分析27图29 测试缺陷分析27图30 城市选择、底部控件模块用例设计执行结果28图31 查询酒店模块用例设计执行结果29图32 商家详情及子页面模块用例执行结果29表1 测试流程15表2 测试进度安排15表3 测试环境搭建1640广东东软学院本科生毕业设计(论文)第一章 绪论1.1课题研究背景随着科技的发展,互联网技术的广泛普及,互联网越来越侵占着人们的日常生活,人们越来越依赖手机生活,所以,移动手机的应用各自相互竞争,面对用户数量的不断提高,软件技术也应该随之提高,满足于客户的各种需求,秉持“以客户为中心”的原则,“吃喝玩乐出行”都能在一个软件上应用,开发出携程软件。携程是从1999年开始运行,随着互联网的不断发展,携程软件用户的不断增加,在用户数量不断增长,软件达到一定负荷,软件质量也显得越来越重要。而人工测试,在大用户量的情况下,显得心有余而力不足。因此,自动化测试则显得更加有用了。自动化测试技术能够提高测试效率,减少不必要的工作,降低工作繁琐性,而Appium的自动化测试显得尤为突出,它可以反复利用测试用例,速度快并且能够节省很多时间和精力,适用于周期时间长且界面稳定需求的项目。尽管自动化测试有非常多的优点,但这并不意味着自动化测试就能取代手工测试,它们都有各自的优缺点,在各自合适的范围内选择不同的测试方式或者联合使用,都能够保证稳定质量的要求。1.2课题研究目的与意义本课题是基于携程APP的自动化测试技术的研究与分析,即根据自动化测试对携程进行测试,自动化测试技术,能够检验一个软件功能的完整度和成熟度,有效的检查软件的功能性,在一个项目周期时间只有仅仅几个月的话,对测试人员的压力非常大,手工测试需要大量的时间以及繁琐,而自动化测试技术能够有效缩短时间,提高工作效率5。自动化测试技术能够将测试脚本重复利用,具有有效的可操作性。在面对携程用户量这么大的软件,以及功能点非常多的软件,手工测试往往显得繁琐而不能达到工作效率,用自动化测试技术能够节省大量的人力资源和物力,能够有效提高测试效率,保证软件的质量。1.3国内外研究现状自动化测试分为广义和狭义,广义即利用所有工具的来辅助或者代替手机测试的行为都能够称之为自动化。而在狭义上来说,即通过重复利用脚本来执行测试用例,验证软件功能,达到质量要求。自动化测试技术发展可以划分为四个阶段,它最早是出现在20世纪90年代初期,这个时候它是通过硬件方式对录制键盘的输入以及操作的过程,其重复播放测试过程,能够提高一定的测试效率,但它没有对功能点的特定的检查,导致操作会比较混乱,并且对脚本的维护艰难。在90年代后期,自动化测试技术的发展由硬件变为软件,相比90年代初期,它添加了对检查点的功能,对软件可以进行验证,但是对测试人员的难度也有一定的增加,即测试人员需要懂程序上的语言,当软件产生一定变动时,可以进行修改。第三阶段开始,自动化测试开始叫做测试框架,即把测试的脚本进行抽象化,对非专业的技术人员来说,可以在不了解程序如何写时,也能对自动化测试工具进行测试。而第四阶段也就是现在正在发展的阶段中,自动化测试更专注于一项业务的需求。它能够更加适用于测试项目复杂并且其工作量大的需求上,在长时间的测试过程中不断进行发现问题完善软件。对测试速度和测试的精准度也有一定的提高。而自动化测试工具Appium能够跨语言和平台,它也开始在测试过程中广泛应用。1.4课题研究的主要内容该课题研究了自动化测试含义以及意义,研究在测试中遇到的问题以及Appium的测试框架,主要关于自动化测试携程软件的研究与分析,并且介绍了当下热门的测试工具Appium的应用,以及使用Appium需要安装的软件以及搭配的环境配置。在linux系统下,利用Appium以及搭配好的环境进行“携程”APP的自动化测试,在测试过程中发现问题,总结自动化测试过程的方法, 并对测试过程出现的问题进行分析,保证产品的质量。本次课题研究的主要内容包括以下几个方面:1. 自动化测试的相关定义以及意义的研究;2. Appium的基本原理以及在测试中所需软件的安装和Appium的环境部署;3. 测试需求分析以及测试准备和核心脚本;4. 完成测试之后进行总结和分析。1.5本章小结面对互联网的高速发展,在大型用户数量多的应用上,自动化测试能够有效代替手工测试,简略了手工测试的繁琐性,即自动化测试的可重复性,可以反复利用测试用例进行验证。但自动化测试并不能在所有项目中实行,它也不能完全代替手工测试的地位。在软件测试中最重要是保证软件的质量,理解用户的需求,Appium的自动化测试技术应用范围广,且可使用语言多,可以利用Appium的自动化测试,对用户的操作进行模型,检查软件的功能点以及可能存在的缺陷。第二章 自动化测试工具的研究2.1自动化测试的研究在了解自动化测试之前,我们对软件测试也需要一定的了解。软件测试是在一定的条件下,对项目进行操作,来找出项目中存在的错误和问题。软件测试是利用手动或自动的方式对软件或者某个系统进行测试,检验功能能否符合用户的需求。在移动应用的广泛使用,软件规模也逐渐扩大,而其对应的测试成本也相继提高。在面临软件规模扩大的局面,软件的用户量不断增大,以及功能点不断需要完善的同时,人工测试已经不能满足于需求,而自动化测试技术的优势便凸显出来,它能够集可维护性,高效性、可重复性和兼容性于一体,能够更加快速的发现软件的问题,找出软件存在的bug,缩短了测试时间。自动化测试从大范围来分只是用某种工具或程序的方式来辅助或者代替手工测试的一种测试行为,像我们平常用的自动化测试工具,Selenium是WebUI的自动化测试,Loadrunner性能测试,有些甚至用过自己所写的程序,来生成上百数千的数据,对这些进行执行和操作。从小范围来说,自动化测试即通过借助一些测试工具对脚本进行录制和编写,对脚本进行回放或运行来实行测试用例,代替了人工对相关性能和功能层进行验证。2.2自动化测试软件工具的研究选择自动化测试是为了能够及时发现错误,避免出现人为的错漏,当今,自动化测试工具选择的种类非常多,每款都具有它自己的特点和独特性,而选择到自己项目合适的工具也会比较困难,接下来几款测试工具都会比较常应用于自动化测试。如Monkeyrunner测试工具,用于自动化的功能测试,它支持用python编写代码,但是API太弱,而且它在测试中必须为每个设备编写其脚本,同时在测试程序中的界面都需要调整测试脚本来进行测试;Robotium主要是在对Android平台的应用进行黑盒自动化测试,它支持Android,是基于Instrumentation框架实现测试,Robotium用法比较简单,它能够直接在内部修改对应的数据,属于比较底层的,它支持黑盒测试,但是不能进行跨应用的测试,并且仅支持java语言,它不支持系统的软件交互,同时也不具备录制回放和截图的功能;Ronaorex安卓测试工具,是属于商业应用工具,它能够支持最新的Android版本,具有详细的截屏报告,它适用于后期复杂的测试场景,因为它允许详细声明的程序模块,但它搜索功能比较缓慢,等待时间较长,且只支持apk文件设备的工作。 Appium基于UIAutomator框架,UIAutomator测试相对稳定,且它接口多并且能够简单使用,能够支持操作Android所有的时间,不依赖于坐标控件,结构相对于比较简单,支持语言比较多,但使用它时Android版本必需高于4.0,API17以上,且一般情况下不支持浏览器应用的测试;对比起来,根据测试项目是携程软件,面对用户数量比较大、且功能范围比较大的移动应用,Appium无疑是更加合适本次测试软件的工具,它有着较好的兼容性且使用起来比较成熟稳定,不仅能够支持多语言,也能增加代码的复用性,并且能够直接模拟用户的操作,模拟用户使用的应用的场景,触发相对应的事件,Appium的测试灵活,能够有效的提高测试的工作效率。对比众多测试工具,我们根据对测试项目分析选择测试工具Appium,Appium可以让测试工作者跨平台的使用相同的API来编写测试脚本,兼容性比较好,而且支持多语言的测试工具。2.3测试工具在测试中的共同点及差异这些测试工具,都能够支持安卓测试,并且有一套语言来编译,但每个测试工具也有自己弱点。如Monkeyrunner工具,属于功能测试,但API太弱,使用起来较为麻烦;Ronaorex安卓测试工具,是属于商业应用工具,它搜索功能比较缓慢,等待时间较长;Appium和Robotium都是基于框架实现测试的, Robotium用法比较简单,属于比较底层的,它支持黑盒测试,但是不能进行跨应用的测试,并且仅支持 java语言。对比起来,根据测试项目是携程软件,面对用户数量比较大、且功能范围比较大的移动应用,Appium无疑是更加合适本次测试软件的 工具,它有着较好的兼容性且使用起来比较成熟稳定,不仅能够支持多语言,也能增加代码的复用性,并且能够直接模拟用户的操作,模拟用户 使用的应用的场景,触发相对应的事件,Appium的测试灵活,能够有效的提高测试的工作效率。2.4本章小结使用自动化测试技术时,需了解它的含义,选择自动化测试工具,需了解每个工具的不同用点和它所具备的特点,根据测试项目,选择Appium的测试更加灵活,支持语言较多,且编写代码相对简单,能够了解其代码含义,来模拟用户使用场景,更好的进行测试,来完成测试项目。 第三章 自动化测试工具APPIUM的原理以及配置3.1Appium的基本原理Appium作为一个自动化测试的开源工具,它适用于IOS和Android平台的app应用,也适用于web一些混合应用。Appium是可以多平台合作的工具,即它可以跨平台互相合作,它可以允许测试人员使用一样的API来编写测试脚本在多个平台上,可以重复使用测试代码,增加代码复用性。Appium的框架是由client端即自动化的脚本(自动化脚本可以由多种语言编写,可以是Python,也可以是java)组成,client端是运行代码的机器,它发送自动化的指令给Appium server,而当Appium server收到client的指令后转换为移动端能够识别的指令,再发送给移动设备端,并对移动设备进行操作的过程。Appium工作原理如下图:图1 APPIUM工作原理3.2测试环境的配置本次测试是在linux上进行测试,测试环境的配置一共分为五大部分。一、安装virtualbox虚拟机,在虚拟机上安装ubuntu;二、在ubuntu搭配测试环境,配置JDK、node.js;三、ubuntu配置Android-sdk四、ubuntu配置python五、配置Appium3.2.1 VirtualBox配置首先我们在网上找到virtualbox的安装包,进行下载,安装过程中可以选择软件所放的位置,我选择了D盘。安装完成后,打开软件后,如图:图2 virtualbox管理器首页 在此,我们已经完成了安装虚拟机了,接下来添加虚拟硬盘,在虚拟机上新建,输入虚拟机的名称,文件夹选择是建立此虚拟电脑的存放位置,选择类型和版本,新建虚拟电脑-选择内存-选择硬盘-创建虚拟硬盘-专家模式-选择硬盘大小-创建完成。点击专家模式时,文件位置自己选择,选择文件大小,不然在安装中会导致不够内存,尽量可以将文件大小选择大一点,因为它只是看你所用多少,而不是划分了之后就会用你的多少内存。图3 创建虚拟硬盘点开新建的虚拟电脑,开始启动,开启虚拟机后它会提示你选择iso文件,将文件位置选入进去,因为我已经安装完成了,接下来的安装Ubuntu教程图是由百度上找的。开机后,会出现下面的界面,选择安装Ubuntu:图4 安装界面安装完成后,点击重启即可开始使用图5 安装完成3.2.2 JDK、Nodejs配置将需要安装的都放在一个文件夹,在虚拟机上建立共享文件夹,将共享文件拷贝进到新建立的文件夹,防止权限使用不了。将解压后的JDK保存在local目录下的tools。解压-配置-确认是否安装完成。 查看java是否配置成功 使用命令:java -version,配置成功则会如图所示版本信息:图6 java版本信息Node.js安装下载到安装包,存放在tools目录,进行解压-配置环境变量-检查是否配置成功。node.js配置成功,则会出现如图所示的版本信息:图7 node版本信息3.2.3 Android-SDK配置Android-SDK安装,下载到安装包存放在tools目录下,在linux系统下进行解压-配置环境变量sudo gedit /etc/profile#在profile文件下方添加以下内容 #android export ANDROID_HOME= /home/qyh/software/android-sdk-linux export PATH=$ANDROID_HOME/:$ANDROID_HOME/tools:$ANDROID_HOME/platformtools:$PATH 检查android-sdk是否配置成功,输入android,若出现下图窗口则代表配置成功图8 android配置成功3.2.4 Python配置由于linux本身是自带python,此次安装非内部自带安装版本。1. 查看当前linux系统的python版本 图9 python版本信息查询2. python命令行操作 终端输入python,结果显示python默认的版本为python2.7.6,且使用python2进行操作; 终端输入python2,结果显示python2的版本信息为python2.7.6,且使用python2进行操作; 终端输入python3,结果显示有python3的版本信息为python3.4.3,且使用python3进行操作;3. 在不改变原有python2和python3.4的基础上安装python3.6.9,将安装包存放在目录下tools,解压-配置环境变量-安装(-prefix表示配置的路径,若不添加表示配置到默认路径) 查看python3.6.9是否配置成功,配置成功则会出现以下版本信息:图10 python安装完成信息3.2.5 Appium配置(1) npm使用淘宝镜像安装http:/npm.taobao.org/mirrors/chromedriver(2) 使用cnpm安装,也可以先安装cnpm,安装Appiumnpm install -g cnpm -registry=https:/registry.npm.taobao.orgsudo cnpm install -g Appium(3) 检查Appium是否安装成功图11 Appium版本信息相关工具:pycharm配置PyCharm可以提高效率在用户使用python语言时,在软件上写代码实行测试。3.3本章小结在了解了Appium的基本原理后,在虚拟机上安装Appium及搭配测试环境时,对于刚入手的自动化的新手们说,再搭配环境中会遇到很多问题,有些是电脑本身的问题,而有些是软件自身可能存在的问题,所以在刚入手搭配测试环境时遇到问题时需要有一定的耐心,及时找到问题后进行解决,就能在自动化的路上开启了第一步的胜利。第四章 基于携程APP的自动化测试的研究与分析4.1测试功能需求分析4.1.1功能分析开始测试,app每次会清除数据,对软件初始化,进入软件会询问是否同意,同意并继续,或者不同意则退出,待同意之后会出现三个权限,可允许也可拒绝,都可以进入软件,我用了允许的代码,方便定位,可进行定位,也可自己选地址。进入软件之后,选择城市,自己定位,然后测试底部控件,测试底部控件能跳转页面即可。测试完底部控件之后,返回首页,进入酒店,点击相关控件查看控件能否正常到达, 选择酒店位置,进行查询酒店,进去之后点击地图,点击输入框,搜索火车站,点击地图,选择好评优先,查看列表,重新返回首页进行搜索商家,对商家详情进行测试,测试商家的图片、位置等能否点击,对于有些跳转页面手动输入是不能跳转,得测试中才能体现出来,对于这些页面,可自行增加测试语句进行返回所需要测试的页面。app的功能点如图:图12 携程app功能点主要测试的功能点如图: 图13 总体框架4.1.2业务图分析根据对携程app的业务流程分析,共分为三个模块图分析,第一个模块是选择城市、底部控件模块业务,该模块主要测试城市选择、以及一些底部控件能否跳转页面,该模块业务流程图如下:图14 选择城市、底部控件模块业务流程第二个模块是查询商家控件业务的模块,该模块主要是在查询商家页面时,对该页面的空间进行点击查看能否跳转页面,并且进行范围搜索,所搜城市位置确定酒店位置,该模块业务流程图如下:图15 查询商家控件模块业务流程第三个模块是商家详情子页面模块,该模块主要是在搜索完商家,在商家详情页面中,对该页面控件进行点击查看能否跳转页面,该模块业务流程图如下:图16 商家详情和子页面模块业务流程4.2测试流程表1 测试流程步骤操作操作内容测试人员1测试准备搜集资料,了解测试软件“携程”相关功能需求分析钟惠婷2测试环境配置安装相关软件,搭配好相关的环境部署,确保可以使用。钟惠婷3测试用例的设计根据“携程”软件编写测试用例设计钟惠婷4执行测试执行测试用例钟惠婷5完成测试对测试过程进行分析钟惠婷4.3测试进度安排表2 测试进度安排序号任务负责人开始时间工作日1编写测试功能需求文档钟惠婷2020年2月15日12编写测试计划钟惠婷2020年2月17日23编写测试用例钟惠婷2020年2月20日64制定测试计划钟惠婷2020年2月26日35编写测试脚本钟惠婷2020年2月26日-5执行测试钟惠婷2020年3月7日56分析测试结果钟惠婷2020年3月12日54.4测试环境搭建表3 测试环境搭建类型测试配置测试系统Linux测试工具Appium测试app携程手机型号华为Honor8测试软件Virtualbox、Pycharm4.5测试用例设计4.5.1城市选择、底部控件模块用例设计按照携程APP的测试功能需求分析,由于每一次测试打开软件之后都会重新加载数据,所以在同意并继续,以及选择权限这四个语句必不可少,打开软件之后,会跳出是否需要升级,此时由于初始化加载,升级页面会出现比较缓慢,其中关系网络问题,等待时间可自行设置,。在选择城市上,有定位,也可自行选择城市,返回首页后,测试底部控件,在测试底部控件,只要能跳转页面即可,在跳转过程中关系网络,可自行设置时间,加载页面。城市选择、底部控件用例设计表如图:图17 城市选择、底部控件模块用例设计4.5.2查询酒店模块用例设计按照携程APP的测试功能需求分析,首先进入到酒店,点击查询酒店页面的相关控件,查看能否正常跳转即可。点击位置,搜索城市厦门,此时搜索语句需要两条,第一个是点进去这个搜索页面,而第二个是开始输入,因为它是自带键盘,时间稍微久了点,需耐心等待。输入文本框进行搜索时,因为此时搜索的内容是会出现的关键字都是你输入的内容,所以此时需另外找一个与搜索内容无关的进行点击,才能选择,选择结束后查询酒店,进入查询页面后,再次点击搜索框,确定该城市的位置点,此时的输入文本同样需要多条搜索语句来支撑,确定范围之后,点击地图,选择欢迎度排序,此时只查看一个欢迎度,确定一个小范围,再重新返回列表,看再一次的筛选,点击完一些子页面之后,即查看能否到达首页,此时的位置都是由自行输入来确定的。查询酒店用例设计表如图:图18 查询酒店模块用例设计4.5.3商家详情及子页面模块用例设计按照携程APP的测试功能需求分析,在首页搜索框中输入“小梅沙海洋世界”,输入文本进行查询,由于涉及网络问题,此时加载页面需设置一定时间,否则跳转不过,在进入到商家页面时,对商家页面的空间进行测试,能跳转页面即可,在测试中,出现手动测试跳转不出来,而代码运行时另外跳转出来的页面,进行脚本编写,重新返回所需要测试的页面。商家详情及子页面设计用例表如图:图19 商家详情及子页面模块用例设计4.6测试脚本设计4.6.1城市选择、底部控件模块脚本设计根据城市选择、底部控件模块用例设计,编写该模块测试脚本,该模块脚本主要是进入APP后的初始化“同意并继续”以及“允许”权限,还有取消更新的脚本,在取消更新中间,应设置相应的时间等待,出现“取消更新”页面,并且对城市以及底部控件进行测试,达到加载页面即可。该模块主要测试脚本如图:图20 城市选择、底部控件模块主要脚本4.6.2查询酒店模块脚本设计根据查询酒店模块用例设计,编写该模块测试脚本,该模块脚本主要在于查询页面中,有些页面加载缓慢,需要设置等待时间进行缓冲,当一些控件无法追查到该元素时,则使用“driver.keyevent”语句进行返回待测页面,在进入搜索框时,需要进行点击搜索框两次以唤醒键盘输入,该模块主要测试脚本如图:图21 查询酒店模块主要脚本4.6.3商家详情及子页面模块脚本设计根据商家详情及子页面模块用例设计,编写该模块测试脚本,该模块脚本设置主要是在搜索“小梅沙海洋世界”时,搜索加载页面比较久,需要设置一定时间等待,否则会出现错误,在进入商家页面时也一样,需设置一定时间等待,点击商家详情控件时,会出现加载页面缓慢,需设置时间等待,详情控件能够加载页面即可,该模块主要脚本如图:图22 商家详情及子页面模块主要脚本4.6.4核心脚本如上面几个脚本图所示,测试代码比较简单,都是一些关键定位语句,代码较容易理解,测试实施代码只需要能达到页面即可。关键是app的package和avtivity,它的包名和活动名需要在进入软件一开始就去截取它的包名,不然会识别不了包名导致无法进入软件,主要核心代码有:1.此段代码主要是和Appium连接,将需要连接的真机信息写入,让Appium识别到手机,并进行测试。图23 连接真机主要脚本2.driver.find_element_by_id()定位元素这条语句主要依托id,即查看它的resource-id属性,来确定控件的定位,确定元素。3.driver.find_element_by_xpath()定位元素这条语句主要是通过元素的text属性,来确定元素定位。4.7本章小结根据测试用例,脚本运行,基本能完成测试用例设计,在测试中,需要清楚测试流程,按照测试需求分析,了解测试的业务流程图,按照业务流程图来一步一步测试,防止出现遗漏测试。在开始测试之前,需将测试文档以及进度等人员安排规划好,在按照文档进行测试的过程中,需要不断结合用户的角度去测试,将自己置身于用户当中区体验使用时的观点,总结自己的错误并想办法改正。第五章 测试实施过程以及结果分析5.1测试实施在测试用例设计的完成和环境的条件等部署的完成,开始实行测试。在测试过程中,应该熟悉测试用例,根据制定的测试计划执行用例设计,并对测试结果进行查看,判断测试用例能否达到预期结果,查看执行能否成功。当测试中发现有错误时,需仔细查看错误分析,对脚本进行修改,查看脚本问题以及是否哪里错误,并且加以修改,完成对测试用例的总结,反复提高脚本的正确性,当无法达到当前测试用例页面时,需仔细查找原因加以修改,完成测试。测试流程如图:图24 测试实施流程开始测试图如下图展示:图25 打开Appium图26 打开UIAutomator定位控件图27 编写代码进行测试5.2测试结果分析根据不同模块需求分析,设计测试用例以及脚本,按照测试计划实施测试。不同模块用例以及脚本程度都不一样,执行程度全部完成。在实施测试中,会遇到app的更新,随着页面的更新,有些定位控件会不一样,有些代码也需要修改,如图28是用例、脚本设计以及执行情况。同时会在接下去的小节中具体分析各模块的用例、脚本以及执行情况。图28 结果分析在测试完成之后,分析缺陷导致原因,缺陷分析如下图:图29 测试缺陷分析5.2.1城市选择、底部控件模块用例设计执行结果分析根据城市选择、底部控件的用例设计,编写其城市选择、底部控件的脚本,每次开启软件后,测试的脚本必不可少同意与继续,允许权限、取消升级等几句,在编写脚本时,需设置时间等待取消升级这个页面出来,进行加载,执行脚本时,该模块都能达到测试需求的功能,能顺利进入到软件,以及选择城市,并且对底部的控件进行切换,能顺利跳转页面。总结该模块的脚本运行成功,能达到用例设计的预期结果,即验证该模块功能成功。图30 城市选择、底部控件模块用例设计执行结果5.2.2查询酒店模块用例设计执行结果分析根据查询酒店的用例设计,编写其查询酒店的脚本,脚本编写时,由于有些跳转页面时间比较久,所以在脚本编写时,对于一些页面加载慢的,设置了等待时间,这样能够加载页面,不会出现错乱。该模块达到测试需求的要求,能够在查询页面选择想要的城市,进行加载酒店,在加载酒店页面,能够对该城市选择一个点筛选酒店,并且能够点击地图,筛选条件,重新返回酒店列表,最后返回首页。该模块由于涉及输入文本的操作,需对输入框的id进行二次编写,唤起Appium的自带键盘,也需将手机键盘输入调至26键,否则会出现乱码的现象。当输入完成之后,需选择域输入文本不一样的id或xpath进行定位,否则会导致无法定位元素。总结该模块虽然在输入文本会等待一定时间,但脚本运行成功,能达到测试用例的预期结果,即验证该模块功能成功。图31 查询酒店模块用例设计执行结果5.2.3商家详情及子页面模块用例执行结果分析根据商家详情和子页面的用例设计,编写其商家详情及子页面的脚本,该模块脚本是在继第二个模块返回首页之后进行的搜索,在脚本设计中,主要对搜索时页面加载的时间进行设置,该设置时间为10s,且进入商家详情之后,在点击商家详情的控件时,需对这些跳转页面进行设置时间等待,否则会导致无法加载页面而产生错误,该脚本设计主要是能够达到页面即可,总结该模块即使有些页面跳转比较缓慢,但都能够达到测试设计的预期结果,即该模块功能验证成功。图32 商家详情及子页面模块用例

    注意事项

    本文(基于携程APP的自动化测试技术的研究与分析.doc)为本站会员(封****n)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开