【原创】win11完美搭建macos13实现IOS自动化测试环境
虚拟机完美搭建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 启动
这里若是启动卡住不动或者报错
- 到macos安装路径下
- 鼠标右键编辑
可以尝试一下几种方式
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
- 在系统中,弹出系统安装盘;
- 在虚拟机菜单中,点击安装 VMware Tools;
- 根据安装向导开始VMware Tools的安装;
- 选择【为这台电脑上的所有用户安装】点击【继续】;
5.点击【安装】,根据提示输入用户密码;
- 在弹出的系统拓展提示信息选择【打开系统设置】-【隐私与安全性】-【安全性】中【允许】来自开发者"VMware,Inc.”的系统软件已被阻止载入;
- 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自动化测试环境的更多相关文章
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...
- IOS自动化测试环境搭建(Python & Java)
一.前言 IOS的App自动化测试与Android的一样,也可以用appium来进行.但是IOS自动化依赖苹果的osx系统.Xcode构建等,且封闭的系统需要苹果开发者账号才可以驱动真机.A ...
- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- 图文教程:在Mac上搭建Titanium的iOS开发环境
http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...
- Mac下搭建Appnium+Python+Ios模拟器环境
转载:https://www.jianshu.com/p/f7cf077d9444 https://blog.csdn.net/a158123/article/details/79684499 htt ...
- 搭建appium+maven手机自动化测试环境搭建
搭建安卓自动化测试框架记录: 需要的软件: jdk版本:jdk1.8 appium版本:v1.4.16 下载AppiumForWindows.zip (下载appium1.7不需要配置环境变量) no ...
- React-native搭建移动端ios开发环境实践笔记
开发环境的搭建,按照 https://reactnative.cn/docs/getting-started/ 里面的步骤一步一步来,这里记录下需要注意的几点:1.初始化react-native项目的 ...
- Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins做自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理. 在搭建jmeter+ant+jenkins环境有 ...
随机推荐
- [Linux] rockylinux9.1 的部署使用过程 -- ZFS 虚拟机 cockpit podman samba
备选镜像 | Rocky Linux rocky linux 使用记录 - 个人文章 - SegmentFault 思否 # https://blog.csdn.net/NeverGUM/articl ...
- 深入解析ASP.NET Core MVC应用的模块化设计[上篇]
ASP.NET Core MVC的"模块化"设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载.这种为"飞行中的飞 ...
- Java 求数值型数组中的最大元素 最小值 平均值 总和等 要求:随机数是 两位数
1 /* 2 * 3 * 算法考查:求数值型数组中的最大元素 最小值 平均值 总和等 4 * 要求:随机数是 两位数 5 * [10,99] 6 * 公式:(int)(Math.random()*(9 ...
- Leetcode 1161 最大层内元素和
一.题目 给你一个二叉树的根节点 root.设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推. 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个. 示 ...
- PlatformIO+ESP32+Vscode+DS18B20温度传感器(一直输出-127)
DS18B20一直输出-127 ?? 一.硬件连线 二.代码 三.遇到的问题 一.硬件连线 将相应的线接到ESP wroom 32 二.代码 先在PlatformIO的library添加onWire库 ...
- JSF之Action 与ActionListener的区别
事件 检验 参数 事件产生 页面跳转 Action 有 无参数,不传入当前控件,有返回值 当铵钮被单击时产生事件.提交表单 返回页面---根据配置文件跳转 ActionLis ...
- 文心一言 VS 讯飞星火 VS chatgpt (216)-- 算法导论16.2 3题
三.假定在 0-1 背包问题中,商品的重量递增序与价值递减序完全一样.设计一个高效算法求此背包问题的变形的最优解,证明你的算法是正确的.如果要写代码,请用go语言. 文心一言: 在0-1背包问题中,如 ...
- 洞元智维产品上线:江浙沪PV访问量飙升背后的深层逻辑与未来发展趋势
洞元智维产品自上线以来,凭借其卓越的智能化产品性能和出色的用户体验,迅速在市场上崭露头角,特别是在上海.江苏.浙江等经济发达地区,其PV访问量持续飙升.这不仅反映了用户对智能化产品的强烈需求,更揭示了 ...
- RageFrame学习笔记:环境配置+项目拉取并实例化到本地
最近在研究一个基于YII2的框架,原本我以为很简单,但没想到在第一步环境配置和实例化上就卡了我4个小时,这里分享出我走过的弯路和解决问题的整个流程. 关注我文章的朋友应该了解过,我之前学习easyad ...
- python批量发邮箱
1.首先登录邮箱中开启服务 2.获取到授权码后复制下来,放入如下含授权码的引号中: 1 smtp_obj.login("**********@qq.com", "授权码& ...