Appium 环境配置
前言
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 环境配置的更多相关文章
- Appium环境配置
一.JDK下载.安装及其环境配置 1.下载.安装略过…… 2.环境配置,以jdk-8u45为例,默认安装在 C:\Program Files\Java\jdk1.8.0_45\路径下. 下面设置环境变 ...
- Appium环境配置(一)
一:环境准备(Windows 7版本 64位系统) 1.jdk1.6.0 (64位) 2.android-sdk 3.appium 4.Node.js:node-v8.11.1 5.Appium-Py ...
- mac下Appium环境配置
一.Appium环境搭建 1.xcode(需要OS X版本支持): 下载对应版本的xcode(支持对应手机系统),解压,拖入应用程序. xcode下载地址:https://developer.appl ...
- Appium 环境配置(sdk)
1,jdk环境配置 参见jdk环境配置:https://www.cnblogs.com/changpuyi/p/8659545.html 2,sdk环境的配置 前提已经下载,解压adt-bundle- ...
- app自动化测试环境配置:adb环境配置、monkey环境配置、appium环境配置大全
1. 安装jdk 2. 安装配置Andriod sdk 安装Andriod sdk前首先需要安装配置好jdk环境. 然后安装Android sdk 安装完成后需要配置环境变量:ANDROID_HOME ...
- 1.python+appium环境配置
环境部署 本博客以32位的Windows 7操作系统为例介绍Appium+Python的环境搭建步骤 1.安装Node.js 访问 https://nodejs.org/en/download/,下载 ...
- appium环境配置和一个例子
最近觉得appium挺火的,看了一些资料,本来想使用npm在线安装,遇见各种问题,先简单说一下: 在cmd窗口中使用命令:npm install -g appium安装,报无python的error, ...
- 移动端UI自动化Appium测试——Windows系统Appium环境配置
1.安装JDK,官网下载即可,这里用的1.8,环境变量配置 2.安装Android sdk,API >= 17,环境变量配置 3.安装Nodejs,官网http://nodejs.org/dow ...
- Appium环境配置(二)
一.使用Eclipse直接创建案例工程 1.打开Eclipse,[File]-->[New]-->[Project] 2.选择[Java Project]-->[Next] 3.输入 ...
随机推荐
- OpenGL光照1:颜色和基础光照
本文是个人学习记录,学习建议看教程 https://learnopengl-cn.github.io/ 非常感谢原作者JoeyDeVries和多为中文翻译者提供的优质教程 的内容为插入注释,可以先跳过 ...
- JavaFx出现错误Caused by: java.lang.NullPointerException: Location is required的解决方法
问题截图: "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:I:\IntelliJ IDEA ...
- CLRCore(CLR核心机制)
JIT--第一次--标记已--存根--调用--查找存根--执行机器码 C#和CIL的关系: C#和N#都是CIL实现,但是彼此不能互通: C#和N#公开不分满足规范,我们才能互通 CLS就是描述多语言 ...
- Asp.Net Mvc自定义控件之树形结构数据生成表格 - WPF特工队内部资料
最近项目中有一个需求,将树形结构的数据,以表格的形式展示在页面中,下图是最终呈现效果: 源码: @{ Layout = null; } <!DOCTYPE html> <html&g ...
- 深入浅出js实现继承的7种方式
给大家介绍7中js继承的方法 有些人认为JavaScript并不是真正的面向对象语言,在经典的面向对象语言中,您可能倾向于定义类对象,然后您可以简单地定义哪些类继承哪些类(参考C++ inherita ...
- LD_PRELOAD & putenv() 绕过 disable_functions & open_basedir
这次TCTF中一道题,给出了一个PHP一句话木马,设置了open_basedir,disable_functions包含所有执行系统命令的函数,然后目标是运行根目录下的/readflag,目标很明确, ...
- Mysql Join-连接查询(中)
Mysql Join-连接查询(中) 认识 就我平时的数据接触来看, 连接查询也没有很复杂,不够是非常需要耐心和逻辑的, 一点点将数据查出来, 拼接等. 没有什么技巧, 多练习就会了. 无非就是表之间 ...
- (入门SpringBoot)SpringBoot项目事务(三)
Spring声明式事务的使用:由@Transactional进行标注,可以使用在类和方法上.当标注在类上,类下面所有公共非静态的方法都将启用事务功能.接下来,运行事务注解标注的方法,Spring的事务 ...
- win10 anaconda3 python3.6安装tensorflow keras tensorflow_federated详细步骤及在jupyter notebook运行指定的conda虚拟环境
本文链接:https://blog.csdn.net/weixin_44290661/article/details/1026789071. 安装tensorflow keras tensorflow ...
- XGBoost、LightGBM参数讲解及实战
本文链接:https://blog.csdn.net/linxid/article/details/80785131XGBoost一.API详解xgboost.XGBClassifier1.1 参数1 ...