作为一名普普通通的实习生,我也开始习惯折腾一般的生活了。部门应该最近是要搞个iOS自动化测试工具,我从最开始说起吧。

应该是上上上周五。主管找到我,说要装一个黑苹果,要我尽快把黑苹果能支持的硬件配置给他。当时很激动也很害怕,还专门找之前带我们上iOS开发的老师要了一个远景论坛的账号(那位老师人真好,很大方的就给我了~),不断的爬贴搜索,看着一大堆根本不了解的什么型号说明,硬件方面的术语,心里是又焦急又激动。后来整理了一个列表给主管,准备周一开始折腾折腾。这里推荐需要装黑苹果的可以去远景论坛上搜索,里面的信息很全很充实。就是要注册一个账号需要一定的耐心。

周一主管说,你怎么没发邮件给我啊?我说,发了啊,估计被拦截了。好在有印象硬件支持的资料大概在什么位置。总结之后,等着主管为我找到合适的机器安装黑苹果。

下面是自己逛论坛总结的,时间长了可能记不太清楚,毕竟也看过一段时间,虽没安装过但毕竟也花费过一段时间了总结了。
首先是内存问题,我看有人说内存4G都比较卡,想想自己笔记本Mac虚拟机的卡,觉得4G应该是最低要求。内存条是有的,但是不一定和主板兼容。
CPU一般性能较好的Intel系列都可以,AMD的比较悲剧,好像只支持到10.6.3还是多少。
网卡一般不是问题,RTL系列的基本都可以。声卡就更不是问题了,本来就没打算听......
显卡问题比较重要,集显能支持的是intel HD3000/4000,独显能支持的有大部分N卡和某些A卡,可以去论坛上看看兼容列表。
苹果公司就是这么奇葩,非要整自己的特色,连硬件都是这么独一无二的,有钱的土豪花几倍的价格买设备,没钱的苦B花NNN倍的精力装系统。

总之,不是显卡不支持就是CPU是A卡的,CPU支持了U口不一定能开,U口能开的显卡又不支持,凑合能用的内存也不适配。

最后说准备买独显把,后来领导们自己商量了一下,准备买白苹果了,黑苹果就不用装了。不知道上天是不是在拯救我还是在卓龙窝。

罢了。只得用虚拟机了。给我的这台机器上本身就装了个虚拟机,Mac OS X 10.7版本,Xcode 4.我就正好拿这个虚拟机练手了。
因为此时加上之前我用的的,一共有两台电脑了,但是上网账号只有一个,我怕影响有虚拟机那台的速度,没有让虚拟机上网。于是常见的一个场景就是我在两台机子上切换来切换去。。。

闲话少说了,直接说人话。如果你想在Mac上使用Appium进行iOS或者Android的自动化测试,请保证你的虚拟机(真机)达到以下标准:
系统:Mac OS X 10.8.x 以上(10.7的最后一个版本也可以,不过官网推荐的是10.8.4)
工具:Xcode4.5以上(Xcode版本和Mac的版本是挂钩的),Xcode Command Line Tools(对应Xcode版本的命令行工具)
虚拟机:VMWare 9以上(8只支持到10.7,而且10.7的最后一个版本不支持)
本机硬件:最好Intel系列CPU,N卡。

可以想见,我又从头装了一遍VMWare,到Xcode。折腾的够呛。
网上在VMWare中安装Mac系统的教程非常之多,这里不再详述。

最后有几点是安装虚拟机自己个人总结的,比较重要的:
1.至少分配2G内存给Mac
2.分配硬盘时,一般不干太多事30G就够了,选择“将虚拟机存储为单个文件”,并且勾选“立即分配磁盘空间”。用以提高效率。

有时间继续写Appium的安装注意事项,真是能折腾啊~

