前言

  Appium 作为移动端自动化测试工具在业界非常流行,特别是在当前移动互联网背景下,很多公司基于此框架来开展自动化测试。但 appium 的环境配置相对 selenium 来说复杂的多,让很多同学望而生畏。本文介绍 appium + python 基于windows 平台来搭建环境。其他平台的搭建大同小异。

环境准备

  • jdk1.8
  • node
  • Appium
  • android-sdk
  • python
  • Appium-Python-Client

一、安装 jdk,配置环境变量

1.下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.安装过程就不多说了,配置好环境变量后,检查是否成功:

二、安装 Appium

方法一:

1.安装 node.js, 下载地址:http://nodejs.cn/download/

2.检查下是否安装成功

3.然后使用命令安装: npm install -g appium

方法二:

1.下载地址:http://appium.io/

2.安装后配置环境变量:把 Appium 安装主目录 C:\Program Files\Appium 添加到系统变量 Path

3.检查下,能开启 Appium代表成功:

三、安装 android-sdk

1.下载地址:https://www.androiddevtools.cn/  (也可以直接安装 android studio 开发工具,内部集成了android-sdk)

2.解压后运行 SDK Manager.exe

3.下载 build-tool 工具,后面会用到 aapt 命令。

4.配置环境变量:

1)新增系统变量名 ANDROID_HOME ,变量值:D:\android-sdk-windows (android-sdk 主目录)

2)系统变量 Path 添加 adb 和 aapt 变量值。

adb 变量值:D:\android-sdk-windows\platform-tools

aapt 变量值:D:\android-sdk-windows\build-tools\29.0.2

5.检查环境变量配置是否成功:

四、安装 appium-doctor

1.最新版的 Appium 不带 appium-doctor,所以需要自己下载

2.cmd 安装命令:npm install -g appium-doctor (参数 -g 设置 appium-doctor 环境变量)

3.运行 appium-doctor 检查 appium 运行所需的依赖和环境变量(当然比较自信的同学也可以跳过这个步骤,非必要步骤哈!)

五、安装 python

1.下载地址:https://www.python.org/

2.安装过程就不说了,傻瓜式安装。

六、安装 Appium-Python-Client

使用 python 的 类库管理工具 pip,cmd输入:pip3 install Appium-Python-Client

实例运用

一、开启模拟器

1.运行模拟器可以使用 android 自带的,我这里用的是 Genymotion 。我为什么要用Genymotion ,当然是运行速度更快啦,哈哈!如下图

二、运行 Appium

1.cmd 运行命令 appium 。(这里有个问题 ,手动启用 appium,运行脚本的时候会报 Original error: Could not find 'adb.exe' in PATH,但是 adb 环境变量是配置成功的。暂不清楚是什么原因)

2.打开界面后点击“Start Server”,Appium 开始监听。

三、aapt命令 获取apk包名

方法一:

1.aapt 命令可以获取包的详细信息,具体用法:aapt dump badging xxx/xxx/yy.apk      然后找到 PackageName

2.接着上面找到 launcherActivity

方法二:(此方法在appium最新版本 中出现部分非 android 原生页面加载不出来的情况,慎用!)

1.将包安装在模拟器(或真机)上,运行命令:adb shell getprop ro.build.version.release(获取android版本号)

2.获取包名和当前页面信息:adb shell dumpsys window | findstr mCurrentFocus(注意:我这里打开的是首页,下面代码启动app后会直接跳过引导页进入首页。这样比较方便,进入页面直接测试)

四、adb 获取 device name

1.cmd 输入命令:adb devices

五、运行一段脚本

运行如下测试代码,参数中 deviceName、appPackage、appActivity 的值上文已经获取过了。app 首页被调起代表成功:

from appium import webdriver

desired_caps = {

                'platformName': 'Android',

                'deviceName': '192.168.41.101:5555',

                'platformVersion': '9.0',

                # apk包名

                'appPackage': 'com.gem.tastyfood',

                # apk的launcherActivity

                'appActivity': 'com.gem.tastyfood.LaunchActivity'

                }

# Remote 地址在 Appuim 里找
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

六、定位元素

1.定位元素可以通过 appium 工具

2.填写相关上文获取的参数,点击 Start Session

3.进入元素定位界面,然后获取你想要的元素。

