appium环境搭建基于安卓(mac系统)
1.需要环境
- JDK
- Python
- Andriod SDK
- Node.js
- Appium
- Appium-Python-Client
- Appium-doctor
2.安装jdk(我的版本是1.8)

2.1 下载后一下一步就可以了 ,配置环境变量
vi /etc/profile
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
#java1.8 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home PATH=$JAVA_HOME/bin:$PATH:. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export JAVA_HOME export PATH export CLASSPATH
:wq!
保存后,刷新配置文件后才能生效
source /etc/profile
3.python mac自带就可以用了
4.下载android-sdk-macosx
选择sdk tools,下载mac版本

下载后放到本地的指定目录下,我放在了 /User/xxx/android-sdk-macosx
5.安装Android SDK Platform-tools和Android SDK Build-tools
./User/zhucaixiang/android-sdk-macosx/tools/android
会打开下载sdk工具的界面,选择图上的几项下载

等待下载完成。。。。
6.下载android api(一般选最多的一个api就可以了,我选了4.4和8.0的)
这个过程很漫长。。。。
7.android-sdk-macosx环境变量配置
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
p.p2 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1); min-height: 13px }
span.s1 { font-variant-ligatures: no-common-ligatures }
#sdk export ANDROID_HOME=/Users/zhucaixiang/android-sdk-macosx export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools #aapt AAPT_HOME=/Users/zhucaixiang/android-sdk-macosx/build-tools/28.0.3 export AAPT_HOME export PATH=$PATH:$AAPT_HOME
同样刷新配置
source /etc/profile
#aapt后面会用来查看apk的包名
终端输入 adb 检查是否安装好
8.安装node.js
注意:Node.js版本要注意与Appium兼容,本次使用的Appium版本是1.7.2,则选择的Node.js版本为6.11.3
安装完成后在终端界面输入“node -v”和“npm -v”来判断安装是否成功。
- npm(node package manage)是node.js安装包管理工具,类似Python中的pip工具。
- 如果显示不是内部命令提示,则需要检查一下环境变量是否配置,或者重新安装nodejs。
9.appium安装
Appium Server其实可以通过命令 npm install -g appium来安装。但是npm所下载的服务器在国外,安装会很慢,可能会因为网络原因中断安装。所以我们可以使用国内镜像来安装
终端输入: sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
选用的是淘宝镜像
安装appium
#安装最新版本
sudo cnpm install -g appium #安装指定版本
sudo cnpm install appium@1.7.2 -g
appium安装后检查
终端输入appium检查,或appium -v

10.安装Appium-Python-Client
pip install Appium-Python-Client
11.安装 appium-doctor
cnpm install appium-doctor -g
输入命令:appium-doctor 看到如下提示说明整体环境配置成功

12.查看apk的appPackage和appActivity
可以认为这是识别手机apk的id
上面我们装了aapt 所以下载一个apk到电脑上,例如下:
aapt dump badging E:\apk\xxxxx.apk
appPackage

appActivity为

13.连接真机检查
开启开发者模式
检查是否有连接到
adb devices 会看到是否连接到手机
如果手机没有需要的安装包可以用adb安装apk
adb install aaa.apk
如果手机或模拟器存在需要的apk就不需要安装
14.运行真机
检查是否可以启动app就可以了
14.1 启动appium指定ip和端口
appium -a 127.0.0.1 -p 4723
testapp.py
# coding:utf-8 from appium import webdriver
import os
import time desired_caps = {} desired_caps['platformName'] = 'Android' # 设备系统
# desired_caps['platformVersion'] = '7.0' # 设备系统版本
desired_caps['deviceName'] = 'emulator-5554' # 设备名称 desired_caps['appPackage']='com.shizhuang.duapp' #上面提到获取的参数 desired_caps['appActivity']=' com.shine.ui.home.SplashActivity' #上面说到获取的参数 driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(3) driver.quit()
真机调试运行就完了~~
15.模拟器运行
启动android Manager
./Users/zhucaixiang/android-sdk-macosx/tools/android
创建模拟器
Tools-Manager Avds 点击create