漫长Appium之路(一)——从黑苹果到虚拟机的更多相关文章

  1. 漫长Appium之路(二)——Appium安装与使用总结

    前面介绍了iOS自动化工具的Appium所需的虚拟机环境,接下来介绍下Appium的安装与使用方法,这个足足折腾我将近一个星期.网上没有什么详细的资料,对于遇到的各种各样问题也没用提供明确的解决方法. ...

  2. Appium学习路—Android定位元素与操作

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

  3. Appium学习路—脚本篇(启动app)

    启动之前的准备   1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch     2.iOS的测试只能在mac本上做   ...

  4. Appium学习路-打包apk和ipa篇

    间隔这么长时间再去写Appium的学习篇是有原因的,因为在想要用appium测试ios时,发现appium只能测试debug版本的ipa包.然后就需要自己去学习打包了啊.然后就对xcode各种不了解, ...

  5. Appium学习路-安装篇

    比较好的文章:http://www.15yan.com/story/4GbuTwXQKDU/ 官网资料:http://appium.io/slate/cn/v1.2.0/?python#appium ...

  6. 云计算之路-试用Azure:制作虚拟机自定义镜像

    虚拟机自定义镜像(Image)是一个很有用的功能,可以在一台虚拟机上配置好基本的系统环境,然后做个镜像,以后创建虚拟机直接从这个镜像创建,会省掉很多重复的配置工作. 阿里云与UCloud都有这个功能, ...

  7. 【JVM进阶之路】一:Java虚拟机概览

    1.Java简史 Java语言是一门通用的.面向对象的.支持并发的程序语言.全球从事Java相关开发的人员已经数以百万计. 从1995年"Java"正式出现以来,Java已经经历了 ...

  8. 【进阶之路】深入理解Java虚拟机的类加载机制(长文)

    我们在参加面试的时候,经常被问到一些关于类加载机制的问题,也都会在面试之前准备的时候背好答案,但是我们是否有去深入了解什么是类加载机制呢?这段时间因为一些事情在家看了些书,这次就和大家分享一些关于Ja ...

  9. 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结

    Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...

随机推荐

  1. 错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型

    第一种方法: AfxMessageBox( "Simple   message   box. ");如果先定义一个CString   变量,再赋值就没问题CString   sTe ...

  2. Android开发者资源大汇总

    本文总结了最新的Android开发资源.下面列出的资源都是常用的,每个Android程序员都应该知道,能大大方便App开发.Enjoy~ 来源:Android开发周刊 中文的Android开发信息,资 ...

  3. Android将应用程序的崩溃信息如何保存到本地文件,并上传服务器

    导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希 ...

  4. Fiddler工具的基本功能

    Fiddler是一款用于网页数据分析,抓取的工具,里面集成了对网页强大的功能外,还可以通过设置,使其对手机的数据也可以进行抓取 Fiddler的原理是: 通过在客户端和服务器之间创建一个代理服务器来对 ...

  5. Unity3D独立游戏开发日记(二):摆放建筑物

    在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有 ...

  6. [USACO 3.1.4]rect1(漂浮法/矩形切割)

    描述 N个不同的颜色的不透明的长方形(1 <= N <= 1000)被放置在一张横宽为A竖长为B的白纸上. 这些长方形被放置时,保证了它们的边与白纸的边缘平行. 所有的长方形都放置在白纸内 ...

  7. DOM(一)模型中的模型节点

    <html>位于网页的顶端 它没有父辈,称之为根节点 1.元素节点(element node) 可以说,整个DOM模型都是由元素节点(element node)组成 比如文本段落元素“&l ...

  8. 写在读ng之前的基础知识----笔记

    如果要看angular的代码, 先把这个给看了, 司徒的干货. /******************************************************************* ...

  9. beta版本工作百分比

    1.附上github上,beta阶段的整体工作情况 2.beta版本分工情况: 马凛凛 031302620(组长):主要负责任务分配和规划,编码工作主要是系统的“实时编辑”功能,以及服务器的配置和部署 ...

  10. Ibatis学习总结5--动态 Mapped Statement

    直接使用 JDBC 一个非常普遍的问题是动态 SQL.使用参数值.参数本身和数据列都 是动态的 SQL,通常非常困难.典型的解决方法是,使用一系列 if-else 条件语句和一连串 讨厌的字符串连接. ...