Appium的介绍    

       Appium是一款开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1、 使用appium进行自动化测试的好处

       Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。

       Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架.Appium实现了真正的跨平台自动化测试。(本文主要介绍Python的用法)

2、Appium架构

      Appium 是一个用Node.js编写的HTTP server,它创建、并管理多个 WebDriver sessions 来和不同平台交互,如 iOS ,Android等等. 

      Appium 开始一个测试后,就会在被测设备(手机)上启动一个 server ,监听来自 Appium server的指令. 每种平台像 iOS 和Android都有不同的运行、和交互方式。所以Appium会用某个桩程序“侵入”该平台,并接受指令,来完成测试用例的运行。

一、 appium安装

1、安装JDK,配置JDK环境   

       百度搜索下载就行。

       下载好后点击进行安装。安装好后进行环境变量的配置。

       打开计算机-》系统属性-》高级系统设置-》环境变量-》新建(系统变量),如图所示:

appium自动化测试 随笔 第1张

配置好JAVA_HOME后将%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin加入Path中;

appium自动化测试 随笔 第2张

 验证一下JDK的环境是否配置好,win+r  cmd下输入java -version检查环境是否配置成功。

 appium自动化测试 随笔 第3张

2、安装Android SDK,配置SDK环境

       可以直接下载Android Studio,但是如果只是做自动化的话只需要下载Android SDK就行了。

      下载地址:http://tools.android-studio.org/index.php/sdk/

      appium自动化测试 随笔 第4张

 

       下载成功解压后配置Android SDK的环境。

       如上面新建JAVA_HOME一样,新建ANDROID_HOME,如图所示:

appium自动化测试 随笔 第5张

打开解压后的SDK文件夹,点击SDK Manager,安装Tools下的Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以选择是否更新,建议直接更新。镜像:随便选个版本也可以选择多个版本安装,由于镜像比较大,所以喜欢真机的可以不下载镜像,

appium自动化测试 随笔 第6张

 

appium自动化测试 随笔 第7张

 将%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools\28.0.3加入环境变量Path中;

appium自动化测试 随笔 第8张

 检查Android SDK是否配置成功,win+r  cmd打开命令行窗口,在命令行窗口中输入adb –-version;

appium自动化测试 随笔 第9张

 3、安装Node.js

     下载地址:https://nodejs.org/en/

      选择大多数人下载的那个就行

appium自动化测试 随笔 第10张

下载获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装(一直下一步就行,可以将路径进行修改)。

      将Node.js的安装路径(也就是node.exe文件所在的目录)D:\Program Files\nodejs追加到环境变量Path中。

appium自动化测试 随笔 第11张

检查一下环境是否配置好,在命令行中输入npm

appium自动化测试 随笔 第12张

4、安装.net framework

        由于Appium是用.net开发的,所以安装之前需要安装.net framework,否则安装过程中会报错,官网下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=30653

       下载成功后直接点击安装即可。

5、安装Appium

       下载地址:https://bitbucket.org/appium/appium.app/downloads/

       当前最新版本为 AppiumForWindows_1_4_16_1.zip ,注意这是一个 Windows 版本,如果你的电脑为MAC请下载 appium-1.5.3.dmg 。虽然你已经看到了这些下载包,但我不保证你能下载的下来。

       所以,再来提供一个百度网盘的下载链接:https://pan.baidu.com/s/1pKMwdfX

       我们以 Windows 为例,将下载的 AppiumForWindows.zip 进行解压,点击 appium-installer.exe 进行安装。

       在Path中配置appium的环境变量,将安装的Appium文件夹所在目录\Appium\node_modules\.bin添加进path

appium自动化测试 随笔 第13张

 cmd打开命令行窗口,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境配置成功。

appium自动化测试 随笔 第14张

六、安装appium - python - client(这步很重要,目的是需要将Python与appium关联起来)

       首先需要安装Python3.x,进行环境配置

       这个在这就不讲述了,一般都提前安装配置有,在这写这个的目的时需要将Python与appium关联起来。

       cmd打开命令行窗口,输入:pip install Appium-Python-Client,提示成功就可以了,我这边是已经安装过了。

appium自动化测试 随笔 第15张

至此,appium环境搭建成功!!!

通过appium-desktop启动appium软件,用来定位元素和安装电脑apk到手机真机

一、 appium启动真机

 

启动真机前的准备---通过adb命令获取需要的信息:

       aapt dump badging D:\XXX.apk  获取安装包的所有信息

       adb devices(查看手机是否连接到电脑)

       其它:

       adb devices:查看Android设备是否连接到电脑。

       adb shell dumpsys activity:查看当前运行的是哪个activity,运行的一些进程等

       adb shell pm list packages:列出所有的包名。

       adb shell dumpsys package:列出所有的安装应用的信息

       adb shell dumpsys package com.android.XXX:查看某个包的具体信息

       adb logcat | grep ActivityManager:查看当前正在运行的Activity

    

 

1、 连接真机或者模拟器(此处以真机为例)

       连接手机时注意选择手机的开发者模式,cmd打开命令行窗口,输入adb devices获取到设备的deviceName。

appium自动化测试 随笔 第16张

2.获取Activity

       cmd打开命令行窗口,输入aapt dump badging D:\XXX.apk(xxx指安装包名,D:\是指路径)直接查看需要测试app安装包的具体信息。

appium自动化测试 随笔 第17张

标记的就是包名,继续往下拖拽,可以找到activity的信息。

appium自动化测试 随笔 第18张

这里的红圈就可以看到activity的信息。这两个值,在appium脚本中都需要提前获取到,所以需要提前介绍这个获取方法。如果你觉得在cmd里面不好看,你可以把cmd信息导出到一个txt文件,例如 aapt dump badging shoujibaidu.apk > 123.txt 回车后,会在桌面生成一个123.txt文件,你可以打开,通过查询找到这些信息。通过上面的方法,只要我们有android SDK环境,那么我们就可以获取到任意一个包的包名和Activity信息。

 

启动appium-desktop

appium自动化测试 随笔 第19张

#设备及安装包信息
desired_caps = {
    'platformName': 'Android',
    'deviceName':'8TB6V4ZPZ54LPJ5P',
    'platformVersion': '5.1',
    'app': PATH(r'D:\shell_customer-debug.apk'),
    'appPackage': 'com.jyibb.shell_customer',
    'appActivity': 'com.jyibb.module_launch_customer.SplashActivity',
    # 'unicodeKeyboard': 'True',
    # 'resetKeyboard': 'True'
}

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