转载:https://www.jianshu.com/p/f7cf077d9444

https://blog.csdn.net/a158123/article/details/79684499

https://www.jianshu.com/p/ae8846736dba

环境准备

Mac本系统:10.13.6

appium版本:1.10.0

jdk: 1.8.0

python:3.6

一、简单介绍

appium 是一个自动化测试开源工具,支持iOS和 Android平台上的原生应用,web应用和混合应用。
● 移动原生应用:单纯用ios或者android开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用,一般可通过应用商店获取,比如某个游戏app;
● 移动web应用:使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome),不需要下载到设备上,而是通过浏览器直接访问,比如H5九曲封神游戏;
● 混合应用:同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用,比如手机上的淘宝客户端

二、支持平台及语言

● appium是跨平台的,支持OSX,Windows以及Linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性
● appium支持多语言,采用C/S设计模式,只要满足client能够发送http请求给server即可

三、工作原理

以下图片引用网址:http://www.testclass.net/appium/appium-base-summary

Mac平台基础环境准备

1.安装homebrew

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

2.Java

1.打开mac终端:java -version

2.查看java指令所在目录:which java

3.设置JAVA_HOME,记得切换成root用户(sudo -i)

临时有效(重启后失效)

1.编辑.bash_profile文件:vim ~/.bash_profile
2.添加以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

export PATH=$JAVA_HOME/bin:$PATH

3.使修改的文件生效:source ~/.bash_profile

永久有效

1.修改文件操作权限:chmod 773 /etc/profile
2.编辑/ect/profile文件:vim /etc/profile
3.添加以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

export PATH=$JAVA_HOME/bin:$PATH
4.使修改的文件生效:source /etc/profile

3.git --version

4.ruby  -v

5.xcode(appstore下载)(10.1以上版本)

6.安装andriod sdk

终端中执行:brew install android-sdk

7.安装adb

brew install Caskroom/cask/android-platform-tools

1.测试是否安装成功:adb devices

2.设置andriod sdk环境变量

编辑.bash_profile文件:vim ~/.bash_profile

添加以下内容:

export ANDROID_HOME=/usr/local/Caskroom/android-platform-tools/29.0.1

export PATH=$PATH:$ANDROID_HOME/platform-tools

export PATH=$PATH:/Applications

8.安装 carthage,为防止有时 appium 启动报错

brew install carthage

9.appium安装包(1.10.1版本)

链接:https://pan.baidu.com/s/1idyYm9zxhjxYf7PWoBGIXg  密码:wfl8

启动appium如图:

10.安装appium-doctor

sudo npm install -g appium-doctor

Mac 连接 iOS 模拟器或真机

1、连接真机手机端需安装 WebDriverAgent,需要用 Xcode 构建工程并安装到手机,WebDriverAgent 已在appium的安装目录下,进入如下目录,或查看自己实际安装的目录

cd  /Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent

2、在当前目录下执行脚本,安装过程中有时会因 npm 问题报错,可尝试重新执行:sh ./Scripts/bootstrap.sh

3、sh ./Scripts/bootstrap.sh完成后在该目录下找到如图目录,双击该目录会默认使用Xcode打开

4.编译WebDriverAgent

安装连接真机所需的依赖

连接真机需要安装依赖包 libimobiledevice、ios-deploy,使用 brew 工具安装所需依赖

# 安装 libimobiledevice(真机测试需要)
brew install libimobiledevice
# 安装 ios-deploy(真机测试需要)
brew install ios-deploy

python设置

在pycharm--Preferences中添加 Appium-Python-Client

脚本demo:

from appium import webdriver

caps = {
"platformName": "ios",
"platformVersion": "12.1",
"deviceName": "iPhone 6s",
"browserName": "safari"
} driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
driver.get("https://baidu.com")

可能出现的错误转载:https://www.jianshu.com/p/569da6c01537

=====可能出现的错误以及解决方法=====

报错:

appium-doctor 检测appium环境 如果 Xcode 报错时

WARN AppiumDoctor ✖ Xcode is NOT installed!

在已安装 Xcode 的情况下,检测未安装
原因:Xcode的安装路径和appium所检测的路径不同
解决办法:修改当前Xcode的安装路径,输入如下命令:
首先查看自己Xcode安装路径

