Mac安装Appium

news2024/9/21 7:05:05
  • 一、环境依赖
    • 一、JDK环境
    • 二、Android-SDK环境(android自动化)
    • 三、Homebrew环境
    • 四、Nodejs
      • 安装cnpm
    • 五、安装appium
    • 六、安装appium-doctor来确认安装环境是否完成
    • 七、安装相关依赖
  • 二、重头大戏, 配置wda(WebDriverAgent)
  • 三、第二个重头大戏,配置UI查看器
    • 一、因为appium自身的查看器,打开非常缓慢,所以需要更换成macaca来进行元素定位
      • 1、安装Node(跳过,已安装)
      • 2、安装macaca
      • 3、安装 ideviceinstaller
      • 4、安装usbmuxd
      • 5、安装ios驱动
      • 6、安装App Inspector
    • 二、安装XCTestWD,进行界面交互
      • 1、进入App Inspector安装目录下XCTestWD文件夹,具体路径参照自己的路径,可以通过find命令查找。
      • 2、用xcode打开XCTestWD.xcodeproj文件 
      • 3、每个文件修改添加Team(账号)
      • 4、项目文件直接编译,test结尾的文件build for Testing。编译成功即可
    • 三、将 TEAM_ID 通过环境变量传入覆盖安装App Inspector、iOS驱动
      • 1、获取你的TEAM_ID ,见下图
      • 2、覆盖安装iOS驱动,连接手机,命令行下面
      • 3 、覆盖安装App Inspector
    • 四、使用App Inspector
      • 0、获取测试机uuid
      • 1、使用AppInspector执行以下命令:
      • 2、chrome浏览器自动打开地址:http://192.168.21.101:5678/ (推荐用 Chrome 浏览器)
  • 测试DEMO:
  • 问题汇总:

一、环境依赖

  • Node.js
  • Appium
  • Appium-desktop
  • Appium-doctor
  • Appium-Python-Client
  • Python
  • JDK
  • Android SDK
  • Xcode Version 11.2 (11B52)

一、JDK环境

在.bash_profile 或.zshrc文件中设置JAVA,若没有则touch .bash_profile 新建一个

export JAVAHOME=$(/usr/libexec/javahome)

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVAHOME/lib

验证:

java -version

0


二、Android-SDK环境(android自动化)

在.bash_profile 或.zshrc文件中设置Android环境变量

export ANDROID_HOME=~/Library/Android/sdk

export PATH="$HOME/.yarn/bin:$PATH"

环境立即生效:

source ~/.bash_profile

验证:

adb version

0


三、Homebrew环境

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

验证:

brew -v

0

brew update

备注:https://www.cnblogs.com/wxhou/p/14174468.html


四、Nodejs

安装:brew install node

检查是否安装成功:

node -v

# v6.9.1

npm -v

# 3.10.8

0

安装cnpm

由于npm源在国外,我们使用npm安装库时会比较慢,可以使用taobao的镜像源

npm install -g cnpm --registry=https://registry.npm.taobao.org

检查安装是否成功

cnpm -v

# 4.4.0

0


五、安装appium

Release v1.15.1 · appium/appium-desktop · GitHub

下载安装最新dmg包,目前是1.15.1


六、安装appium-doctor来确认安装环境是否完成

cnpm install -g appium-doctor


七、安装相关依赖

brew install libimobiledevice --HEAD #和iOS手机通讯使用,相当于 android 的 adb,是 Appium 底层用到的工具之一,用于获取 iOS 设备信息

brew install ideviceinstaller # 安装app使用

brew install carthage              # 类似于 java的 maven,项目依赖管理,主要是 WebDriverAgent 使用

cnpm install -g ios-deploy

cnpm install -g ios-deploy # 支持使用命令行管理 iOS 设备 app 的工具查看设备应用

sudo gem install xcpretty 

//cpnm install -g bufferutil@^4.0.1 --save-dev

//cpnm install -g utf-8-validate@^5.0.2 --save-dev

cnpm install -g appium-android-driver

cnpm install -g appium-ios-driver

brew 安装的大致是这些依赖

0

gem install xcpretty #xcpretty是用于对xcodebuild的输出进行格式化。并包含输出report功能

gem 安装速度慢可以更换镜像源

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

(/Applications/Appium.app/Contents/Resources/app/node_modules/appium-webdriveragent)

