转载: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. Linux性能优化实战学习笔记:第二十八讲

    一.案例环境描述 1.环境准备 2CPU,4GB内存 预先安装docker sysstat工具 apt install docker.io sysstat nake git 案例总共由三个容器组成: ...

  2. [LeetCode] 285. Inorder Successor in BST 二叉搜索树中的中序后继节点

    Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ...

  3. Elasticsearch由浅入深(八)搜索引擎:mapping、精确匹配与全文搜索、分词器、mapping总结

    下面先简单描述一下mapping是什么? 自动或手动为index中的type建立的一种数据结构和相关配置,简称为mappingdynamic mapping,自动为我们建立index,创建type,以 ...

  4. 分布式数据库缓存系统Apache Ignite

    Apache Ignite内存数据组织是高性能的.集成化的以及分布式的内存平台,他可以实时地在大数据集中执行事务和计算,和传统的基于磁盘或者闪存的技术相比,性能有数量级的提升. 将数据存储在缓存中能够 ...

  5. 第17课 lambda表达式

    一. lambda表达式 (一)语法定义:[capture](paramters) mutable ->returnType{statement} 1.[capture]:捕获列表 (1)lam ...

  6. vulnhub之SP:Harrison靶机

    下载地址:‘https://www.vulnhub.com/entry/sp-harrison,302/’ 环境:靶机放在virtualbox上运行,网卡模式 攻击机:kali Linux运行在VMw ...

  7. github 白嫖记(一)

    位运算 按位操作符:0或者1之间的运算 a|b 或 任意一个为1结果为1 console.log(0 | 1) //1 console.log(1 | 0) //1 console.log(1 | 1 ...

  8. Java & Android未捕获异常处理机制

    一.背景 无论是Java还是Android项目,往往都会用到多线程.不管是主线程还是子线程,在运行过程中,都有可能出现未捕获异常.未捕获异常中含有详细的异常信息堆栈,可以很方便的去帮助我们排查问题. ...

  9. python--unittest测试框架

    unittest中最核心的四个概念是:test case, test suite, test runner, test fixture

  10. 【IntelliJ IDEA】idea部署服务到Tomcat的工作原理

    参考地址: https://blog.csdn.net/qq_41116058/article/details/81435084 为什么idea部署服务到tomcat时候,一定要修改Applicati ...