appium教学资料_第1页
appium教学资料_第2页
appium教学资料_第3页
appium教学资料_第4页
appium教学资料_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇聚智慧,动力无限汇聚智慧,动力无限 Appium自动化测试自动化测试培训课程培训课程汇聚智慧,动力无限汇聚智慧,动力无限目录目录第一章:了解自动化测试第二章:手机App自动化测试的初探第三章:App自动化测试的4大流行测试工具第四章:appium自动化测试的初步探究(配置与安装)第五章:appium自动化测试的深入(使用)第六章:appium自动化测试的API介绍第七章:appium自动化测试的实战练习汇聚智慧,动力无限汇聚智慧,动力无限第一章:认识自动化测试第一章:认识自动化测试 课程目标: 了解自动化测试的基础知识 理解自动化测试的优缺点汇聚智慧,动力无限汇聚智慧,动力无限 1.1: 自

2、动化测试就是把以人为驱动的测试行为转化为机器执行的一种过程。通常情况下,测试人员根据项目组的要求或者根据需求规格说明书在设计了测试用例并通过评审之后,由自动化测试人员尽可能的模拟测试用例中描述的规程一步步编写自动化测试脚本,然后根据得到实际结果与期望结果进行比较。得到测试最后的结果的这么一个过程。称为自动化测试。常见的自动化测试工具有:QTP、Appium、Selenium、AutoRunner、SilkTest等等汇聚智慧,动力无限汇聚智慧,动力无限1) 需求变动不频繁 自动化测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相

3、关的测试脚本,而脚本的维护本身就是一个代码开发的过程,会耗费很大一部分时间。如果自动化测试的开发周期超过了手工测试的测试周期,那么这个自动化测试就是失败的(看项目组的具体决策)。 当然,项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。汇聚智慧,动力无限汇聚智慧,动力无限 2) 项目周期足够长自动化测试需求的确定、的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。 3) 自动化

4、测试脚本可重复使用如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。 4)测试对象能尽可能的被自动化自动化测试是不是一定要按照需求规格书那样的标准来编写测试脚本?这里的答案就是测试人员能够尽可能达到测试用例的标准即可,因为有些需求是无法用自动化测试来覆盖测试的,自动化测试标准一般在项目开始之初便会制定下来,比如完成测试用例的70%覆盖等等。汇聚智慧,动力无限汇聚智慧,动力无限1 1)第一代自动化测试即自动化测试思想刚开始诞生时,依靠的是传统的“录制-回放”

5、技术,这种技术与现在的工具的“录制-回放”思想不一样,其其实就是一个“模拟”的过程,即模拟你对PC的操作而形成的,其基于你对键盘的输入与对鼠标的操作,原理与按键精灵等类似,这种机制对环境的依赖性太强,对变化性太过于敏感,因此不可能发展成一种规模。 2 2)第二代自动化测试即脚本化的自动化测试,利用脚本进行结构化的自动化测试,此可以应用于CLI与API的自动化测试,在其就开始集成了模块化与库思想。 3 3)第三代自动化测试开始产生了各种自动化测试思想,包括数据驱动与关键字驱动思想,其伴随着对象化思想的产生,而且也造就了现在一系列的自动化测试软件,其实其中都集成了这些思想,从这时候开始,自动化就开

6、始实现了一定的规模,开始运用在各个行业,并且发展趋势越来越快。汇聚智慧,动力无限汇聚智慧,动力无限自动化测试一般应用于功能测试和回归测试更佳,在功能测试和回归测试的环节下可以减少版本迭代时间的测试时间周期。汇聚智慧,动力无限汇聚智慧,动力无限 1)自动化测试需求的分析在项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便与以后测试框架的建立。2)根据项目情况选择相应的自动化测试工具在需求既定的情况下,通常项目组会根据项目的实际情况选择相应的自动化测试工具,比如网页w

7、eb测试的话选择selenium、UFT等测试工具等等,选择好了自动化测试工具后才能更好的进行自动化测试。 3)自动化测试工具的环境搭建。选择好了相应的自动化测试工具后就搭建相应的自动化测试的环境 4)项目版本发布下来后,根据测试用例编写自动化脚本 5)执行测试用例、出具测试报告汇聚智慧,动力无限汇聚智慧,动力无限 1)优点: 提高测试效率和降低测试成本 实现快速的回归测试,加快测试进度从而加快产品发布进度 更多的测试,提高测试覆盖率 保证一致性 提高测试的可靠性,避免人为因素 2)缺点: 时间周期长、对测试人员技术要求高汇聚智慧,动力无限汇聚智慧,动力无限第二章第二章:手机手机App自动化测

