mac电脑关于ios端的appium真机自动化测试环境搭建

一、app store 下载xcode,需要登录apple id 再开始下载

二、安装homebrew

1、终端输入命令:

curl -fsSL <https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh>

如果不能直接安装,而是出现了很多内容,那么这个时候不要着急,接着往下看

2、将这些内容全部复制到一个叫做 Homebrew.sh 的文件里面,没有这个文件就新建。

然后切换到这个文件所在的目录

终端输入命令:

./Homebrew.sh

注意:如果没有权限,先进行授权,授权命令为:

chmod +x [Homebrew.sh](<http://homebrew.sh/>)

然后再执行:

./Homebrew.sh

注意:在执行过程会询问你需要装哪个源,建议选择1(中科大国内源)

当出现如下询问,输入y,因为在后面需要用到core和cask

4、重启终端或者执行命令:

source /Users/lidia/.zprofile

5、查看是否安装成功,终端输入:

brew -v

正常情况下会显示brew的相关信息。如图

6、但是如果出现如下报错:

按照页面提示,终端执行这两个命令:

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

三、安装Node.js

1、终端执行命令:

brew install node@14

2、查看是否安装成功:

终端输入命令:

node -v

如果出现如下报错:zsh: command not found: node

可以尝试重新安装:

brew reinstall node@14

可以根据自己情况安装别的版本,我是node14

恭喜你,马上要成功了,按照提示,配置环境变量

终端输入命令:

export PATH="/usr/local/opt/node@14/bin:$PATH" >> ~/.zshrc

如果出现报错,还可以运行这个命令:

brew doctor

然后再执行命令:

node -v

出现如下版本信息,就说明安装成功了

四、安装 cnpm

1、终端执行命令:

npm install -g cnpm --registry=[<https://registry.npm.taobao.org>](<https://registry.npm.taobao.org/>)

2、检查安装是否成功:

cnpm -v

五、安装appium

1、直接到官网下载桌面版: Releases · appium/appium-desktop · GitHub  下载1.22.3-4版本的

2、下载下来之后直接安装

3、双击appium打开,如果打开的时候报错:"因为无法确认开发者身份.."

在终端执行命令:

sudo spctl --master-disable

然后再次打开就可以了,如果还是报错,则是没有java环境

4、安装java环境,oracle光网:Java Downloads | Oracle

检查自己电脑是什么芯片,如果是M系列,选择Arm 64 安装包。如果是Intel芯片的Mac,选择x64 安装包,并选择文件为dmg格式的安装包

六、安装pycharm和python

1、pycharm官网下载地址:https://www.jetbrains.com/pycharm/,下载之后直接双击安装

2、python下载地址:Python Release Python 3.10.8 | Python.org  下载3.10.8版本,

注意:3.10及以后的版本都行。太老的版本怕兼容不了代码。

python设置环境变量的命令:

echo "alias python=/usr/bin/python3" >> ~/.zshrc

七、安装appium-doctor

1、终端输入命令:

cnpm install -g appium-doctor

2、检查是否已经安装的命令:

appium-doctor --ios

八、安装 Carthage

1、终端执行命令:

brew install carthage

2、查看是否安装成功的命令:

carthage version

九、安装appium客户端

1、终端执行命令:

pip3 install Appium-Python-Client

十、安装ideviceinstaller

ideviceinstaller 是一个命令行工具,用于在通过 USB 连接到计算机的 iOS 设备上安装、卸载和管理应用程序

1、终端输入命令:

brew install ideviceinstaller

2、验证是否安装成功,终端输入:

ideviceinstaller --version

3、安装应用终端执行命令,在这里可以把你需要安装的包的ipa格式下载

ideviceinstaller -i /path/to/your/app.ipa

十一、安装ios-deploy

1、终端输入命令:

 brew install ios-deploy

2、验证是否安装成功:

ios-deploy -v

十二、安装libimobiledevice

1、终端输入命令:

brew install libimobiledevice

十三、安装xcode

直接app store安装xcoe

十五、安装WebDriverAgent

下载地址:GitHub - appium/WebDriverAgent: A WebDriver server for iOS and tvOS

十六、启动xcode

步骤:

1、上述WebDriverAgent地址下载下来一个叫做WebDriverAgent-master.zip的安装包

2、解压这个压缩包,并进入解压后的路径

3、找到一个叫做WebDriverAgent.xcodeproj的文件用xcode打开

4、打开之后,设置Product-scheme-WebDriverAgentRunner

5、如图设置设备为真机

6、设置WebDriverAgentLib

7、设置WebDriverAgentRunner

8、点击这个三角形✅运行按钮进行运行

9、点击上方product,选择test运行

如果ios手机出现了WebDriverAgent运用,并且有Automation Running 在界面移动,说明环境搭建成功

十七、安装appium-inspector

1、下载地址:Release 2023.6.2 · appium/appium-inspector · GitHub

下载最新版的即可

下载之后双击安装即可

2、appium-inspector配置

参数模版如下:

{"appium:bundleId": "com.mc.ts","appium:automationName": "XCUITest","appium:platformVersion": "16.2","appium:udid": "00008020-001238442EEA002E","platformName": "ios","appium:deviceName": "iPhone Simulator"
}参数获取:
(1)appium:bundleId--在终端执行命令:ideviceinstaller -l

(2)appium:automationName--在使用appium进行ios自动化测试时,XCUITest是常用的自动化测试框架,这里一般固定是XCUITest (3)appium:platformVersion--可以通过命令来获取这个信息:ideviceinfo | grep ProductVersion (4)appium:udid--可以通过命令获取这个信息:ideviceinfo | grep UniqueDeviceID (5)platformName--一般固定就是:ios (5)appium:deviceName--可以通过命令获取:ideviceinfo | grep DeviceName

3、启动appium服务,点击右下角的start session按钮,就可以启动啦

4、再打开appium-inspector,启动成功之后就会出现如下界面


如果你能看到这里,恭喜你,你的ios自动化测试环境搭建成功了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产服务器操作系统部署NTP服务 _ 统信UOS _ 麒麟 _ 中科方德

原文链接&#xff1a;国产服务器操作系统部署NTP服务 | 统信UOS | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;在保持服务器时间的精确同步方面&#xff0c;时间同步服务器&#xff08;NTP服务器&#xff09;扮演着至关重要的角色&#xff0c;它能确保系统操作的时…

【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series

【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series 摘要 这段文字介绍了一个名为TS2Vec的通用框架&#xff0c;用于学习时间序列数据的表示&#xff0c;可以在任意语义层次上进行。与现有方法不同&#xff0c;TS2Vec通过对增强的上下文视图进行层次化…

【RabbitMQ 二】RabbitMQ基本组成、交换器类型、RabbitMQ生产消费消息流程、信道Channel、AMQP协议

RabbitMQ入门 1.RabbitMQ基本组成 RabbitMQ有一些基本的组成单元&#xff1a; Producer&#xff1a;消息的生产者Consumer&#xff1a;消息的消费者Broker&#xff1a;RabbitMQ的服务节点。形象一点说就是一个Broker等同于一台RabbitMQ服务器&#xff0c;可以接收Producer的…

【热门话题】Stylus 入门与实践详解

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Stylus 入门与实践详解引言一、Stylus 简介1.1 什么是 Stylus&#xff1f;1.2 S…

【51单片机LCD1602显示矩阵键盘原始键值】2023-6-1

缘由https://ask.csdn.net/questions/7955623 #include "reg52.h" sbit LCD1602_RS P3^5;//RS端数据命令选择(H/L) sbit LCD1602_RW P3^6;//RW端读写选择(H/L) sbit LCD1602_EN P3^7;//EN端使能信号上升沿25ns void PanDuan1602(/*LCD1602忙判断*/) { LCD1602…

基于Vue Router和element-ui的LayOut

一、展示 二、代码 app.vue <template><div id"app"><el-container style"border: 1px solid #eee; height: 100vh"><el-aside v-bind:width"asideWidth" style"background-color: rgb(48, 65, 86);"><…

前端高频算法

分析算法排序&#xff1a; 时间复杂度: 一个算法执行所耗费的时间。 空间复杂度: 运行完一个程序所需内存的大小。 执行效率、内存消耗、稳定性 三方面入手。 1. 排序 1.1 冒泡排序 冒泡的过程只涉及相邻数据的交换操作&#xff0c;所以它的空间复杂度为 O(1)。 为了保证…

政安晨:【Keras机器学习示例演绎】(二十八)—— 使用 卷积神经网络与循环神经网络 架构进行视频分类

目录 数据收集 设置 定义超参数 数据准备 序列模型 推论 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正…

AIGC笔记--Diffuser的基本使用

目录 1--加载模型 2--半精度推理 3--固定随机种子 4--更改扩散步数 5--设置negative_prompt 1--加载模型 以下代码使用 from_pretrained() 来加载预训练模型&#xff0c;使用参数cache_dir来指定下载模型的存储地址&#xff1b; from diffusers import DiffusionPipeline,…

分享自己一篇在亚马逊云科技AWS官网发的Blog技术文章

小李哥在亚马逊AWS官网&#xff0c;作为第一作者发了自己的第一篇AWS Blog文章&#xff0c;也是自己今年在AWS官网的第11篇文章。文章主要内容是描述为出海的金融企业&#xff0c;搭建满足PCI-DSS合规、FIPS 140-2 Level 3安全标准的传输中数据加密云端方案&#xff0c;主要用于…

江苏省建设工程专业技术资格条件

江苏省建设工程专业技术资格条件评审文件链接江苏省人力资源和社会保障厅 人才人事 省专业技术人员职称&#xff08;职业资格&#xff09;工作领导小组 关于印发《江苏省建设工程专业技术资格条件&#xff08;试行&#xff09;》的通知评审工作的通知江苏省人力资源和社会保障厅…

【补充】1-auth的使用、扩写auth的user表、django支持缓存

1 Auth的使用 1.1 扩写auth的user表 2 缓存 1 Auth的使用 # django 的一个app---》用户的登录&#xff0c;退出&#xff0c;注册。。。# 配置文件中配置&#xff1a;---》表会被迁移INSTALLED_APPS [django.contrib.auth,]# auth有哪些表---权限控制&#xff1a;-Permission&a…

更深层次理解传输层两协议【UDP | TCP】【UDP 缓冲区 | TCP 8种策略 | 三次握手四次挥手】

博客主页&#xff1a;花果山~程序猿-CSDN博客 文章分栏&#xff1a;Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 再谈端口号 端口号的返回…

ML system 入坑指南

ML system 入坑指南 | 摸黑干活 最近ChatGpt大火,越来越多开始关注大模型2,但对于大模型落地而言,除了先进的算法,其背后的MLsystem(机器学习系统), 从分布式训练到高效推理的完整链路同样重要, 好的基础设施是应用爆发的基础. 作为一个入坑MLsys快两年半的练习生, 本文主要围…

jsp驾校管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 驾校管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用serlvetdaobean mvc 模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发…

C#面:ASP.NET 的身份验证方式有哪些

C# ASP.NET 提供了多种身份验证方式&#xff0c;常用的有以下几种&#xff1a; Forms 身份验证&#xff1a;Forms 身份验证是 ASP.NET 中最常用的身份验证方式之一。它基于 cookie来跟踪用户的身份认证状态。在 Forms 身份验证中&#xff0c;用户在登录页面输入用户名和密码后…

解码Starknet Verifier:深入逆向工程之旅

1. 引言 Sandstorm为&#xff1a; 能提交独立proof给StarkWare的Ethereum Verifier&#xff0c;的首个开源的STARK prover。 开源代码见&#xff1a; https://github.com/andrewmilson/sandstorm&#xff08;Rust&#xff09; L2Beat 提供了以太坊上Starknet的合约架构图&…

单机多GPU的训练及debug中vscode下launch.json内容设置

1.预配置 Local_rank:当前机子上的第几块GPU。这里设置为-1&#xff0c;后续多线程自动分配显卡。 Cuda_visible_devices:指定分配资源到几块显卡上&#xff0c;这里‘0&#xff0c;1&#xff0c;2&#xff0c;3’就是这四张gpu的id。 os.environ[LOCAL_RANK] -1 os.enviro…

rust可变全局静态数组用法

extern crate alloc; use alloc::vec::Vec; use core::mem::ManuallyDrop; use log::info; use uefi::println; pub static mut gbuf:&static mut [i32] &mut [0; 0x1000]; pub fn testdumphex() -> i32 { info!(“testdumphex!”); let mut hexvec Vec::new();…

农村公交与异构无人机协同配送优化

针对农村公交与异构无人机协同配送的优化问题,可以从以下几个方面进行探讨: 1. 融合公交与无人机配送 公交物流体系:利用农村公交网络,建立以公交车辆为基础的物流配送体系。公交车辆可以沿途收集或投递货物,提高物流配送效率。无人机辅助配送:在公交物流体系的基础上,…