虚拟机完美搭建IOS自动化测试环境

一、win系统

1.1 安装虚拟机VM16

如果是macos系统请跳过

详细安装请看压缩包,私信可以提供安装包

1.2 VM解锁macOS

使用的是unlocker

解锁涉及到修改注册列表,会报毒,请先关闭杀毒软件

解锁前需要关闭vmvare程序

同时关闭任务管理器中所有vm开头的服务

将解锁包解压出来,右键以管理员身份运行win-install.cmd

查看是否解锁成功:

这里出现MacOS则为解锁成功,版本可以默认不选择

这时候需要把任务管理器中的VM服务都打开

1.3 VM导入macOS

1.3.1 选择好虚拟机存放的位置,下一步

1.3.2 设置虚拟机的处理器数量,我这里是八核(建议最少4核)

1.3.3 设置内存,我这里是16g,建议最低8g

1.3.4 选择网络

1.3.5 选择控制器类型

1.3.6 设置磁盘

1.3.7 创建完成,设置CD

1.3.8 启动

这里若是启动卡住不动或者报错

  1. 到macos安装路径下

  1. 鼠标右键编辑

可以尝试一下几种方式

intel的cpu:

(1)不修改

(2)结尾处添加代码

smc.version = 0

(3)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:1111:1010:1011:1111:1011:1111:1111"
featureCompat.enable = "FALSE"

(4)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:1111:1010:1011:1111:1011:1111:1111"
featureCompat.enable = "TRUE"

(5)结尾处添加代码

smbios.reflectHost = "TRUE"
hw.model = "MacBookPro16,1"
board-id = "Mac-E1008331FDC96864"

amd的cpu:

(1)不修改

(2)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:0111:1000:1011:1111:1011:1111:1111"
smbios.reflectHost = "TRUE"
hw.model = "MacBookPro14,3"
board-id = "Mac-551B86E5744E2388"
keyboard.vusb.enable = "TRUE"
mouse.vusb.enable = "TRUE"

(3)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011" cpuid.1.edx = "0000:0111:1000:1011:1111:1011:1111:1111"

(4)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:0111:1000:1011:1111:1011:1111:1111"
featureCompat.enable = "TRUE"

具体安装问题可以参考:https://www.dhzy.fun/archives/3858.html

1.4 macOS基础设置

1.4.1 扩大磁盘

1.4.2 运行系统

系统开始安装,安装过程中,系统会自动重启数次,整个安装过程大约需要1小时左右;

系统安装完成后,根据设置向导设置区域,输入法等,区域选择【中国大陆】;

辅助功能点击【以后】进行跳过,进入系统后再设置;

在登录Apple ID时,可选择【稍后设置】进行跳过

创建电脑账户,设置用户名和密码

1.4.3 安装 VMware Tools

  1. 在系统中,弹出系统安装盘;

  1. 在虚拟机菜单中,点击安装 VMware Tools;



  1. 根据安装向导开始VMware Tools的安装;

  1. 选择【为这台电脑上的所有用户安装】点击【继续】;

5.点击【安装】,根据提示输入用户密码;



  1. 在弹出的系统拓展提示信息选择【打开系统设置】-【隐私与安全性】-【安全性】中【允许】来自开发者"VMware,Inc.”的系统软件已被阻止载入;



  1. VMware Tools安装完成,点击【重新启动】完成。

二、macOS实现IOS自动化测试环境搭建

环境说明

Mac版本:macOS Monterey 13(intel平台)

Xcode版本:V13.3.1

Appium版本:V1.22.3

2.1、JDK

双击jdk-8u202-macosx-x64.dmg

2.2、Xcode

双击Xcode_13.3.1.xip,进行安装

2.2.1、Command_Line_Tools_for_Xcode

双击Command_Line_Tools_for_Xcode_13.3.1.dmg

2.3、Appium Desktop

双击Appium-Server-GUI-mac-1.22.3-4.dmg

2.4、Appium-Inspector

双击Appium-Server-GUI-mac-1.22.3-4.dmg

2.5、Homebrew

通过镜像安装方式:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

(推荐使用中科大的镜像源)

2.6、Carthage

brew install carthage
carthage version

2.7、 ios-deploy

brew install ios-deploy

2.8、ideviceinstaller

brew install --HEAD ideviceinstaller

2.9、libimobiledevice

#安装最新版本libimobiledevice
brew install --HEAD libimobiledevice

2.10、Node&npm

brew install node

2.11、Appium doctor

npm install appium-doctor -g
#检测iOS环境是否安装成功
appium-doctor --ios

2.12、Pip

双击pip-24.0.zip,进行解压

cd pip-24.0
python3 setup.py install

2.13、setuptools

双击setuptools-69.2.0.tar.gz,解压

cd setuptools-69.2.0
python3 setup.py install

三、配置WebDriverAgent

3.1、先安装

本机路径为:

cd /Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/Scripts
node ./build-webdriveragent.js

3.2、用xcode 打开工程文件,把文件直接拖到xcode可知己打开

文件路径为:/Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj

3.3、xcode登录账号

添加account:Xcode -> Preferences -> account -> 左下角 +

3.4、设置team,所有TARGETS都需要设置

3.5、更改bundle id

这里的bundle id就相当于一个App的唯一识别号,更改的规则随意,只要确认不会与有重复即可;所有的targets都需要修改

3.6、构建WebDriverAgentRunner

3.7、启动

点击Product → 选择Test方式

如果真机运行后弹出以下弹窗,则需要在设置中信任证书

处理方式,在真机中授权信任WebDriverAgentRunner

授权信任之后需要重新点击Test