8、试的初探自动化测试的初探课程目标:1 1:了解手机:了解手机appapp自动化测试主流工具自动化测试主流工具2 2:熟悉手机:熟悉手机appapp自动化测试流程自动化测试流程3 3:了解进行:了解进行appapp自动化测试测试人员需要的技能自动化测试测试人员需要的技能汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限 2.1.1:calabash(ios/android)介绍:calabash是一款适用于ios、Android平台的跨平台应用的测试框架,支持cucumber,开源并且免费,录属于Xamarin公司。通过calabash开发者可以对应用进行应用多方位的测试,

9、比如截图/手势识别/实际功能代码等等。但是目前国内的论坛较少。汇聚智慧,动力无限汇聚智慧,动力无限 2.1.2:Frank(iOS)介绍:Frank也是一款深受开发者喜爱的iOS应用测试框架,该框架可以模拟用户操作对应用程序进行黑河测试,并帮助cucumber作为自然语言来编写测试用例。此外,Frank还会对应用测试操作进行记录,以帮助开发者进行测试回顾汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限 App自动化测试应用的场景可以是在功能测试以及回归测试和兼容性测试(android手机上非常有必要)上,对于比较好的app产品,如果只是简单的版本功能的新增,在兼容性上可

10、以采用自动化测试,而针对升级的功能的部分可以采用手工测试代替自动化测试。汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限1)计算机或通讯相关专业大专及以上学历,2年以上测试或者开发工作经验2)至少熟练掌握一种编程语言,有Java/Python等使用经验者优先3)熟悉App自动化测试及性能测试和接口测试工作4)熟悉Xcode,Android Studio,Android SDK的使用5)具有集成测试或白盒测试能力的优先6)熟悉相关的测试流程、测试方法、测试等基本原理汇聚智慧,动力无限汇聚智慧,动力无限第三章:第三章:App自动化工具的使用介绍自动化工具的使用介绍 课程目标

11、课程目标 1:了解常用的几种自动化工具 2:初步掌握常用的自动化工具的使用方法汇聚智慧,动力无限汇聚智慧,动力无限 3.1:App常用的自动化工具的分类:1:Monkey2:Monkeyrunner3:selendroid4:Appium(之后介绍)汇聚智慧,动力无限汇聚智慧,动力无限 3.2:Monkey介绍:3.2.1:什么是Monkey测试 Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。另外Monkey不是一个完全的自动化测试工具,它更多的应用于android的UI的健壮性测试上。3.2.2:Monke

12、y测试的使用操作步骤: 1)下载安装android SDKSDK里提供了一个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)进

13、入adb shell 使用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会向模拟器的s

14、ellclientapp应用发送1000个伪点击事件,达到健壮性测试的效果。下图所示:汇聚智慧,动力无限汇聚智慧,动力无限 Monkey测试的操作结果:汇聚智慧,动力无限汇聚智慧,动力无限 3.3:MonkeyRunner的使用3.3.1:MonkeyRunner简介 monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具

15、的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。另:monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。汇聚智慧,动力无限汇聚智慧,动力无限3.3.2:MonkeyRunner的特性: 1).多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依

16、次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。 2)功能测试: monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。 3)回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。 4) 可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunner API之外,您还可以使用标准的Python

17、 os和subpress模块来调用如adb这样的Android工具。您还可以向monkeyrunner API中添加您自己的类。汇聚智慧,动力无限汇聚智慧,动力无限3.3.3:monkeyrunner的示例脚本汇聚智慧,动力无限汇聚智慧,动力无限 3.3.4:monkeyrunner部分Api1)安装软件:installPackage(路径) 比如:device=mr.WaitForConnection() device.installPackage(myproject/bin/MyApplication.apk) 2)卸载removePackage (路径) 比如:device=mr.Wai

18、tForConnection() 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) 7) home键:KEYCODE_HOME back键:KEYCODE_BACK send键:KEYCODE

