Android iOS客户端自动化UI自动化airtest从0到1搭建macos

news2024/12/23 3:24:34

一、基础环境

1. 安装jdk 选择jdk8 如果下载高版本 可能不匹配会失败

下载.dmg文件 

苹果电脑 | macOS | jdk1.8 | 环境变量配置_jdk1.8 mac-CSDN博客

Java Downloads | Oracle

jdk环境变量配置

找到java home

qa@mac ~ % cd /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

qa@mac ~ % vim .bash_profile

配置内容如下:

#JAVA

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

PATH=$JAVA_HOME/bin:$PATH:.

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

export JAVA_HOME

export PATH

export CLASSPATH

qa@mac ~ % source ~/.bash_profile  刷新配置文件

qa@mac ~ % java -version       

如果安装了多个jdk 则删除 

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home 

$JAVA_HOME   显示

/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

2. 下载airiest

Airtest Project

3. 下载appium

https://github.com/appium/appium-desktop/releases

下载 Appium-Server-GUI-mac-1.22.3-4.dmg

4. MAC修改终端左侧显示的用户名

sudo scutil --set HostName Tmp

Tmp 就是你要修改的名字, 比如, 你要改成abc, 那么 执行下面的命令

sudo scutil --set HostName mac 

重启终端生效

5. 下载xcode 

打开App Store搜索xcode

6. 安装homebrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

下载源选择阿里巴巴

MAC安装brew保姆级教程_mac brew-CSDN博客

7. 安装python3.6.8,版本太高会导致airtest安装失败,下载地址:https://www.python.org/downloads/release/python-368/

我安装的Python Releases for macOS | Python.org 3.9.0版本

添加环境变量,执行open ~/.bash_profile,加入

     alias python="/python安装路径/python3.6"
     alias pip="/python安装路径/pip3.6"

     保存后执行source ~/.bash_profile && python -V && pip -V检测安装版本是否成功

如遇:排除错误 pip Command Not Found
1. 检查是否安装了pip

在Mac和Linux上,您可以使用以下命令检查是否安装了pip

python3 -m pip --version 
如果pip安装正确,输出如下

pip 24.0 from /Users/qa/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

如果未安装pip,您可以按照此处相应操作系统的安装步骤进行操作

2. 将pip升级到最新版本

如果pip仍然不工作,请尝试将pip升级到最新版本:

python3 -m pip install --upgrade pip

8. 安装OpenCV:执行pip3 install opencv-contrib-python

9. 安装poco:执行pip3 install pocoui

10. 下载carthage

brew install carthage


二、安卓端环境配置

1. 安装Android sdk

下载 Android Studio 和应用工具 - Android 开发者  |  Android Developers

往下滑到下载页

2. 安装Android SDK

选择jdk版本

菜单->Android Studio->Preferences

3. 安装SDK并配置环境变量
菜单->Android Studio->Preferences

Appearances & Behavior->System Settings->Android SDK

如果安装sdk,选中要安装的版本后 点 Apply 按钮会开始下载并安装

配置sdk环境变量,打开.bash_profile文件,加入以下内容:(具体sdk路径也可以在Android Studio内查看)

export ANDROID_HOME=/Users/用户名/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/b

                        
source .bash_profile

7. 输入adb --help

8. 安装完安卓端环境,打开airtestIDE

如果右侧Device未出现,则点击 Window-Devices出现下图

点击Android Devices Connection的Action的connect,安卓手机上的界面出现

9. 官网教程:I. Android Real Device Connection - Airtest Project Docs

参考资料:(2023)mac 安装Android studio(安装jdk,Android SDK)_mac安装android studio-CSDN博客


三、iOS端环境配置

参考资料:iOS真机安装WebDriverAgent图文详解-腾讯云开发者社区-腾讯云

1. 安装iOS-Tagent

git仓库下载代码

git clone https://github.com/AirtestProject/iOS-Tagent.git 

下载上面的代码后,找到WebDriverAgent.xcodeproj这个文件,各版本位置可能会不一样,如果我提供的路径找不到,可以搜索下文件。/Users/qa/Desktop/2024/code/iOS-Tagent

2. 打开项目后,更改红框中两个文件的相关信息,team可以使用个人苹果id账号,Bundle identifier需要更改一下,不重复就可以了,我是直接在后面加点后缀

3. 如果是个人免费版的证书,还需要修改下WebDriverAgent的BundleID,随便加后缀,不要跟别人重复就好,这里建议可以加当前时间戳,比如:202106290903,如果是付费版开发者证书则不需要这步操作。

4. 更改完成后,手机用数据连接电脑

点击xcode顶部工具栏的product——Destination,点击自己的手机设备

如遇提升下载iOS17.4 则下载

参考资料

APP自动化之airtest(一)---环境搭建mac版&安卓真机连接_mac可以跑android手机机进行airtest测试吗-CSDN博客

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

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

相关文章

ideaSSM 学员信息管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 学员信息管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库&#xff…

【数据结构】——排序之冒泡排序

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

eclipse中使用PlantUML plugin查看对象关系

一.背景 公司安排的带徒弟任务,给徒弟讲了如何设计对象。他们的思维里面都是单表增删改查,我的脑海都是一个个对象,他们相互关系、各有特色本事。稳定的结构既能满足外部功能需求,又能在需求变更时以最小代价响应。最大程度的记录…

简易指南:国内ip切换手机软件怎么弄

在网络访问受到地域限制的情况下,使用国内IP切换手机软件可以帮助用户轻松访问被屏蔽的内容,扩展网络体验。以下是虎观代理小二分享的使用国内IP切换手机软件的简易指南。并提供一些注意事项。 如何在手机上使用国内IP切换软件 步骤一:选择I…