上面步骤中,装了4.4的api所以创建一个4.4的安卓

点击 OK
启动模拟器后
与真机一致操作步骤
检查获取到安卓实例名
adb devices
adb install xx.apk
同样运行代码检查是否可以打开app
# coding:utf-8 from appium import webdriver
import os
import time desired_caps = {} desired_caps['platformName'] = 'Android' # 设备系统
# desired_caps['platformVersion'] = '7.0' # 设备系统版本
desired_caps['deviceName'] = 'emulator-5554' # 设备名称 desired_caps['appPackage']='com.shizhuang.duapp' #上面提到获取的参数 desired_caps['appActivity']=' com.shine.ui.home.SplashActivity' #上面说到获取的参数 driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(3) driver.quit()
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
appium环境搭建基于安卓(mac系统)的更多相关文章
- Mac OS下Appium环境搭建及Genymotion模拟器安装
说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
- Appium环境搭建(win/mac)
课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 安装JDK并配置环境 ...
- (干货分享)mac python+appium环境搭建
因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...
- Mac Appium环境搭建
安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
- Python + Appium 环境搭建
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ...
- Appium环境搭建说明(包括报错处理)
Appium环境搭建说明 一.环境配置 前提是windows系统已安装以下软件: 1.jdk 我装的是1.8.0 2.android-sdk 3.python,3.4-3.6 5.Node.js,v8 ...
随机推荐
- Navicat连接数据库成功,新建查询时提示错误“Cannot create file ……”
Navicat连接数据库成功,新建查询时提示错误"Cannot create file --" 原因:编辑连接{高级}<设置位置>被修改,该oci.dll不正确 解决方 ...
- 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 百篇博客分析OpenHarmony源码 | v43.02
百篇博客系列篇.本篇为: v43.xx 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里 ...
- P3964-[TJOI2013]松鼠聚会【计算几何】
正题 题目链接:https://www.luogu.com.cn/problem/P3964 题目大意 给出\(n\)个点,求一个点使得它到所有点的切比雪夫距离和最小. \(0\leq n\leq 1 ...
- Jmeter 压力测试学习8--断言
断言成功是不会显示的,失败会有提示. 登录断言 一.添加断言 登录->添加->断言->响应断言 二.执行,查看断言 登录配置的都是正确的用户名跟密码 如果响应断言中内容改为:&quo ...
- PyTorch固定参数
In situation of finetuning, parameters in backbone network need to be frozen. To achieve this target ...
- 《面试八股文》之 JVM 20卷
微信公众号:moon聊技术 关注选择" 星标 ", 重磅干货,第一 时间送达! [如果你觉得文章对你有帮助,欢迎关注,在看,点赞,转发] 大家好,我是 moon. <面试八股 ...
- react之组建通信
父组件与子组件通信 父组件将自己的状态传递给子组件,子组件当做属性来接收,当父组件更改自己状态的时候,子组件接收到的属性就会发生改变 父组件利用ref对子组件做标记,通过调用子组件的方法以更改子组件的 ...
- SpringBoot配置文件-多环境切换
profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境: 多个文件-配置多环境: 需要多个配置文件,文件名可以是 application-{prof ...
- python中对列表的排序
1.sort()对列表永久性的排序,首字母按照字母表的顺序排列 book=['python','java','c++','web'] book.sort() print(book) 结果如下: 2.向 ...
- RF射频传输,原理介绍,三分钟看懂!发射功率、接收灵敏度详解!
射频是什么? 官方说法:RF,Radio Frequency. (不懂的人,看了还是不懂,不过对于物联网行业的开发工程师.产品经理和项目经理,还是有需要对射频有个基础了解的.) 燚智能解读: 两个人, ...