appium自动化实例(一)

发表于:2017-7-04 13:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:32氪    来源:51cto.com

  移动互联网时至今日发展非常迅速,Android与iOS系统的手机已经成为时代的宠儿。基于移动终端的产品如雨后春笋般地冒出,要测试一个已成型的应用,从用户所见的角度来做自动化收益还是比较高的。本文旨在利用Appium工具实现移动终端UI自动化测试,以下重点介绍appium相关知识、以及结合手机项目进行自动化测试的实例。

  「为什么选择Appium?」
  Appium是个开源的、跨平台的自动化测试工具,支持iOS、Android应用,还可以直接在PHP、PythonRuby、C#、Clojure、Java、Objective-C、JavaScript及Perl等语言中编写测试脚本。
  ∷优势
    同时支持Android和iOS自动化测试,同一个手机移动项目在同一套自动化测试体系,维护起来方便;
    支持多种脚本语言,不会将测试人员限制在某种特定语言或者框架上;
    不需要重新编译应用(APP)或者任何方式修改它就可以进入测试行为;
    移动自动测试框架是开源的;
    Appium社区更活跃、有可能纳入Selenium-WebDriver体系,从而成为事实上的移动应用测试标准。
  「Appium原理架构」
  一、Android平台原理架构
      WebDriver script是我们的测试脚本;
     中间的是Appium服务,Appium启动一个服务(4723端口),与Selenium-WebDriver测试框架相类似,Appium支持标准的WebDriver JSONWireProtocol。它提供一套Web服务,Appium Server接收WebDriver标准请求,解析请求内容,调用对应框架相应操作;
     Appium server会把请求转发给中间件Bootstrap.jar,它是用java编写的,安装在手机上。Bootstrap.jar接收Appium命令,最终通过调用UiAutomator的命令实现;
     执行结果由Bootstrap返回给Appium Server;
     Appium还用到了Chromedriver来支持基于WebView的测试。
  二、iOS平台原理架构
  在iOS端,Appium同样使用WebDriver协议。与Android端测试框架不同的是,Appium iOS封装了苹果公司的Instruments框架,主要用了Instrument里的UiAutomation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听,如下图所示:
   WebDriver script 是selenium风格的测试脚本;
   中间的是Appium服务,Appium启动一个服务(4723端口),与Selenium-WebDriver测试框架相类似,Appium支持标准的WebDriver JSONWireProtocol。它提供一套Web服务,Appium Server接收WebDriver标准请求,解析请求内容,调用对应框架相应操作;
    Appium Server调用instruments.js启动一个sock server,同时分出一个子进程运行instruments.app,将bootstrap.js注入到设备用于和外界进行交互;
   对于WebView的操作,运用了iOS webkit debug proxy来实现。
  「环境搭建」
  Appium录制的功能目前只支持Mac OS X ,为了最大限度让测试不被代码束缚,建议搭建环境使用Mac OS X操作系统。
  一、Mac OS X系统appnium环境安装步骤
  1.通过命令行安装Appium
  2.通过应用程序安装Appium
  可以从地址:https://github.com/appium/appium/releases下载到最新和历史的Appium安装应用程序。
  点击听诊器logo确认环境是否安装成功,提示 everything looks good,bye! 表示环境正常。
  二、真机调试
  准备工作:
  ①一个苹果的开发者ID和有效的开发者对应的配置文件及签名文件;
  ②一台iPad或者iPhone(把UDID加入证书里);
  ③获取待测试应用的源码;
  ④一台安装了Xcode和Xcode Command Line Developer Tools的Mac机器。
  Appium设置界面必填字段
  注意事项:真机调试时的app必须是包含描述文件的app文件,不能选择虚拟器生成的沙漏里的app文件。
  三、虚拟器调试
  准备工作:
    获取待测试应用的源码;
    一台安装了Xcode和Xcode Command Line Developer Tools的Mac机器。
  Appium设置界面必填字段:
  注意:虚拟器需要选择沙盒里面的app。
  四、如何快速定位页面元素
  启动appium服务,点击Inspector(图中放大镜logo),在Appium Inspector界面,可以模拟各种用户在手机上的真实操作,例如单击(tab)、滑动(swipe)、输入(send key)、晃动(shake)等;另外,用户可以通过Appium Inspector单击record录制产生自动化测试代码。
  录制支持Python、C#、Ruby、Objective-c、Java和Node.js。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号