日志出现地址则成功

可以测试下网址是否可以打开

四、配置Appium

4.1 启动Appium Server

显示日志则成功

4.2 启动Appium Inspector

配置后点击Start Session,基本配置的参数如下:

{{
"platformName": "iOS",
"appium:deviceName": "iPhone 7",
"appium:udid": "c2d40a68a9c3123d2fd0aa85fddef4ec1e39c4bf",
"appium:platformVersion": "15.8.2"
}

五、编辑Python程序

5.1 打开pycharm,新建项目

新建项目

5.2、新建python项目

import time

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction # 启动参数
iOS_caps = {
'automationName': 'XCUITest',
'platformName': 'iOS',
'platformVersion': '15.8.3',
'udid': 'c2d40a68a9c3123d2fd0aa85fddef4ec1e39c4bf',
'deviceName': 'iPhone'
} # 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', iOS_caps) # 亚马逊图标 XPath
亚马逊图标_xpath = '//XCUIElementTypeIcon[@name="亚马逊购物"]' # 定位亚马逊图标并点击
亚马逊图标 = driver.find_element('xpath', 亚马逊图标_xpath)
TouchAction(driver).tap(亚马逊图标).perform() time.sleep(5) # 退出程序
driver.quit()

右键-》run

【原创】win11完美搭建macos13实现IOS自动化测试环境的更多相关文章

  1. mac上搭建appium+IOS自动化测试环境(一)

    阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...

  2. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  3. 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置

    在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...

  4. IOS自动化测试环境搭建(Python & Java)

         一.前言 IOS的App自动化测试与Android的一样,也可以用appium来进行.但是IOS自动化依赖苹果的osx系统.Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机.A ...

  5. Appium自动化—浅谈iOS自动化测试环境搭建

    在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...

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

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

  7. Mac下搭建Appnium+Python+Ios模拟器环境

    转载:https://www.jianshu.com/p/f7cf077d9444 https://blog.csdn.net/a158123/article/details/79684499 htt ...

  8. 搭建appium+maven手机自动化测试环境搭建

    搭建安卓自动化测试框架记录: 需要的软件: jdk版本:jdk1.8 appium版本:v1.4.16 下载AppiumForWindows.zip (下载appium1.7不需要配置环境变量) no ...

  9. React-native搭建移动端ios开发环境实践笔记

    开发环境的搭建,按照 https://reactnative.cn/docs/getting-started/ 里面的步骤一步一步来,这里记录下需要注意的几点:1.初始化react-native项目的 ...

  10. Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境

    一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins做自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理. 在搭建jmeter+ant+jenkins环境有 ...

随机推荐

  1. 苏宁基于 AI 和图技术的智能监控体系的建设

    汤泳,苏宁科技集团智能监控与运维产研中心总监,中国商业联合会智库顾问,致力于海量数据分析.基于深度学习的时间序列分析与预测.自然语言处理和图神经网络的研究.在应用实践中,通过基于 AI 的方式不断完善 ...

  2. mysql-编写脚本-批量插入数据

    一.代码 -- 报工设置,添加数据 set @org_id = '租户id'; set @created_user = 'yike'; set @updated_user = 'yike'; set ...

  3. java基础 韩顺平老师的 面向对象(基础) 自己记的部分笔记

    194,对象内存布局 基本数据类型放在堆里面,字符串类型放在方法区. 栈:一般存放基本数据类型(局部变量) 堆:存放对象(Cat cat,数组等) 方法区:常量池(常量,比如字符串),类加载信息 19 ...

  4. 建民的Java小课堂

    Java Java快问快答: 1.JAVA的基本运行单位是类还是方法? 很明显是类 2.类由什么组成? 由特性和行为的对象组成 3.变量的类型,相互之间可以转换吗,浮点数? 答案是可以 int i=9 ...

  5. codeforce Round 934 div2 个人题解(A~C)

    A. Destroying Bridges 时间限制: 1秒 内存限制: 256兆 输入: 标准输入 输出: 标准输出 有 $n$ 个岛屿,编号为 $1,2,-,n$.最初,每对岛屿都由一座桥连接.因 ...

  6. 汽车VR虚拟仿真技术如何加速自动驾驶的发展?

    虚拟现实和虚拟仿真将带领自动驾驶汽车从汽车研发.体验.展厅.销售等各个环节迈入全新时代.2019 年,全球增强现实和虚拟现实市场为168 亿美元,到 2023 年,该市场的未来增长预计将超过 1600 ...

  7. 剖析云流送技术如何为3D应用带来用户使用便利

    在过去的十年中,云游戏技术的发展为云计算行业带来了新的机遇.随着Google Stadia和GeForce Now之类的服务逐步向公众开放,云流送(cloud streaming)技术得到更大范围的应 ...

  8. 记录--Vue PC前端扫码登录

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 需求描述 目前大多数PC端应用都有配套的移动端APP,如微信,淘宝等,通过使用手机APP上的扫一扫功能去扫页面二维码图片进行登录,使得用户 ...

  9. 【Nginx】如何使用自签CA配置HTTPS加密反向代理访问?看了这篇我会了!!

    写在前面 随着互联网的发展,很多公司和个人越来越重视网络的安全性,越来越多的公司采用HTTPS协议来代替了HTTP协议.为何说HTTPS协议比HTTP协议安全呢?小伙伴们自行百度吧!我就不说了.今天, ...

  10. linux 时钟同步

    yum install ntp -y #cn.pool.ntp.org ntp[1-7].aliyun.com ntpdate ntp1.aliyun.com #把当前系统时间写入到CMOS中 clo ...