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系统)的更多相关文章

  1. Mac OS下Appium环境搭建及Genymotion模拟器安装

    说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...

  2. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  3. 基于Python的Appium环境搭建合集

    自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...

  4. Appium环境搭建(win/mac)

    课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 安装JDK并配置环境 ...

  5. (干货分享)mac python+appium环境搭建

    因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...

  6. Mac Appium环境搭建

    安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...

  7. Appium python自动化测试系列之appium环境搭建(二)

    ​2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...

  8. Python + Appium 环境搭建

    ---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1    安装前准备工作 搭建环境所需要的安装文件已经下载好 ...

  9. Appium环境搭建说明(包括报错处理)

    Appium环境搭建说明 一.环境配置 前提是windows系统已安装以下软件: 1.jdk 我装的是1.8.0 2.android-sdk 3.python,3.4-3.6 5.Node.js,v8 ...

随机推荐

  1. 鸿蒙内核源码分析(进程镜像篇)|ELF是如何被加载运行的? | 百篇博客分析OpenHarmony源码 | v56.01

    百篇博客系列篇.本篇为: v56.xx 鸿蒙内核源码分析(进程映像篇) | ELF是如何被加载运行的? | 51.c.h.o 加载运行相关篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应 ...

  2. Web项目自动打开并且全屏

    前言 在项目当中,有些需要开机自动打开并且还要全屏.通过总结,得到以下结论:大致方法一样(IE.火狐.谷歌支持),个别的只是命令不同,以火狐浏览器为例. 浏览器全屏打开指定网页设置方法 新建浏览器快捷 ...

  3. 常见错误0xCCCCCCCCC 读取字符串的字符时出错及其引申。

    问题描述在一个函数调用中,使用二级指针作为函数参数,传递一个字符串指针数组,但是在访问的时候,却出现了运行时错误,具体表现为"0xCCCCCCCC 读取字符串的字符时出错". 第一 ...

  4. JS中call,apply,bind的区别

    1.关于this对象的指向,请看如下代码 var name = 'jack'; var age = 18; var obj = { name:'mary', objAge:this.age, myFu ...

  5. NOIP模拟72

    T1 出了个大阴间题 解题思路 看了看数据,大概是个状压 DP,但是感觉记忆化搜索比较好写一点(然而并不是这样递归比迭代常熟大了许多..) 不难判断出来 b 的数值与合并的顺序无关于是我们可以预先处理 ...

  6. firewalld dbus接口使用指南

    firewalld,一个基于动态区的iptables/nftables守护程序,自2009年左右开始开发,最新版本 - 防火墙0.6.3 - 发布于2018年10月11日.主要的开发人员是托马斯·沃纳 ...

  7. MyCat的快速搭建

    1. 概述 老话说的好:一个好汉三个帮,一个人再聪明.再有本事,也要借助他人的力量,才能成功. 言归正传,今天我们来聊聊 MyCat的快速搭建. 2. 场景介绍 服务器A IP:192.168.1.2 ...

  8. NOI 2017 Day1 题解

    被虐爆了... T1 整数 题目传送门 Description 有一个整数 \(x\),有 \(n\) 此操作,每次操作为以下两种情况: 给出 \(a,b\),将 \(x\) 加上 \(a\times ...

  9. 如何利用Prometheus监控你的应用(此列子是对于golang sdk进行运用)

    Prometheus作为一套完整的开源监控接近方案,因为其诸多强大的特性以及生态的开放性,俨然已经成为了监控领域的事实标准并在全球范围内得到了广泛的部署应用.那么应该如何利用Prometheus对我们 ...

  10. FastAPI 学习之路(六)查询参数,字符串的校验

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...