虚拟机完美搭建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. [Linux] rockylinux9.1 的部署使用过程 -- ZFS 虚拟机 cockpit podman samba

    备选镜像 | Rocky Linux rocky linux 使用记录 - 个人文章 - SegmentFault 思否 # https://blog.csdn.net/NeverGUM/articl ...

  2. 深入解析ASP.NET Core MVC应用的模块化设计[上篇]

    ASP.NET Core MVC的"模块化"设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载.这种为"飞行中的飞 ...

  3. Java 求数值型数组中的最大元素 最小值 平均值 总和等 要求:随机数是 两位数

    1 /* 2 * 3 * 算法考查:求数值型数组中的最大元素 最小值 平均值 总和等 4 * 要求:随机数是 两位数 5 * [10,99] 6 * 公式:(int)(Math.random()*(9 ...

  4. Leetcode 1161 最大层内元素和

    一.题目 给你一个二叉树的根节点 root.设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推. 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个. 示 ...

  5. PlatformIO+ESP32+Vscode+DS18B20温度传感器(一直输出-127)

    DS18B20一直输出-127 ?? 一.硬件连线 二.代码 三.遇到的问题 一.硬件连线 将相应的线接到ESP wroom 32 二.代码 先在PlatformIO的library添加onWire库 ...

  6. JSF之Action 与ActionListener的区别

     事件  检验  参数  事件产生  页面跳转  Action  有 无参数,不传入当前控件,有返回值    当铵钮被单击时产生事件.提交表单   返回页面---根据配置文件跳转  ActionLis ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (216)-- 算法导论16.2 3题

    三.假定在 0-1 背包问题中,商品的重量递增序与价值递减序完全一样.设计一个高效算法求此背包问题的变形的最优解,证明你的算法是正确的.如果要写代码,请用go语言. 文心一言: 在0-1背包问题中,如 ...

  8. 洞元智维产品上线:江浙沪PV访问量飙升背后的深层逻辑与未来发展趋势

    洞元智维产品自上线以来,凭借其卓越的智能化产品性能和出色的用户体验,迅速在市场上崭露头角,特别是在上海.江苏.浙江等经济发达地区,其PV访问量持续飙升.这不仅反映了用户对智能化产品的强烈需求,更揭示了 ...

  9. RageFrame学习笔记:环境配置+项目拉取并实例化到本地

    最近在研究一个基于YII2的框架,原本我以为很简单,但没想到在第一步环境配置和实例化上就卡了我4个小时,这里分享出我走过的弯路和解决问题的整个流程. 关注我文章的朋友应该了解过,我之前学习easyad ...

  10. python批量发邮箱

    1.首先登录邮箱中开启服务 2.获取到授权码后复制下来,放入如下含授权码的引号中: 1 smtp_obj.login("**********@qq.com", "授权码& ...