19、_CALL end键:KEYCODE_ENDCALL 上导航键:KEYCODE_DPAD_UP 下导航键:KEYCODE_DPAD_DOWN 左导航:KEYCODE_DPAD_LEFT 右导航键:KEYCODE_DPAD_RIGHT ok键:KEYCODE_DPAD_CENTER 上音量键:KEYCODE_VOLUME_UP 下音量键:KEYCODE_VOLUME_DOWN power键:KEYCODE_POWER camera键:KEYCODE_CAMERA menu键:KEYCODE_MENU 举例用法: device.press(KEYCODE_HOME,DOWN_AND_UP),点击h

20、ome键 8) 重启设备:device.reboot() 9)拖动, device.drag(200,300),(100,300),0.1,1) 其中:0.1为拖动时间,1为次数 10) device = MonkeyRunner.waitForConnection()if not device:print Please connect a device to start!else:print Start 汇聚智慧,动力无限汇聚智慧,动力无限 3.3.5MonkeyRunner上机任务: 写出sdk自带模拟器的计算器测试脚本,自动化测试内容:1:随机产生10个数,每出现一个数就点击计算器的一个

21、数字按键(提示:if语句)2:截图,截图后对比前后2张截图相识度为90%的情况,提示(sameas)汇聚智慧,动力无限汇聚智慧,动力无限 3.4.1:selendroid的简介 Selendroid 是一个测试自动化框架,支持 Android 的原生应用,混合应用和移动 Web。软件测试工程师可以使用 Selenium 2 的客户端 API 来写自动化测试脚本。Selendroid由eBay Software FoundationeBay Software Foundation发起的一个开源项目,由众多人士支持。目前代码 base 在github上。 3.4.2:selendroid支持的设备

22、Selendroid 支持且仅支持 Android 的模拟器和真机。同时可以集成到 Selenium Grid 中去 进行大规模或者并发测试。汇聚智慧,动力无限汇聚智慧,动力无限 3.4.3:selendroid的特性:完全兼容 Webdriver 的 JSON Wire Protocol(基于selenium2生成)不需要为了自动化修改被测应用使用一个 Android webview 应用来测试移动网页原生和混合应用自动化采用同样的理念使用不同的定位方式来查找 UI 元素支持手势:高级用户交互接口Selendroid 可以同时和多台设备(模拟器或者真机)交互可以自动启动模拟器.汇聚智慧,动力

23、无限汇聚智慧,动力无限 3.4.4:Selendroid 有四大组件:1)Selendroid-Client:Java 客户端,连接java客户端(基于Selenium Webdriver API 实现的)2)Selendroid-Server:运行在安卓设备中 instrumentation server。通过selendroid.apk文件HttpServer 实现了 Selenium Webdiver 的协议3)AndroidDriver-App:一个 android webview 应用,用来测试移动网页的。4)Selendroid-Standalone:大管家,负责将 Selendr

24、oid-Server 和 被测应用安装到设备中去,同时负责管理不同的安卓设备。5)其中 selendroid-standalone.jar 包含了 standalone-server, selendroid-server 和 selendroid-client driver。6)启动inspector:http:/localhost:4444/inspector汇聚智慧,动力无限汇聚智慧,动力无限 3.4.5:启动Selendroid:使用大管家selendroid-standalone-version-with-dependencies.jar包启动selendroid模式,然后直接使用以下

25、命令就可以启动: java -jar selendroid-standalone-0.15.0-with-dependencies.jar -app selendroid-test-app-0.15.0.apk-app 参数:android应用的包名 目前selendroid-standalone-version-with-dependencies.jar最新版本是 0.17.0,稳定版本是 0.15.0,我们使用0.15.0版本作为课程的引入Selendroid-standalone会开启一个http服务器,您可以http:/localhost:4444/wd/hub/status来查询你的

26、设备和应用情况。汇聚智慧,动力无限汇聚智慧,动力无限 3.4.6:selendroid启动参数:1)-h, -help-h, -help打印帮助信息2) -port -port指定监听端口,默认 44443) -deviceLog -deviceLog是否激活 adb 日志。4) -logLevel -logLevel指定日志级别,默认是:ERROR,可选有:ERROR,WARNING,INFO,DEBUG 和 VERBOSE汇聚智慧,动力无限汇聚智慧,动力无限 3.4.7:第一个测试用例:python:汇聚智慧,动力无限汇聚智慧,动力无限:Python中webdriver的简介

