MAC平台基于Python Appium环境搭建过程图解


Posted in Python onAugust 13, 2020

前言

最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程。

一、环境和所需软件概述

1.1 目前环境:

MacOS(10.15.3)

1.2 所需软件:

jdk-8u91-macosx-x64.dmg (jdk1.8及以上版本应该都可以)
android-sdk_r24.4.1-macosx.zip (mac版本的android-sdk)
genymotion-3.0.4.dmg (非常好用的android虚拟机软件)
VirtualBox.pkg (5.2.34版本,一般使用最新版本即可,mac上安装genymotion必备的软件)
Appium-mac-1.15.1.dmg(appium桌面版)
python 3.8.0
pycharm2019.02.05(Community Edition 免费公共版本即可)

二、搭建过程详述

2.1 mac下搭建jdk

2.1.1 先按平时的方法双击dmg文件,根据提示安装完成

2.1.2 在mac下配置java的环境变量

步骤一:打开mac终端命令行工具,输入“/usr/libexec/java_home -V”,查找java安装路径,如下图:

MAC平台基于Python Appium环境搭建过程图解

步骤二:复制java安装路径后,再输入 “vi ~/.bash_profile” ,在该文件下新增如下图:

MAC平台基于Python Appium环境搭建过程图解

(步骤三)保存文件之后,输入命令" source ~/.bash_profile",让环境变量生效。

2.1.3 依次输入命令“java -version” 和 “javac” 执行,检查 jdk是否安装成功。(不提示command not found 即安装成功)

2.2 mac下搭建android-sdk

2.2.1 下载好android-sdk_r24.4.1-macosx.zip后解压到一个指定路径,如下图所示在用户下面新建一个software目录:

MAC平台基于Python Appium环境搭建过程图解

2.2.2 在mac下配置android-sdk的环境变量,如下图操作:

MAC平台基于Python Appium环境搭建过程图解

保存文件之后,输入命令" source ~/.bash_profile",让环境变量生效。

2.2.3 在命令行继续输入 “android -v ” ,自动打开SDK Manager,如下图所示:

MAC平台基于Python Appium环境搭建过程图解

注意,上一步配置环境的步骤中最后配置一行的29.0.2根据你最新的build_tools版本来,我截图这边已有最新版本29.0.3

2.2.4 依次输入命令"adb" 、“android -v” 、“aapt”执行,检查是否sdk都对应正确。(不提示command not found 即配置成功)

2.3 mac安装genymotion

genymotion为好用的、专业的android虚拟机环境,当然也可以安装比如 天天模拟器等安卓环境(这种模拟器一般玩手游用)。

2.3.1 安装VirtualBox.pkg,官网下载最新版本,直接安装即可,不需进行任何配置

2.3.2 安装genymotion-3.0.4.dmg ,下载到genymotion后,直接安装即可,打开如提示升级,根据提示下载最新版本再次安装即可

2.3.3 到https://www.genymotion.com/account/login/ 网址上注册一个genymotion用户账号,用来登录PC端的genymotion软件

2.3.4 如下图,选择所需android系统版本的虚拟机下载安装即可(没VPN,此过程中途会中断,不过点重试下载几次就能下载完)

MAC平台基于Python Appium环境搭建过程图解

2.4 mac安装Appium桌面版

2.4.1 Appium是使用nodejs环境开发的,安装Appium之前,先提前把nodejs环境安装好

步骤一:在命令行输入

···
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
···

用来安装brew 程序(Homebrew简称brew,OSX上的软件包管理工具),使用上述命令过程中要求输入mac登录用户的密码,输入回车即可,过程中需要下载稍微有点慢

步骤二:在命令行输入 “brew install node” ,用来安装nodejs和npm程序,如下图所示:

MAC平台基于Python Appium环境搭建过程图解

2.4.2 Appium可以通过命令行安装和桌面版安装两种方式,建议初学者用桌面版,不仅安装使用方便且可以后续做手机APP自动化进行元素定位使用。

下载好Appium-mac-1.15.1.dmg后,直接双击根据提示安装即可,安装好打开的界面如下:

MAC平台基于Python Appium环境搭建过程图解

2.5 mac安装python和Appium-Python-Client

2.5.1 mac下安装python比较简单,只需要下载python安装包,双击下一步根据提示即可安装完成。
注意:由于mac下自带了python2.7环境,所以要使用你最新安装的python3,你需要在命令行输入“python3 ” / 安装软件需要输入 "pip3",默认的“python”和“pip”命令都是python2.7环境的命令。

2.5.2 Appium-Python-Client是appium在python下的第三方客户端模块,可以使用命令行"pip3 install Appium-Python-Client" 进行安装即可。

2.6 mac下安装pycharm

下载好pycharm安装包后,根据提示信息安装完后打开即可使用。(步骤略)

2.7 环境检查和试用

步骤一:启动genymotion中的android虚拟机

步骤二:打开appium桌面版,弹出界面,不做任何配置点击启动即可

步骤三:打开pycharm,新建项目后,编写如下python代码:

import selenium
import time
from appium import webdriver

des = {
  'platformName': 'Android', 
  'platformVersion': '9.0', #填写android虚拟机的系统版本
  'deviceName': 'Samsung Galaxy S9',  #填写安卓虚拟机的设备名称
  'appPackage': 'com.ibox.calculators',  #填写被测试包名
  'appActivity': '.CalculatorActivity',  #填写被测试app入口
  'udid': '192.168.56.101:5555', # 填写通过命令行 adb devices 查看到的 uuid(指定已连接在MAC上的虚拟机)
  'noReset': True,
  'unicodeKeyboard': True,
  'resetKeyboard': True,
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des)

步骤四:运行代码,能成功见到android虚拟机启动被测APP即为环境部署成功。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中给List添加元素的4种方法分享
Nov 28 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
Python快速排序算法实例分析
Nov 29 Python
解决python爬虫中有中文的url问题
May 11 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
详解anaconda安装步骤
Nov 23 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 #Python
深入了解Python装饰器的高级用法
Aug 13 #Python
python高级特性简介
Aug 13 #Python
Pytest如何使用skip跳过执行测试
Aug 13 #Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 #Python
Python logging模块原理解析及应用
Aug 13 #Python
matplotlib基础绘图命令之imshow的使用
Aug 13 #Python
You might like
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python实现批量监控网站
2016/09/09 Python
Python常用库推荐
2016/12/04 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
TensorFlow实现Logistic回归
2018/09/07 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
基于python实现对文件进行切分行
2020/04/26 Python
python中get和post有什么区别
2020/06/19 Python
银行实习人员自我鉴定
2013/09/22 职场文书
护理自荐信
2013/10/22 职场文书
幼儿园开学寄语
2014/04/03 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
岁月神偷观后感
2015/06/11 职场文书
解约证明模板
2015/06/19 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
java版 简单三子棋游戏
2022/05/04 Java/Android