appium教学资料

上传人:第*** 文档编号:62558008 上传时间:2018-12-21 格式:PPT 页数:129 大小:3.89MB
返回 下载 相关 举报
appium教学资料_第1页
第1页 / 共129页
appium教学资料_第2页
第2页 / 共129页
appium教学资料_第3页
第3页 / 共129页
appium教学资料_第4页
第4页 / 共129页
appium教学资料_第5页
第5页 / 共129页
点击查看更多>>
资源描述

《appium教学资料》由会员分享,可在线阅读,更多相关《appium教学资料(129页珍藏版)》请在金锄头文库上搜索。

1、Appium自动化测试,培训课程,目录,第一章:了解自动化测试 第二章:手机App自动化测试的初探 第三章:App自动化测试的4大流行测试工具 第四章:appium自动化测试的初步探究(配置与安装) 第五章:appium自动化测试的深入(使用) 第六章:appium自动化测试的API介绍 第七章:appium自动化测试的实战练习,第一章:认识自动化测试,课程目标: 了解自动化测试的基础知识 理解自动化测试的优缺点,1.1:什么是自动化测试(Automation Test) 自动化测试就是把以人为驱动的测试行为转化为机器执行的一种过程。通常情况下,测试人员根据项目组的要求或者根据需求规格说明书在

2、设计了测试用例并通过评审之后,由自动化测试人员尽可能的模拟测试用例中描述的规程一步步编写自动化测试脚本,然后根据得到实际结果与期望结果进行比较。得到测试最后的结果的这么一个过程。称为自动化测试。 常见的自动化测试工具有:QTP、Appium、Selenium、AutoRunner、SilkTest等等,1.2:自动化测试必要条件 1) 需求变动不频繁 自动化测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,会耗费很大一部分时间。如果自动化测试的开发周期超过了手工测试的测试周期

3、,那么这个自动化测试就是失败的(看项目组的具体决策)。 当然,项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。,2) 项目周期足够长 自动化测试需求的确定、的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。 3) 自动化测试脚本可重复使用 如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试

4、人员的练手之作,而并非是真正可产生效益的测试手段了。 4)测试对象能尽可能的被自动化 自动化测试是不是一定要按照需求规格书那样的标准来编写测试脚本?这里的答案就是测试人员能够尽可能达到测试用例的标准即可,因为有些需求是无法用自动化测试来覆盖测试的,自动化测试标准一般在项目开始之初便会制定下来,比如完成测试用例的70%覆盖等等。,1.3:自动化测试的发展历史 1)第一代自动化测试 即自动化测试思想刚开始诞生时,依靠的是传统的“录制-回放”技术,这种技术与现在的工具的“录制-回放”思想不一样,其其实就是一个“模拟”的过程,即模拟你对PC的操作而形成的,其基于你对键盘的输入与对鼠标的操作,原理与按键

5、精灵等类似,这种机制对环境的依赖性太强,对变化性太过于敏感,因此不可能发展成一种规模。 2)第二代自动化测试 即脚本化的自动化测试,利用脚本进行结构化的自动化测试,此可以应用于CLI与API的自动化测试,在其就开始集成了模块化与库思想。 3)第三代自动化测试 开始产生了各种自动化测试思想,包括数据驱动与关键字驱动思想,其伴随着对象化思想的产生,而且也造就了现在一系列的自动化测试软件,其实其中都集成了这些思想,从这时候开始,自动化就开始实现了一定的规模,开始运用在各个行业,并且发展趋势越来越快。,1.4:自动化测试的应用场景 自动化测试一般应用于功能测试和回归测试更佳,在功能测试和回归测试的环节

6、下可以减少版本迭代时间的测试时间周期。,1.5:自动化测试的流程 1)自动化测试需求的分析 在项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便与以后测试框架的建立。 2)根据项目情况选择相应的自动化测试工具 在需求既定的情况下,通常项目组会根据项目的实际情况选择相应的自动化测试工具,比如网页web测试的话选择selenium、UFT等测试工具等等,选择好了自动化测试工具后才能更好的进行自动化测试。 3)自动化测试工具的环境搭建。 选择好了相应的自动化测试工具后就

7、搭建相应的自动化测试的环境 4)项目版本发布下来后,根据测试用例编写自动化脚本 5)执行测试用例、出具测试报告,1.6:自动化测试的优缺点 1)优点: 提高测试效率和降低测试成本 实现快速的回归测试,加快测试进度从而加快产品发布进度 更多的测试,提高测试覆盖率 保证一致性 提高测试的可靠性,避免人为因素 2)缺点: 时间周期长、对测试人员技术要求高,第二章:手机App自动化测试的初探,课程目标: 1:了解手机app自动化测试主流工具 2:熟悉手机app自动化测试流程 3:了解进行app自动化测试测试人员需要的技能,2.1:App自动化测试的解决方案(工具),2.1.1:calabash(ios

8、/android)介绍: calabash是一款适用于ios、Android平台的跨平台应用的测试框架,支持cucumber,开源并且免费,录属于Xamarin公司。通过calabash开发者可以对应用进行应用多方位的测试,比如截图/手势识别/实际功能代码等等。但是目前国内的论坛较少。,2.1.2:Frank(iOS)介绍: Frank也是一款深受开发者喜爱的iOS应用测试框架,该框架可以模拟用户操作对应用程序进行黑河测试,并帮助cucumber作为自然语言来编写测试用例。此外,Frank还会对应用测试操作进行记录,以帮助开发者进行测试回顾,2.2:业界流行框架的综合对比,2.3:app自动化

9、测试的应用场景 App自动化测试应用的场景可以是在功能测试以及回归测试和兼容性测试(android手机上非常有必要)上,对于比较好的app产品,如果只是简单的版本功能的新增,在兼容性上可以采用自动化测试,而针对升级的功能的部分可以采用手工测试代替自动化测试。,2.5:App自动化对测试人员的技能要求: 1)计算机或通讯相关专业大专及以上学历,2年以上测试或者开发工作经验 2)至少熟练掌握一种编程语言,有Java/Python等使用经验者优先 3)熟悉App自动化测试及性能测试和接口测试工作 4)熟悉Xcode,Android Studio,Android SDK的使用 5)具有集成测试或白盒测

10、试能力的优先 6)熟悉相关的测试流程、测试方法、测试等基本原理,第三章:App自动化工具的使用介绍,课程目标 1:了解常用的几种自动化工具 2:初步掌握常用的自动化工具的使用方法,3.1:App常用的自动化工具的分类: 1:Monkey 2:Monkeyrunner 3:selendroid 4:Appium(之后介绍),3.2:Monkey介绍: 3.2.1:什么是Monkey测试 Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。另外Monkey不是一个完全的自动化测试工具,它更多的应用于android的UI

11、的健壮性测试上。 3.2.2:Monkey测试的使用操作步骤: 1)下载安装android SDK SDK里提供了一个android的模拟器在里面,同时也提供了uiaotomatorviwer的视图查看工具,之后我们会利用Monkey结合android的虚拟机进行Monkey测试 2)配置android的环境变量 在window下先配置ANDROID_HOME环境,再配置path变量,具体操作如下:,a:配置SDK的ANDROID_HOME变量 b:配置path变量: %ANDROID_HOME%platform-tools;%ANDROID_HOME%tools;,3)进入adb shell

12、 使用monkey测试 操作步骤: a:在cmd命令框下输入 emulator avd test (备注:test为你本机的模拟器名称) b:打开windows下的CMD的命令框,输入adb shell c:在adb shell下进入data下的data目录,查看你需要进行Monkey测试的应用包名 d:输入monkey p packagename v times 。其中packagename是包名的参数 times是你要施加测试的次数,比如:1000 比如输入:monkey p com.example.sellclientapp v 1000 此时Monkey会向模拟器的sellclient

13、app应用发送1000个伪点击事件,达到健壮性测试的效果。 下图所示:,Monkey测试的操作结果:,3.3:MonkeyRunner的使用 3.3.1:MonkeyRunner简介 monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您

14、当然也可以将其用于其它目的。 另:monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。,3.3.2:MonkeyRunner的特性: 1).多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。 2

15、)功能测试: monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。 3)回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。 4) 可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunner API之外,您还可以使用标准的Python os和subpress模块来调用如adb这样的Android工具。 您还可以向monkeyrunner API中添加

16、您自己的类。,3.3.3:monkeyrunner的示例脚本,3.3.4:monkeyrunner部分Api 1)安装软件:installPackage(路径) 比如:device=mr.WaitForConnection() device.installPackage(myproject/bin/MyApplication.apk) 2)卸载removePackage (路径) 比如:device=mr.WaitForConnection() removePackage(myproject/bin/MyApplication.apk) 3)等待时间的设定:MonkeyRunner.sleep(seconds) 比如:MonkeyRunner.sleep(20) 4)唤醒屏幕:MonkeyRunner.wake() 5)触摸屏幕: device.touch(10,20,DOWN_AND_UP),6)执行adb shell指令:device.shell(“xxx“)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 规章制度

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号