27、:webdriver的是一个Web应用程序测试自动化工具,用来验证程序是否如预期的那样执行。它的目的是提供一个友好的API,比seleniumRC(1.0)API更容易使用,这将有助于使你的测试脚本更容易阅读和维护。它不依赖于任何特定的测试框架,所以它可以用于单元测试或者一个老式的“main”方法中。汇聚智慧,动力无限汇聚智慧,动力无限 java:汇聚智慧,动力无限汇聚智慧,动力无限3.4.8Selendroid的部分的部分Api介绍介绍(java)1).click(); 对控件进行点击按钮操作 2) sendKeys(); 对控件输入相关文字(汉字除外) 3) Thread.sleep(30

28、00); 暂停好多时间 4) WebElement ele = driver.findElement(By.id(控件的ID名); 获取id控件,操作ID控件 5)WebElement ele = driver.findElement(B(“控件的name名); 6)3.滑动WebElement ele= driver.findElement(By.id(webElementID);TouchActions flick = new TouchActions(driver).flick(ele,对于控件ele滑动到目标位置x轴的位移值, 对于控件ele滑动到目标位置y轴的位移值, 滑

29、动速度)flick.perform(); 7)由于WebElement ele = driver.findElement(By.xpath(“控件的xpath路径”)这种方法在inspector自动生成的脚本中都无法识别,估不建议使用该方法定位元素汇聚智慧,动力无限汇聚智慧,动力无限7)获取控件的值控件为输入框时,返回输入框中的值;控件为按钮时,返回按钮上的值;等等。driver.findElement(By.id(控件的ID名).getText();8)查看控件的类型driver.findElement(By.id(控件的ID名).getTagName()9)判断当前焦点是否在控件上 dri

30、ver.findElement(By.id(控件的ID名).getAttribute(selected);10)判断单选/复选框控件是否被选中 driver.findElement(By.id(控件的ID名).getAttribute(checked);11)判断当前控件是否可用driver.findElement(By.id(控件的ID名).getAttribute(enabled);汇聚智慧,动力无限汇聚智慧,动力无限3.4.9:练习:使用selendroid写出ride应用的登录模块。并输入测试账号密码“123456”,然后点击登录。汇聚智慧,动力无限汇聚智慧,

31、动力无限第四章:第四章:Appium的初步探究的初步探究(安装与配置安装与配置) 4.1:Appium工具的简介:Appium是一个开源、跨平台的测试测试框架,可以用来测试原生及混合的移动移动端应用。Appium支持模拟器(iOS,FirefoxOS,Android)和真机(iOS, Android, FirefoxOS)上的原生应用,混合应用和移动web 应用。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellars对于IOS自动化

32、的研究。Appium也集成了Selendroid,来支持老android版本。(注意: 官方网址:http:/appium.io/。另Android自动化要求:Android SDK API版本 = 17,即android版本高于4.2。Iphone自动化要求在Mac os操作系统,Mac OS X 10.7或者更高版本,其中稳定版本为10.8.4版本。)汇聚智慧,动力无限汇聚智慧,动力无限 4.1.2为什么选择Appium 1)测试人员不用重新编译应用或者以其他方式修改他,因为Appium在所有平台上使用标准的自动化Api 2)测试人员可以使用任何测试框架驱动appium。Appium基于w

33、eb driver协议,该协议已经成为事实上的国际标准。不要把自己锁进一个专有的协议中 3)测试人员可以使用自己喜欢的开发工具,可以使用任何兼容web driver的语言,比如java、object_c、javascript、node.js、php、python等等,并基于selenium webdriver api和特定语言的客户端库来实现自动化测试汇聚智慧,动力无限汇聚智慧,动力无限 4.1.3:Appium的设计理念: 第一:测试人员为了自动化测试而去重新编译应用或者以任何方式修改它 第二:基于Appium编写自动化测试时,不会将测试人员局限在特定的语言和框架上 第三:移动自动化测试框架

34、不应该另起炉灶,搞一套自己独有的自动化API 第四:移动自动化测试框架应该是开源的汇聚智慧,动力无限汇聚智慧,动力无限 4.2:玩转Appium需要的技能:(1)建立自动化思维(2)了解android开发的一些基础原理,比如“package”、 “activity”等(3)具有一定的python或者java基础,建议初学者学python,比较容易。(4)有相关的selenium基础,Appium使用的是selenium webdriver protocol。(5)了解android sdk 和iphone的sdk相关工具的使用汇聚智慧,动力无限汇聚智慧,动力无限4.3:Appium工具的特点:

