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之入门(二)基本数据类型
May 25 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python dataframe向下向上填充,fillna和ffill的方法
Nov 28 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
在pandas中遍历DataFrame行的实现方法
Oct 23 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
python 发送get请求接口详解
Nov 17 Python
Python3压缩和解压缩实现代码
Mar 01 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写的serv-u的web申请账号的程序
2006/10/09 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
php判断表是否存在的方法
2015/06/18 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
Node.js 的 GC 机制详解
2019/06/03 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python深入06——python的内存管理详解
2016/12/07 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
推广普通话标语
2014/06/27 职场文书
初中学生操行评语
2014/12/26 职场文书
创业计划书之服装
2019/10/07 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL