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通过对增强的上下文视图进行层次化…

【热门话题】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;欢迎在评论区提出指正…

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

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

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

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

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

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

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

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

C语言/数据结构——每日一题(反转链表)

一.前言 大家好&#xff01;今天又是每日一题环节。今天我为大家分享了一道单链表题——反转链表。 废话不多说&#xff0c;让我们直接进入正题吧。 二.正文 1.1题目信息 这是一道leetCode上面的一道题&#xff1a;https://leetcode.cn/problems/reverse-linked-list 1.2解…

2.2 Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue基本语法

文本渲染指令 文本渲染指令-v-html与v-text Vue使用了基于HTML的模板语法&#xff0c;允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue的模板都是 合法的HTML&#xff0c;所以能被遵循规范的浏览器和HTML解析器解析。 在前面&#xff0c;我们一直使用的是字符串插…

Java面试八股之强软弱虚引用的概念及区别

Java中强软弱虚引用的概念及区别 在Java中&#xff0c;强引用、软引用、弱引用和虚引用是四种不同类型的引用&#xff0c;它们在对象生命周期管理、垃圾收集&#xff08;Garbage Collection, GC&#xff09;以及内存管理方面有着不同的行为和用途。以下是它们的概念和主要区别…

2.Neo4j的搭建启动

Graph Database 图数据库 版本对应关系 官网都是高版本&#xff0c;推荐使用下载地址可以找到社区老版本&#xff1a; https://we-yun.com/doc/neo4j/ neo4j.bat 启动脚本 cypher-shell.bat 执行CQL语句的。 import文件夹可以放入excel,csv等数据文件&#xff0c;导入到…

多模态大语言模型和 Apple 的 MM1

原文地址&#xff1a;multimodal-large-language-models-apples-mm1 2024 年 4 月 13 日 抽象是计算机科学中最关键的概念之一&#xff0c;具有一些最强大的影响。从简单的角度来看&#xff0c;抽象就是将某一事物应用于多种不同情况的能力。例如&#xff0c;如果你创造了一种…

本地大语言模型LLM的高效运行专家 | Ollama

Ollama简介 Ollama是一个开源的大型语言模型服务工具&#xff0c;它帮助用户快速在本地运行大模型。通过简单的安装指令&#xff0c;用户可以执行一条命令就在本地运行开源大型语言模型&#xff0c;如Llama 2。Ollama极大地简化了在Docker容器内部署和管理LLM的过程&#xff0…

JAVA面试专题-微服务篇

Spring cloud Spring Cloud 5大组件有哪些 注册中心/配置中心&#xff1a;nacos 负载均衡&#xff1a;Ribbon 服务远程调用&#xff1a;Feign 服务保护&#xff1a;sentinel 服务网关&#xff1a;Gateway 微服务注册和发现 nacos和eureka的区别 负载均衡 微服务向Ribbon发送…

基于Spring Boot的校园疫情防控系统设计与实现

基于Spring Boot的校园疫情防控系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 管理员登录首页界面图&#xff0c;管理员进入校园疫…

Android --- 消息机制与异步任务

在Android中&#xff0c;只有在UIThread(主线程)中才能直接更新界面&#xff0c; 在Android中&#xff0c;长时间的工作联网都需要在workThread(分线程)中执行 在分线程中获取服务器数据后&#xff0c;需要立即到主线程中去更新UI来显示数据&#xff0c; 所以&#xff0c;如…