【3D reconstruction 学习笔记】

三维重建 3D reconstruction 1. 相机几何针孔相机摄像机几何 2. 相机标定线性方程组的解齐次线性方程组的解非线性方程组的最小二乘解透镜相机标定带畸变的相机标定 3. 单视图重建2D平面上的变换3D空间上的变换单视测量无穷远点 无穷远线 无穷远平面影消点 影消线单视重构 4. 三…

docker 哲学 - 网络桥接器、容器网络接口 、容器间的通信方式

1、解释 docker0 veth eth 2、vethXX 和 ethXX 是肯定一一对应吗 比如 eth1 对应 veth1 3、如果 A容器使用 默认创建方式 。定义他内部网络为 eth0,容器B使用 --network 连上 已创建的网络 172.89.2.1 。此时假设 B的 ip是 172.89.2.2 ,容器网络接口是 e…

DashScope - 阿里模型服务灵积

文章目录 关于 DashScope快速上手代码调用http 请求示例Python 调用 关于 DashScope 官方主页:https://dashscope.aliyun.comPYPI : https://pypi.org/project/dashscope/支持模型:https://dashscope.console.aliyun.com/model DashScope灵积模型服务建…

PointNet++论文复现(一)【PontNet网络模型代码详解 - 分类部分】

PontNet网络模型代码详解 - 分类部分 专栏持续更新中!关注博主查看后续部分! 分类模型的训练: ## e.g., pointnet2_ssg without normal features python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg python test_classification.py…

JWT的实现及其适用场景

官方文档 一、什么是JWT JWT(全称JSON Web Token)是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于作为JSON对象在各方之间安全地传输信息。此信息是经过数字签名的,因此可以验…

Pandas与Jupyter Notebook的完美结合【第153篇—数据分析】

利用Python进行数据分析:Pandas与Jupyter Notebook的完美结合 在数据科学和分析领域,Python语言因其强大的数据处理库而备受青睐。其中,Pandas是Python中最常用的数据分析库之一,而Jupyter Notebook则是一个流行的交互式计算环境…

学习人工智能:Attention Is All You Need-2-Transformer模型;Attention机制;位置编码

3.2 注意力机制Attention 注意力函数可以描述为将查询和一组键值对映射到输出的过程,其中查询、键、值和输出都是向量。输出被计算为值的加权和,其中每个值的权重由查询与相应键的兼容性函数计算得出。 3.2.1 缩放点积注意力 Scaled Dot-Product Attenti…

Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)

文章目录 1.准备工作2.控制台安装解压和设置crt配置http.yaml配置grpc.yaml初始化数据库启动和访问ths管控台上传安装包 3.新增分組管理4.新增节点自动安装(如果自动安装失败,可参考下一部分的手动安装)手动安装(自动安装成功的请…

[音视频学习笔记]七、自制音视频播放器Part2 - VS + Qt +FFmpeg 写一个简单的视频播放器

前言 话不多说,重走霄骅登神路 前一篇文章 [音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg,Qt VS2022,都什么年代了还在写传统播放器? 本文相关代码仓库: MediaPlay-FFmpeg - Public 转载雷神的两个流程…

备考ICA----Istio实验4---使用 Istio 进行金丝雀部署

备考ICA----Istio实验4—使用 Istio 进行金丝雀部署 上一个实验已经通过DestinationRule实现了部分金丝雀部署的功能,这个实验会更完整的模拟展示一个环境由v1慢慢过渡到v2版本的金丝雀发布. 1. 环境清理 kubectl delete gw/helloworld-gateway vs/helloworld dr/helloworld…

基于Arduino IDE 野火ESP8266模块 EEPROM 存储开发

一、操作存储器 我们可以使用ESP8266模块的EEPROM,也就是可读可擦存储器,可以掉电不丢失地帮我们存储一些数据。ESP8266微控制器有一个闪存区(Flash memory) 来模拟Arduino的EEPROM。这是微控制器中一个特殊的内存位置,即使在主板关闭后&…

Redis的安装与启动

一、Linux环境安装&启动Redis 第一步:在官网下载好Redis安装包,上传到Linux中并进行解压到相应(如/opt/software/)目录中;(注意:完成了第二步后,即安装了C/C语言编译器后&#…

中型企业网络路由器配置(ensp)实验

vlan、vlan间路由、ospf协议等来实现三层交换机和单臂路由之间的通信 拓扑图: 1. 配置三层交换机vlan和vlan间路由 SW1 #进入视图 sys sysn sw1 undo info-center enable#配置vlan vlan batch 10 20 30 40 50 60#配置access口 int g0/0/1 port link-type access …

Web前端笔记+表单练习+五彩导航

一、笔记 表单&#xff1a;数据交互的一种方式 登录、注册、搜索 <from> <input type""> --- <input type"text"> --- 普通输入框&#xff0c;内容在一行显示 <input type"password"> --- 密码框 <input type"…

python拍卖行系统的设计与实现flask-django-nodejs-php

此系统设计主要采用的是python语言来进行开发&#xff0c;采用django/flask框架技术&#xff0c;框架分为三层&#xff0c;分别是控制层Controller&#xff0c;业务处理层Service&#xff0c;持久层dao&#xff0c;能够采用多层次管理开发&#xff0c;对于各个模块设计制作有一…

Linux系统------------MySQL事务

目录 一、MySQL事务的概念 二、事务的ACID特点 ●原子性 ●一致性 ●隔离性 ●持久性 事务之间的相互影响有以下几种&#xff1a; ①脏读 ②不可重复读 ③幻读 ④丢失更新 三、Mysql及事务隔离级别 3.1Mysql及事务隔离级别 &#xff08;1&#xff09;read…