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中使用mysql数据库详细介绍
Mar 27 Python
利用Python绘制MySQL数据图实现数据可视化
Mar 30 Python
Python中__new__与__init__方法的区别详解
May 04 Python
基于Python的关键字监控及告警
Jul 06 Python
快速查询Python文档方法分享
Dec 27 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 Python
django 实现简单的插入视频
Apr 07 Python
python实现梯度下降算法的实例详解
Aug 17 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 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
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
php生成图片验证码
2015/06/09 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
总结对比php中的多种序列化
2016/08/28 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
jQuery参数列表集合
2011/04/06 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
javascript时间差插件分享
2016/07/18 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
Python去除字符串两端空格的方法
2015/05/21 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
Python里面如何实现tuple和list的转换
2012/06/13 面试题
教育系毕业生中文求职信范文
2013/10/06 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
安全教育的主题班会
2015/08/13 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL