Android+iOS自动化基于appium环境搭建
目录
一、环境依赖
一、JDK环境
二、Android-SDK环境(android自动化)
三、Homebrew环境
四、Nodejs
五、安装appium
六、安装appium-doctor来确认安装环境是否完成
以下为 ios-自动化环境配置
一、安装相关依赖
二、重头大戏, 配置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 浏览器)
一、环境依赖
- Node.js ----- V 12.X.X
- Appium ----- V 1.19.X
- Appium-desktop
- Appium-doctor
- Appium-Python-Client
- Python ----- V 3.7.X
- JDK ----- 1.8.X
- 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
二、Android-SDK环境(android自动化)
在.bash_profile 或.zshrc文件中设置Android环境变量
export ANDROID_HOME=~/Library/Android/sdk
export PATH="$HOME/.yarn/bin:$PATH"
环境立即生效:
source ~/.bash_profile
验证:
adb version
三、Homebrew环境
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
验证:
brew -v
brew update
四、Nodejs
安装:brew install node
检查是否安装成功:
安装:brew install node
检查是否安装成功:
node -v
# v6.9.1
npm -v
# 3.10.8
安装cnpm
由于npm源在国外,我们使用npm安装库时会比较慢,可以使用taobao的镜像源
npm install -g cnpm --registry=https://registry.npm.taobao.org
检查安装是否成功
cnpm -v
# 4.4.0
五、安装appium
ps:java8 版本对应最高的appium的版本为1.19.1
npm install appium@1.19.1 -g --chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver
GUI图形界面
https://github.com/appium/appium-desktop/releases/tag/v1.15.1
下载安装最新dmg包,目前是1.15.1
常见问题:
1,macOS 10 15 不能打开软件提示无法打开“appium”,因为Apple无法检查其是否包含恶意软件
解决办法
在命令行输入:
sudo xattr -rd com.apple.quarantine /Applications/Appium.app
Password:
六、安装appium-doctor来确认安装环境是否完成
cnpm install -g appium-doctor
以下为 ios-自动化环境配置
一、安装相关依赖
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
cnpm install -g appium-android-driver
cnpm install -g appium-ios-driver
gem install xcpretty #
xcpretty是用于对xcodebuild的输出进行格式化。并包含输出report功能
gem
安装速度慢可以更换镜像源
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
二、重头大戏, 配置wda(WebDriverAgent)
- 进入到 appium 的WebDriverAgent目录(如果有appium-desktop与appium-server两个版本需要分别对wda进行配置)
以 appium-desktop为例 cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium-webdriveragent
- 执行sh
sh ./Scripts/bootstrap.sh - 打开目录
open . - 双击 WebDriverAgent.xcodeproj,使用xcode打开工程
- 配置账号(模拟器可以忽略)
Xcode->Preferences...->Accounts,添加账号 - 网上很多说要配置bundleID,但是实际上,只需要开发账号。
- 配置好账号后,分别设置项目里的WebDriverAgentLib、WebDriverAgentRunner里的Singing&Capabilities中的账号,勾选Automatically Manage signing
- 配置好后,连接手机
- Xcode->Product→Clean Build Folder(清除历史build)
- Xcode->Product→bulid
- Xcode->Product→Test
- 成功后,手机会安装一个没有图标的程序,打开后如果提示添加信任,自行前往手机设置
三、第二个重头大戏,配置UI查看器
一、因为appium自身的查看器,打开非常缓慢,所以需要更换成macaca来进行元素定位
1、安装Node(跳过,已安装)
2、安装macaca
cnpm i -g macaca-cli
3、安装 ideviceinstaller
brew install ideviceinstaller
4、安装usbmuxd
brew install usbmuxd
5、安装ios驱动
cnpm i macaca-ios -g
6、安装App Inspector
npm install app-inspector -g
二、安装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=TEAM_ID cnpm i macaca-ios -g --unsafe-perm=true
3 、覆盖安装App Inspector
DEVELOPMENT_TEAM_ID=TEAM_ID cnpm install app-inspector -g --unsafe-perm=true
四、使用App Inspector
0、获取测试机uuid
instruments -s devices
1、使用AppInspector执行以下命令:
app-inspector -u DEVICE-ID
2、chrome浏览器自动打开地址:http://192.168.21.101:5678/ (推荐用 Chrome 浏览器)
Android+iOS自动化基于appium环境搭建相关推荐
- 【appium】appium自动化入门之环境搭建(中)
哎嘿,没想到我更新了吧 书接上文[appium]appium自动化入门之环境搭建(上) 下文指路[appium]appium自动化入门之环境搭建(下) 正文 前言 1.1.1 环境准备 1.jdk1. ...
- Windows系统appium移动端自动化真机环境搭建
appium-windows-android环境搭建完成以后,就可以进行真机模式下的appium环境搭建啦!! 准备:把要测试的app下载至本机(小波的是把apk放在桌面上,例如:C:\Users\w ...
- python手机端编程环境_Python + Appium 环境搭建
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ...
- Python + Appium 环境搭建
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ...
- Appium环境搭建和检测
Appium Appium优点 开源 跨架构:NativeApp.Hybird App.Web App 跨设备:Android.iOS.Firefox OS 不依赖源码 使用任何WebDriver 兼 ...
- Mac OS下Appium环境搭建及Genymotion模拟器安装
说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...
- appium环境搭建(10)
appium环境搭建比较麻烦,搭建之前先看下http://blog.csdn.net/sunfengye/article/details/77494098,能正常启动模拟器,jdk环境变量配置成功,s ...
- 【Appium】验证appium环境搭建是否成功并考虑脚本需要包含的参数
前言:接上一篇的Appium环境搭建,本篇主要通过脚本去验证环境搭建的正确,以及思考我们在编写脚本时需要考虑的几个问题. 目录 一.编写脚本需要考虑的因素 二.从代码来分析因素 2.1.使用的Appi ...
- Windows下Appium环境搭建(java版)
因为毕业后学过java,工作后服务端开发用的也基本都是java,所以对java比较熟悉,本篇文章暂时先介绍java版本的appium环境搭建,以后会陆续介绍python版的appium,包括环境搭建. ...
最新文章
- 链路聚合_链路聚合可靠性技术详解(三)
- 金融风控实战——有监督分箱
- 计算机代码内大数据内存堆栈溢出问题
- 临时文件_其实邮箱可能才是最佳的临时文件分享途径
- 深度学习(六十四)Faster R-CNN物体检测
- 计算机多了一个虚拟硬盘,移动硬盘中安装多个虚拟操作系统 -电脑资料
- RedisTemplate存数据时指定过期时间
- Django tips: 查看当前Request所执行的所有SQL
- mysql如何把一个表直接拷贝到一个新的表
- Second season seventeenth episode,Chandler gets a new roommate
- 中英文电子书下载:https://sobooks.cc/
- 唐朝义成公主的悲惨命运是怎样的?
- 打破硬件内卷:荣耀开启高端旗舰手机智慧新赛道
- C#组件系列——NPOI使用手册
- 150集Linux网络编程培训视频吐血整理 | 网络基础
- Java小白常见异常|ArithmeticException算数异常的解决过程
- 如何应对面试官问你职业规划问题
- Java数组实现:一群人围成一圈从123报数 如果报到3就退出该圈中 直到最后一个人留下来!问其位置
- 做7秒动画赢13W大奖?总奖池超80W、国内最火爆的3D渲染动画创作大赛开始报名!
- LR测试结果分析参数说明
热门文章
- [周更]4.unity3D_Roll_a_Ball
- 基于bootdo制作一个restful模块
- Java项目合集—整整20套精品项目(附源码)
- python怎么和前端连接_如何将前端HTML/JQuery连接到后端Python
- XXL-JOB集群部署调度中心
- android 自定义apk名,Android Studio 打包自定义apk文件名
- 初学嵌入式开发ARM的学习方法
- 虚幻引擎 服务器作用_虚幻引擎5会在下一代平台上发挥作用吗?
- TextWatcher介绍
- 1扩展组件 --FEBE