Appium 环境配置的更多相关文章

  1. Appium环境配置

    一.JDK下载.安装及其环境配置 1.下载.安装略过…… 2.环境配置,以jdk-8u45为例,默认安装在 C:\Program Files\Java\jdk1.8.0_45\路径下. 下面设置环境变 ...

  2. Appium环境配置(一)

    一:环境准备(Windows 7版本 64位系统) 1.jdk1.6.0 (64位) 2.android-sdk 3.appium 4.Node.js:node-v8.11.1 5.Appium-Py ...

  3. mac下Appium环境配置

    一.Appium环境搭建 1.xcode(需要OS X版本支持): 下载对应版本的xcode(支持对应手机系统),解压,拖入应用程序. xcode下载地址:https://developer.appl ...

  4. Appium 环境配置(sdk)

    1,jdk环境配置 参见jdk环境配置:https://www.cnblogs.com/changpuyi/p/8659545.html 2,sdk环境的配置 前提已经下载,解压adt-bundle- ...

  5. app自动化测试环境配置:adb环境配置、monkey环境配置、appium环境配置大全

    1. 安装jdk 2. 安装配置Andriod sdk 安装Andriod sdk前首先需要安装配置好jdk环境. 然后安装Android sdk 安装完成后需要配置环境变量:ANDROID_HOME ...

  6. 1.python+appium环境配置

    环境部署 本博客以32位的Windows 7操作系统为例介绍Appium+Python的环境搭建步骤 1.安装Node.js 访问 https://nodejs.org/en/download/,下载 ...

  7. appium环境配置和一个例子

    最近觉得appium挺火的,看了一些资料,本来想使用npm在线安装,遇见各种问题,先简单说一下: 在cmd窗口中使用命令:npm install -g appium安装,报无python的error, ...

  8. 移动端UI自动化Appium测试——Windows系统Appium环境配置

    1.安装JDK,官网下载即可,这里用的1.8,环境变量配置 2.安装Android sdk,API >= 17,环境变量配置 3.安装Nodejs,官网http://nodejs.org/dow ...

  9. Appium环境配置(二)

    一.使用Eclipse直接创建案例工程 1.打开Eclipse,[File]-->[New]-->[Project] 2.选择[Java Project]-->[Next] 3.输入 ...

随机推荐

  1. webpack入门配置步骤详解

    1.初始化 1.npm install webpack webpack-cli webpack-dev-server --g 全局安装必要的第三方插件 2.mkdir config dist src ...

  2. Express中app.use()用法 详解

    app.use(path,callback)中的callback既可以是router对象又可以是函数 app.get(path,callback)中的callback只能是函数 当一个路由有好多个子路 ...

  3. GNSS学习笔记--坐标转换

    GNSS 坐标转换 GNSS计算主要涉及三个坐标系,地心地固坐标系,地理坐标系和站心坐标系.这里主要介绍一下三个坐标的含义和转换公式. 地心地固坐标系如图X,Y,Z表示 (ECEF坐标系),以地心O为 ...

  4. gitlab与jenkins结合构建持续集成

    Jenkins是java编写,需要安装JDK,这里采用 yum 安装,对版本有需求的,可以到 oracle 官网下载 JDK. yum install -y java-1.8.0-openjdk 一. ...

  5. oidc hybrid flow 与另外两种模式的异同

    很多学习identityserver的文章都没有解释清楚oidc hybrid混合模式的含义.本文将解释hybrid模式与另外两种模式的主要区别. 我们先看一下一手文档: https://openid ...

  6. django中're_path'的用法

    1.re_path和path的作用是一样的.只不过're_path'是在写url的时候可以用正则表达式,功能更加强大.2.写正则表达式都推荐使用原生字符串.也就是以‘r’开头的字符串:r'move/' ...

  7. tinyriscv---一个从零开始写的极简、易懂的开源RISC-V处理器核

    本项目实现的是一个微riscv处理器核(tinyriscv),用verilog语言编写,只求以最简单.最通俗易懂的方式实现riscv指令的功能,因此没有特意去对代码做任何的优化,因此你会看到里面写的代 ...

  8. H265码流分析

    H265相比较于H264,除了包含SPS.PPS外,还多包含一个VPS:在NALU header上,H.264的HALU header是一个字节,而H.265则是两个字节. 以OX4001为例,头信息 ...

  9. 元祖,range,字典,结构,fromkeys的使用

    3.5.3 元祖 关键字 tuple tu=(1,2,3,'你好',True) print(tu) 元祖是有序,不可变数据,不能进行修改, 支持索引查看 存储一些比较重要的信息,在配置文件中使用 存放 ...

  10. Webshell篇

    常用方法简介: 一.0day拿webshell 参考工具:织梦漏洞利用小工具 二.通过注入漏洞拿Webshell 前提条件:具有足够权限,对写入木马的文件夹要有写入权限,知道网站绝对路径. 对于mss ...