xcode-select -p
# 查询安装路径结果如下:
/Library/Developer/CommandLineTools

将Xcode的安装路径改为:/Applications/Xcode.app/Contents/Developer
命令如下

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

再次输入 appium-doctor 检测


Mac下搭建Appnium+Python+Ios模拟器环境的更多相关文章

  1. Mac下搭建Cocos2d-x-3.2的开发环境

    配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 摘要:本文目标为在Xcode成功运行HelloWorld程序. 一.下载必要项 1.从官网下载Cocos2d-x- ...

  2. Mac下安装appium+python+Android sdk 环境完整流程

    安装大纲:1,安装jdk (jdk1.8及以上版本都可以,尽量不要用最新可能会不兼容) 2,安装android-sdk (mac版本的android-sdk) 3,mumu模拟器 (随便找的一个) 4 ...

  3. ubuntu 下搭建apache+python的运行环境

    ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...

  4. Mac下搭建Apache+PHP+MySql运行环境

    https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...

  5. [原创]win7环境下搭建eclipse+python+django开发环境

    一)工具下载 a)eclipse(最新版4.3.1)官网下载地址 http://www.eclipse.org/downloads/ b)python (2.X版本)官网下载地址 http://pyt ...

  6. Mac下搭建cocos2d 和cocos2d -x 环境

    来源:http://blog.csdn.net/duxinfeng2010/article/details/7985024 cocos2d是一个开源框架,用于构建2D游戏.演示程序和其他图形界面交互应 ...

  7. 图文教程:在Mac上搭建Titanium的iOS开发环境

    http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...

  8. Mac下搭建go和beego开发环境

     go安装 首先到golang的官网下载 直接双击安装包,安装 ,下一步,下一步....完成既可 验证安装是否成功 打开终端执行 输出 go version go1.11.5 darwin/amd64 ...

  9. Andriod学习笔记4:mac下搭建 Eclipse+CDT 集成开发环境

    下载CDT 从eclipse官网下载最新的Eclipse IDE for C/C++ Developers,例如eclipse-cpp-mars-1-macosx-cocoa-x86_64.tar.g ...

随机推荐

  1. 浅析RPO漏洞攻击原理

    RPO的全称为Relative Path Overwrite,也就是相对路径覆盖,利用客户端和服务端的差异,通过相对路径来引入我们想要的js或者css文件,从而实现某种攻击. 就目前来看此攻击方法依赖 ...

  2. [LeetCode] 877. Stone Game 石子游戏

    Alex and Lee play a game with piles of stones.  There are an even number of piles arranged in a row, ...

  3. Windows搭建FTP/Http文件共享(利用IIS)

    控制面板——程序——添加功能 勾选Ftp服务器.万维网服务.IIS管理控制台 然后,计算机——右键管理——服务和应用程序,添加网站和添加Ftp IP设置为 未分配 或 本机获取到的静态IP即可. 然后 ...

  4. Oracle 的 连接

    select a.alert_id, b.alert_id from a inner join b on a.alert_id = b.alert_id ; 上面和下面是一样的,都是 内连接 sele ...

  5. 企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

    1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实 ...

  6. What programming language is best for a bioinformatics beginner?

    probably Unix Shell scripts, Perl, or Python and R can be the best options. ---------- 1-python 2-R ...

  7. vscode java

    https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-code-java-installer/ public cla ...

  8. WindowsServer --------- 在服务器中安装sqlserver 数据库

    数据库文件可能比较大可以通过盘符映射来进行传递,就是时间比较慢 方法,上一片就是介绍如何进行传递    点击这个连接 安装sqlserver 2014 数据库 要是没有密钥可以试试这个 一般  .Ne ...

  9. 使用 Valgrind 检测 C++ 内存泄漏

    Valgrind 的介绍 Valgrind 可以用来检测程序是否有非法使用内存的问题,例如访问未初始化的内存.访问数组时越界.忘记释放动态内存等问题.在 Linux 可以使用下面的命令安装 Valgr ...

  10. sql server的for xml path与变通的行转列

    SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当 ...