35、1)你无需为了自动化,而重新编译或者修改你的应用。 2)你不必局限于某种语言或者框架来写和运行测试脚本。 3)一个移动自动化的框架不应该在接口上重复造轮子。(移动自动化的接口应该统一) 4)无论是精神上,还是名义上,都必须开源。(译于官方)4.4:appium支持平台:1)ios2)android3)firefoxos【火狐系统】另:脚本编写可以在linux/mac/windows等系统下进行编写,通常在windows和mac下编写汇聚智慧,动力无限汇聚智慧,动力无限4.5:android自动化真机测试要求:1)android真机测试:a:在desired_caps设置devicename为a

36、ndroidb:代码里appactivity和waitactivity一定要和appium设置的内容一致c:打开android手机的“usb调试”功能汇聚智慧,动力无限汇聚智慧,动力无限2)iphone真机测试:a:需要一个苹果开发者账号和开发者证书b:需要1台mac系统(有 xcode和xcode command line 的 苹果系统)c:iphone的udid与app签名汇聚智慧,动力无限汇聚智慧,动力无限 4.6:appium的inspector的使用条件:1:在真机连接的状态下,并告诉appium你的真机机型名称2:有测试app在windows下的安装路径3:启动inspect的时候

37、点击“refresh”即可汇聚智慧,动力无限汇聚智慧,动力无限 4.7:appium的配置和安装(python)4.7.1安装jdk:步骤一: 安装JDK (版本1.7)选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)如下图所示汇聚智慧,动力无限汇聚智慧,动力无限步骤二:1:安装jdk 随意选择目录 只需把默认安装目录 java 之前的目录修改即可2:安装jre更改 java 之前目录和安装 jdk 目录相同即可注:

38、若无安装目录要求,可全默认设置。无需做任何修改,两次均直接点下一步汇聚智慧,动力无限汇聚智慧,动力无限步骤三: 安装完JDK后配置环境变量 计算机属性高级系统设置高级环境变量 汇聚智慧,动力无限汇聚智慧,动力无限步骤四: 系统变量新建 JAVA_HOME 变量 。变量值填写jdk的安装目录(本人是 C:Javajdk1.7.0) 汇聚智慧,动力无限汇聚智慧,动力无限步骤五:系统变量寻找 Path 变量编辑在变量值最后输入 %JAVA_HOME%bin;%JAVA_HOME%jrebin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码汇聚智慧,动力无限汇聚智慧,动

39、力无限步骤六:系统变量新建 CLASSPATH 变量变量值填写 .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(注意最前面有一点)系统变量配置完毕汇聚智慧,动力无限汇聚智慧,动力无限步骤七:步骤七:检验是否配置成功 运行cmd 输入 java version与javac (java 和 -version 之间有空格)若如图所示 显示版本信息 则说明安装和配置成功。汇聚智慧,动力无限汇聚智慧,动力无限步骤一:点击“python-2.7.5.msi”进行安装。备注:python3.0以上对appium兼容性不是很好,建议2.7版本4.7.2:python客户端的安

40、装汇聚智慧,动力无限汇聚智慧,动力无限步骤二: 配置环境变量在path环境变量下配置python的安装路径汇聚智慧,动力无限汇聚智慧,动力无限步骤三:检查python环境,在cmd命令行中输入:python。出现下图所示验证安装成功汇聚智慧,动力无限汇聚智慧,动力无限4.7.3:安装apache Ant步骤一:安装Apache Ant(/bindownload.cgi)。解压缩文件夹,并把路径加入环境变量:变量:path:ANT_HOME D:antapache 环境变量:path %ANT_HOME/bin汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,

41、动力无限汇聚智慧,动力无限步骤二:验证ant-apache是否安装成功 cmd输入ant即可,显示下图代表安装成功汇聚智慧,动力无限汇聚智慧,动力无限4.7.4:安装配置Android sdk步骤一:下载最新版本的sdk配置运行环境配置变量:ANDROID_HOME:E:adtadtsdk配置path变量:path:%ANDROID_HOME%platform-tools;%ANDROID_HOME%tools;汇聚智慧,动力无限汇聚智慧,动力无限 步骤二:检验sdk环境是否配置成功在cmd窗口下输入adb shell,显示以下内容为配置成功汇聚智慧,动力无限汇聚智慧,动力无限4.7.5 安装

