转载: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. [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, ...

  2. shell脚本特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)

    $0        Shell本身的文件名$1-$n 添加到Shell的各参数值.$1是第1参数.$2是第2参数…$$        Shell本身的PID(ProcessID) $!         ...

  3. it's over | 2019 CSP-S 第二轮认证(超长预警)

    也许应该从Day -1(2019年11月14日周四)开始说起? 卑微的我们在学长的怂恿下终于...停课了(哇我们太菜了,只停一天半的课有个卵用 早读后我带头去办公室请假,飞哥很大方地答应了,同时免了我 ...

  4. AtCoder Grand Contest 038 简要题解

    从这里开始 比赛目录 Problem A 01 Matrix Code #include <bits/stdc++.h> using namespace std; typedef bool ...

  5. windbg排查线上线程数爆炸问题

    1.早上发现有个job的线程数一直居高不下 2.于是dump一个文件拉到本地,查到都在执行 StartInner方法 3.查询代码,此方法是个静态类开启线程的地方,理论上没有任何问题 4.思索了半天, ...

  6. Linux内核中的并发与竞态概述

    1.前言 众所周知,Linux系统是一个多任务的操作系统,当多个任务同时访问同一片内存区域的时候,这些任务可能会相互覆盖内存中数据,从而造成内存中的数据混乱,问题严重的话,还可能会导致系统崩溃. 2. ...

  7. linux搜索log文件的内容

    日志一般是记载每天所做的工作.在计算机科学中,日志是指服务器等电脑设备或软件的运作记录(Server log).在电脑设备和软件出现问题时,日志是我们在排查问题的一个重要依据.查询日志是用户记录从客户 ...

  8. java.lang.IllegalStateException: Received message from unsupported version: [5.2.2] minimal compatible version is: [5.6.0]

    启动elasticsearch-6.2.2-Windows服务时报错: java.lang.IllegalStateException: Received message from unsupport ...

  9. CSS加载会阻塞页面显示?

    可能大家都知道,js执行会阻塞DOM树的解析和渲染,那么css加载会阻塞DOM树的解析和渲染吗?接下来,我们就一起来分析一下. 原理解析 那么为什么会出现上面的现象呢?我们从浏览器的渲染过程来解析下. ...

  10. .net Core 学习笔记(实体字段映射,IOC注入)

    https://github.com/wj1034184751/ADO.NetCore.git 先简单的做一个学习架子, EF层用的是 EFCore(2.1.0)+ Pomelo.EntityFram ...