(配置好账号,下载证书///)

(xcode指定版本下载:Sign In - Apple)



二、重头大戏, 配置wda(WebDriverAgent)

  1. 进入到 appium 的WebDriverAgent目录

cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium-webdriveragent

  1. 执行sh

sh ./Scripts/bootstrap.sh

跳过YYCache,RoutingHTTP,解决:重新搞一个webdriveragent,重开窗口。

  1. 打开目录

open . 

  1. 双击 WebDriverAgent.xcodeproj,使用xcode打开工程
  2. 配置账号(账号需要开发配合添加)

Xcode->Preferences...->Accounts,添加账号

  1. 网上很多说要配置bundleID,但是实际上,只需要开发账号。
  2. 配置好账号后,分别设置项目里的WebDriverAgentLib、WebDriverAgentRunner里的Singing&Capabilities中的账号,勾选Automatically Manage signing

0

  1. 配置好后,连接手机
  2. Xcode->Product→Clean Build Folder(清除历史build)
  3. Xcode->Product→bulid
  4. Xcode->Product→Test
  5. 成功后,手机会安装一个没有图标的程序,打开后如果提示添加信任,自行前往手机设置

如果test failds,起不来虚机,可能是xcode问题,重新安装。



三、第二个重头大戏,配置UI查看器

        一、因为appium自身的查看器,打开非常缓慢,所以需要更换成macaca来进行元素定位

                1、安装Node(跳过,已安装)

                2、安装macaca

                        cnpm i -g macaca-cli

报错如下,不知道影响不?

0

                3、安装 ideviceinstaller

                        brew install ideviceinstaller

                4、安装usbmuxd

                        brew install usbmuxd

                5、安装ios驱动

                        cnpm i macaca-ios -g

                        刚上来有一些警告

0

后来有一些红字

0

                6、安装App Inspector

                        npm install app-inspector -g

                        一些警告

0

0

二、安装XCTestWD,进行界面交互

1、进入App Inspector安装目录下XCTestWD文件夹,具体路径参照自己的路径,可以通过find命令查找。

cd /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD

2、用xcode打开XCTestWD.xcodeproj文件 

3、每个文件修改添加Team(账号)

4、项目文件直接编译,test结尾的文件build for Testing。编译成功即可

三、将 TEAM_ID 通过环境变量传入覆盖安装App Inspector、iOS驱动

1、获取你的TEAM_ID ,见下图

2、覆盖安装iOS驱动,连接手机,命令行下面

DEVELOPMENT_TEAM_ID=7Y32L5GA75 cnpm i macaca-ios -g --unsafe-perm=true

0

一些警告:

0

一些警告:

0

3 、覆盖安装App Inspector

DEVELOPMENT_TEAM_ID=7Y32L5GA75 cnpm install app-inspector -g  --unsafe-perm=true

0

一些警告

0

四、使用App Inspector

0、获取测试机uuid

      instruments -s devices

0

1、使用AppInspector执行以下命令:

app-inspector -u 807C76EF-0229-40A9-BDF1-73BF64B502A0

app-inspector -u B03CA745-D8AD-4C43-AC8B-1E3219ACC998

app-inspector -u DEVICE-ID

0

2、chrome浏览器自动打开地址:http://192.168.21.101:5678/ (推荐用 Chrome 浏览器)

0

==================================

问题汇总:

  1. 执行appium-doctor,提示未安装xcode解决方案:

a. 输入命令

 xcode-select -p查看xcode的安装路径

b. 修改xcode安装路径

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

  1. 安装libimobiledevice出现错误

执行以下命令

brew update brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd brew install --HEAD usbmuxd brew unlink usbmuxd brew link usbmuxd brew install --HEAD libimobiledevice

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

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

相关文章

《凤凰架构》 -分布式事务章节 读书笔记

分布式事务严谨的定义:分布式环境下的事务处理机制 CAP定理:在一个分布式系统中,涉及共享数据问题时,以下三个特性最多只能同时满足两个 一致性:代表数据在任何时刻、任何分布式节点中看到的都是符合预期的&#xff0…

跨界计算与控制,强化显控和UI, 君正MPU再添新旗舰--Ingenic MPU X2600隆重发布

近日,北京君正隆重发布MPU芯片新产品X2600。该产品以商业和工业应用的数个细分领域为重点目标市场,兼顾通用处理器应用需求。无论从CPU结构的设计,还是专门控制器和接口的配备,都体现了北京君正MPU团队“技术路线上追求自主跨界&a…

unity学习(40)——创建(create)角色脚本(panel)——UI

1.点击不同的头像按钮,分别选择职业1和职业2,create脚本中对应的函数。 2.调取inputfield中所输入的角色名(限制用户名长度为7字符),但愿逆向的服务器可以查重名: 3.点击头衔,显示选择的职业&a…

4.寻找两个正序数组的中位数

题目:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 解题思路:用二分法查找。使用归并的方式,合并两个有序数组,得到一个大的有序数组。大的…

MongoDB实战 – 用Python访问MongoDB数据库

MongoDB实战 – 用Python访问MongoDB数据库 MongoDB in Action – Access MongoDB Databases with Python By JacksonML Python语言功能强大众所周知,在数据库管理领域也无所不能。MongoDB是文档数据库,属于NoSQL数据库的一种,在业界也非常…

07_html

文章目录 引言前端概述分类 HTML快速入门重要的body标签注释hr标签br标签一些常见的标签标题标签div标签span标签p标签a标签img标签路径问题 ol和ul标签table标签input标签(表单元素)textarea标签(表单元素)select标签&#xff08…

记录 | vscode go无法跳转问题解决

go 代码不能跳转 如果是windows下开发linux的一般要用 插件 Remote-ssh,就可以尽情的访问文件和路径了. 1.go代码跳转一方面是你要把所有的 vscode go 插件要安装上, 方法是ctrlshift p,输入Go:Install/Update ,回车之后,把这些都选中安装. 2020年之后的,都会采用go mod的…

Flink join详解(含两类API及coGroup、connect详解)

Flink SQL支持对动态表进行复杂而灵活的连接操作。 为了处理不同的场景,需要多种查询语义,因此有几种不同类型的 Join。 默认情况下,joins 的顺序是没有优化的。表的 join 顺序是在 FROM 从句指定的。可以通过把更新频率最低的表放在第一个、…

vue 中实现音视频播放进度条(满足常见开发需求)

由于开发需要,作者封装了一个音视频播放进度条的插件,支持 vue2 及 vue3 ,有需要的朋友可联系作者,下面是对该款插件的介绍。 插件默认样式👇(插件提供了多个配置选项,可根据自身需求进行个性化…

zemax冉斯登目镜

两个焦距相等的平凸透镜组成,两个凸面相对,两者间距等于焦距的2/3 球差、轴向色差、畸变都小于惠更斯目镜 但是垂轴色差较大 可以当作普通放大镜使用 这里没有可以控制两个平凸透镜焦距相等 入瞳直径4mm波长0.51、0.56、0.61半视场15焦距28.2mm 镜头…

基于Java+SSM+Jsp宿舍管理系统(源码+演示视频+包运行成功+Maven版)

您好,我是码农小波(wei158888),感谢您阅读本文,欢迎一键三连哦。 ❤️ 1. 毕业设计专栏,毕业季咱们不慌,上千款毕业设计等你来选。 目录 1、项目背景 2、项目演示 3、使用技术 4、系统设计 …

Dynamo批量将房间名称转换为模型文字

今天呢,我们简单聊聊如何把房间名称,变成模型文字,好在三维中能够看到房间名称。 本来吧,我觉得批量创建模型文字应该是个很简单的事,但是我在Dynamo中搜了下ModelText,发现只有一个在族环境中创建模型文字…

cmake如何将源文件按照指定的组织方式进行分组,在IDE例如vistual stdio或者xcode项目工程文件中展示和管理这些源文件

1、我们先来看下面的一个项目的结构 TestGroup工程下面的main.cpp同级的有两个文件夹,到时候我们想在IDE比如xcode或者visual stdio2019中也显示这样的结构怎么弄呢(答案是用cmake中的source_group函数) 2、假如没有用source_group生成的xcode工程是怎么样的&#…

Phind-70B-运行速度提高4倍的同时,缩小了与GPT-4 Turbo在代码质量上的差距

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

从ChatGPT到Sora,来了解大模型训练中的存储

1 从chatGPT到Sora 2022年底,OpenAI推出人工智能聊天机器人ChatGPT,开启了大模型领域的“竞速跑”模式。2024年2月15日,随着视频生成模型Sora的横空出世,OpenAI再度掀起热潮。 Sora将视频生成内容拉到了一个全新的高度&#xff0c…

推荐几款.NET开发最常用的windowns利器

概述 有很多好用的开发工具,合理的利用能够很大的提升我们日常的开发效率,今天小编就介绍几款我在开发中使用频率较高的windowns工具,希望能对大家用帮助! 工具一:Beyond Compare Beyond Compare 是一款专业的文件对比工具&#x…

如何开发自己的npm包并上传到npm官网可以下载

目录 搭建文件结构 开始编写 发布到npm 如何下载我们发布的npm包 搭建文件结构 先创建新文件夹,按照下面的样子布局 .├── README.md //说明文档 ├── index.js //主入口 ├── lib //功能文件 └── tests //测试用例 然后再此根目录下初始化package包 npm init…

js设计模式:模板方法模式

作用: 父类定义一个整体的模板框架,将具体的方法行为定义到子类中。 模板方法主要是封装行为中的固定部分,同时允许子类对方法进行扩展 示例: //moba游戏原型设计方案class MobaGame{loadAssets(){return{heroList:this.heroList(),equipmentList:this.equipmentList(),maps…

vivado VHDL Support

介绍 本章介绍AMD Vivado™合成和 注意支持的任何例外情况。VHDL紧凑地描述了复杂的逻辑,并允许您: •描述系统的结构:如何将系统分解为子系统,以及如何这些子系统是相互连接的。 •使用熟悉的语言形式指定系统的功能。 •在…

尚金干燥邀您参观2024第12届参观生物发酵展

参展企业介绍 江苏尚金干燥科技有限公司座落于江苏常州工业重镇一郑陆镇,东靠沪宁高速公路横山道口及江阴长江公路仅6公里,西距常州火车站18公里,常州奔牛国际机场30公里,交通十分便利。江苏尚金干燥科技有限公司是一家致力于国内…