42、配置 appium 步骤一:在windows下我们使用的.exe执行文件,估安装很方便,直接一键安装即可汇聚智慧,动力无限汇聚智慧,动力无限 步骤二:检查appium是否安装成功在cmd中输入:appium-doctor即可,显示下面内容表示安装成功汇聚智慧,动力无限汇聚智慧,动力无限4.7.6:python client 的安装 步骤一:安装python client tar -xvf Appium-Python-Client-X.X.tar.gz(windows上用7zip可以解压) cd Appium-Python-Client-X.X python setup.py install汇聚

43、智慧,动力无限汇聚智慧,动力无限 步骤二:安装pythontools汇聚智慧,动力无限汇聚智慧,动力无限4.7.7:安装appium步骤一:安装汇聚智慧,动力无限汇聚智慧,动力无限 步骤二:配置环境变量配置appium的path变量:D:Appiumnode_modules.bin;D:Appium; 汇聚智慧,动力无限汇聚智慧,动力无限第五章:第五章:appium的使用(的使用(android) 5.1:查看Appium关于webdriver的API- python -m pydoc -p 4567- 浏览器中访问http:/localhost:4567/appium.webdriver.w

44、ebdriver.html- 此时系统就会打印出appium的webdriver的api。汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限5.2:desired_capablitiescaps的用法:1) desired_caps=:先声明desire-caps是一个字典2)desired_capsautomationName:Appium (默认) 或 Selendroid(测试选用引擎)3) desired_capsplatformName:ios或者android或者Firefoxos(测试的系统类型)4) desired_capsplatformVersion:

45、手机的操作系统的版本:4.4.0、ios的8.0等等5)desired_capsdeviceName:手机名称:注意:ios要使用instruments -s devices得到6) desired_capsappPackage:启动的手机app的包名7) desired_capsappActivity:启动的手机app的活动页8) desired_capsbrowserName:启动的手机浏览器:如:ios的Safari,android的Chrome”或者”browser9)desired_capsnewCommandTimeout:命令超时的时间:比如60s汇聚智慧,动力无限汇聚智慧,动力

46、无限10) desired_capsfullReset:重置被测对象数据:true/false11)desired_capsnoReset:不要在回话前重置应用12) desire_capsappWaitActivity:你想要等待启动的活动页13) desire_capsavd :需要启动的安卓模拟器设备14)desire_caps unicodeKeyboard:启动这个输入法,true/false汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限汇聚智慧,动力无限5.3:appium的log日志的分析:启动REST,默认监听本地4723端口,用于接收客户端发过来的JSON格式的命令指

47、示。根据客户端提供的capabilities指示建立一个Android Sesision用于跟客户端保持后续通信汇聚智慧,动力无限汇聚智慧,动力无限通过”adb devices“命令检查安卓手机是否已经准备好通过manifest文件来获取app的activity和package汇聚智慧,动力无限汇聚智慧,动力无限安卓手机shell调用命令获得机器的API Level是否已经超过16.通过adb执行相应的shell命令检查目标应用是否已经存在目标机器上清理目标应用运行环境汇聚智慧,动力无限汇聚智慧,动力无限建立Appium Server到目标机器上的端口转发把AppiumBootstrap.ap

48、k push到目标设备把appium.apk和unlock.apk push到目标机器汇聚智慧,动力无限汇聚智慧,动力无限检查uiautomator是否在运行5.4:appium的录制与回放功能的录制与回放功能appium和其他的自动化测试工具一样,也具有最基础的录制与回放功能,该功能作为自动化测试的入门基础部分,故此需要入门的同学可以学习一下该部分内容,另录制与回放功能在windows下的appium的客户端是没有该功能的,只有在mac的appium客户端才有该功能,所以在此就不再一一进行演示。汇聚智慧,动力无限汇聚智慧,动力无限第六章:第六章:appium部分部分API介绍(介绍(pyth

49、on)Appium对python的api支持还是很好的,部分API是继承的object基类写成。今天我们就针对python来学习appium的部分API汇聚智慧,动力无限汇聚智慧,动力无限 API介绍介绍: 1).contextscontexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件用法 driver.contexts(该方法一般用于混合型app)contexts=self.driver.contextsfor cotext in contexts:print cot

50、ext 根据输出的信息,如果有WebView信息的时候,可以切换:driver.switch_to.context(WEBVIEW)或是 driver.context(“WEBVIEW”)汇聚智慧,动力无限汇聚智慧,动力无限 2). current_contextcurrent_context(self): Returns the current context of the current session. 返回当前会话的当前上下文 :Usage: driver.current_context用法driver. current_context汇聚智慧,动力无限汇聚智慧,动力无限 3). co

51、ntextcontext(self): Returns the current context of the current session. 返回当前会话的当前上下文。 :Usage: driver.context用法driver. Context汇聚智慧,动力无限汇聚智慧,动力无限 4). find_element_by_ios_uiautomationfind_element_by_ios_uiautomation(self, uia_string):Finds an element by uiautomation in iOS.(只能用于ios系统) 通过iOS uiautomatio

52、n查找元素 :Args: - uia_string - The element name in the iOS UIAutomation library :Usage: driver.find_element_by_ios_uiautomation(.elements()1.cells()2)用法dr. find_element_by_ios_uiautomation(elements)汇聚智慧,动力无限汇聚智慧,动力无限 5). find_element_by_accessibility_idfind_element_by_accessibility_id(self, id):Finds a

53、n element by accessibility id. 通过accessibility id查找元素 :Args: - id - a string corresponding to a recursive element search using the Id/Name that the native Accessibility options utilize :Usage: driver.find_element_by_accessibility_id()用法driver.find_element_by_accessibility_id(id)汇聚智慧,动力无限汇聚智慧,动力无限 6)

54、.scrollscroll(self, origin_el, destination_el):Scrolls from one element to another 从元素origin_el滚动至元素destination_el :Args: - originalEl - the element from which to being scrolling - destinationEl - the element to scroll to :Usage: driver.scroll(el1, el2)用法 driver.scroll(el1,el2)汇聚智慧,动力无限汇聚智慧,动力无限 7).

55、 drag_and_dropdrag_and_drop(self, origin_el, destination_el):Drag the origin element to the destination element 将元素origin_el拖到目标元素destination_el :Args: - originEl - the element to drag - destinationEl - the element to drag to用法 driver.drag_and_drop(el1,el2)汇聚智慧,动力无限汇聚智慧,动力无限 8.taptap(self, positions

56、, duration=None):Taps on an particular place with up to five fingers, holding for a certain time模拟手指点击(最多五个手指),可设置按住时间长度(毫秒) :Args: - positions - an array of tuples representing the x/y coordinates of the fingers to tap. Length can be up to five. - duration - (optional) length of time to tap, in ms

57、:Usage: driver.tap(100, 20), (100, 60), (100, 100), 500)用法 driver.tap(x,y),(x1,y1),500)汇聚智慧,动力无限汇聚智慧,动力无限 9. swipeswipe(self, start_x, start_y, end_x, end_y, duration=None):Swipe from one point to another point, for an optional duration. 从A点滑动至B点,滑动时间为毫秒 :Args: - start_x - x-coordinate at which to s

58、tart - start_y - y-coordinate at which to start - end_x - x-coordinate at which to stop - end_y - y-coordinate at which to stop - duration - (optional) time to take the swipe, in ms. :Usage: driver.swipe(100, 100, 100, 400)用法 driver.swipe(x1,y1,x2,y2,500)汇聚智慧,动力无限汇聚智慧,动力无限 10.flickflick(self, start_

59、x, start_y, end_x, end_y):Flick from one point to another point. 按住A点后快速滑动至B点 :Args: - start_x - x-coordinate at which to start - start_y - y-coordinate at which to start - end_x - x-coordinate at which to stop - end_y - y-coordinate at which to stop :Usage: driver.flick(100, 100, 100, 400)用法 driver

60、.flick(x1,y1,x2,y2)汇聚智慧,动力无限汇聚智慧,动力无限 11.pinchpinch(self, element=None, percent=200, steps=50):Pinch on an element a certain amount 在元素上执行模拟双指捏(缩小操作) :Args: - element - the element to pinch - percent - (optional) amount to pinch. Defaults to 200% - steps - (optional) number of steps in the pinch act

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论