appium环境搭建及命令行启动sdk模拟器-附踩坑以及解决过程
安装教程这里就不阐述了,网上一大堆教程,下载完成后安装然后配置对应的环境变量即可
android sdk及java home配置:

path配置:

%ANDROID_HOME%\platform-tools:这个目录用于配置adb、fastboot,这两个就不多说了,喜欢刷机的同学应该用的也比较多哈哈,当前这里不是为了刷机,扯远了
%ANDROID_HOME%\build-tools\30.0.0:用于快捷构建打包apk
E:\android-sdk-windows\tools:sdk工具包,可用于命令行启动sdk等
E:\nodejs\:node环境
sdk目录详解: https://www.jianshu.com/p/285150f1e1d0
附各个工具下载地址
Appium 参考文档汇总
• Android Studio 下载: https://developer.android.com/studio#downloads
• 雪球股票下载: https://sj.qq.com/myapp/detail.htm?apkName=com.xueqiu.android
• Appium Desktop 下载: https://github.com/appium/appium-desktop/releases
• capability 能力图谱: https://github.com/appium/appium/blob/master/docs/en/writingrunning-appium/caps.md
• 元素定位: http://appium.io/docs/en/commands/element/findelements/index.html#selector-strategies
• Android uiautomator 定位: http://appium.io/docs/en/writing-runningappium/android/uiautomator-uiselector/
• hamcrest 断言: https://github.com/hamcrest/PyHamcrest
• PageObject 设计模式: https://martinfowler.com/bliki/PageObject.html
• selenium PO https://github.com/SeleniumHQ/selenium/wiki/PageObjects
• mozilla POM https://github.com/mozilla/PyPOM
• devtools 协议: https://chromedevtools.github.io/devtools-protocol/
• Chromedriver: https://github.com/appium/appium/blob/master/docs/en/writing-runningappium/web/chromedriver.md
• 小程序: https://developers.weixin.qq.com/miniprogram/dev/framework/details.html
• ai 识别 https://github.com/testdotai/appium-classifier-plugin
• adb server 通讯协议: https://github.com/cstyan/adbDocumentation
• https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md
• https://w3c.github.io/webdriver/
Appium 安装
https://shimo.im/docs/YR3Vjd8jcCkGpPYr/
安装完成后:
使用appium-doctor验证环境是否安装完成
核心的几个依赖出现勾勾说明基础环境已经部署ok

接下来下载sdk镜像:
cmd 输入android启动sdk管理器:
然后根据需要下载对应版本镜像:

图中分别对应intel平台的32与64镜像,推荐64位,ps:如果发现运行卡的化安装一下HAXM,用于虚拟化加速

选择对应的对应的镜像后点击install,会自动完成下载与安装
此时启动avd manage创建虚拟设备把:


这里我已经配置两台设备对应android10与android9:为啥会展示感叹号呢:
ps:因为我前期用这个avd创建出来的设备发现启动不了,后来我就用Android studio里面的avd manage创建的,这里这里为了说明此坑,所以这里建议用android studio里面的avd manage创建配置虚拟设备,这里我测试过只能启动android7及之下的sdk模拟器,新版本启动会提示分区错误(ERROR: resizing partition e2fsck failed with exit code 8),搞了半天没解决,无解,所以我后面就用了android studio里面的avd manage
接下来我们用android studio创建虚拟设备(这里我是下载的最新版的,不同版本可能会有差异:须知):


接下来选择机型:

这里就可以发现差异:sdk 里面avd manager并没有pixel的这些机型,这就可以解释上面的感叹号了,老机型只能启动android7及之下的sdk版本(亲测)
选择镜像:(这里以android10为例)

配置模拟器设备名称:

点击finish就ok了
接下来启动模拟器(可以双击列表亦可以点击播放按钮):

可能会提示莫名错误例如:

不用管,能正常启动就行

启动完成的样子
这样有个很不方便的地方就是必须要打开android studio然后启动avd manage然后才行启动模拟器,是不是很不方便,作为一个懒得一批的人,这样简直不能忍,命令行启动安排:
百度了几种命令行启动的方法:
这个是最简洁的:https://blog.csdn.net/qq_34514388/article/details/95340113


可以发现这里的list名称就是我们刚刚的那个名称,命令启动用的就是他
启动:
你会发现,我擦,翻车了

为啥不好使了呢,为啥android studio里面可以正常启动,到这里就翻车了呢
后来查了下原因,发现


这两个目录都存在emulator:
%ANDROID_HOME%\emulator:用于命令快捷启动emulator(sdk模拟器,此处有坑,网上的教程都说是用tools下的emulator启动,结果发现新版本的android sdk镜像是启动不了的)

然后再次执行刚刚的命令:

咦,为啥还是不行呢,环境变量的优先级问题,由于E:\android-sdk-windows\emulator与E:\android-sdk-windows\tools这两个路径下都存在emulator.exe这个文件但是E:\android-sdk-windows\tools这个配置在前面的所以
会优先执行tools目录下的emulator,
会优先执行tools目录下的emulator,
会优先执行tools目录下的emulator!我们改下顺序再试试:


所以我们在环境环境变量的时候如果出现了运行同一个命令时,出现了执行的预期与你预想的不一致时,就应考虑是不是类似的问题导致的!!!
接下来就可以愉快的玩耍appium了
appium环境搭建及命令行启动sdk模拟器-附踩坑以及解决过程的更多相关文章
- NET Core 环境搭建和命令行CLI入门
NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...
- NET Core 环境搭建和命令行CLI入门[转]
NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19 阅读:258 评论:0 收藏:0 [点我收藏+] 标签: N ...
- 云服务器搭建redis主从复制以及哨兵模式(附踩坑记录)
云服务器搭建redis主从复制以及哨兵模式(附踩坑记录) 踩坑记录见最后 搭建一主两从: 在根目录下任意新建一个目录/myredis来存放配置文件: 将我们常用的redis.conf文件拷贝到该目录下 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Egret 学习之简介,环境搭建及命令行语法 (一)
1,简介 1)egret是一个开源免费的游戏框架,它使用TypeScript脚本语言进行开发:当游戏完成最终的打包后,可以将程序转换为h5游戏,实现跨平台性:它基于BSD(Berkly Softwar ...
- RobotFramework+Selenium2+Appium环境搭建
转载:https://www.cnblogs.com/testway/p/7372326.html 装python 2.7 RobotFramework是python2 写的,图形界面使用的wxpyt ...
- Appium客户端,命令行启动server
目标:通过命令行启动Appium的server 1.通过命令行安装的Appium 直接命令行输入appium即可启动服务 2.安装的Appium客户端 可以查看客户端中打印的启动日志: ...
- Appium命令行启动,提示找不到命令,本地没有appium.cmd文件
安装appium时,直接从github上下载的appium-desktop-windows版本,安装后,从打开桌面端Server,能启动服务,appium-doctor也能正常运行. 但奇怪的地方来了 ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
- Python+Appium环境搭建
1.python环境搭建,这里就不做过多介绍 2.安装 node.js 2.1.官网下载node.js:https://nodejs.org/en/download/ 2.2.获取到安装文件后,直接双 ...
随机推荐
- 利用强化学习算法解释人类脑对高维状态的抽象表示:how humans can map high-dimensional sensory inputs in actions
论文: <Using deep reinforcement learning to reveal how the brain encodes abstract state-space repre ...
- C#.Net筑基-解密委托与事件
委托与事件是C#中历史比较悠久的技术,从C#1.0开始就有了,核心作用就是将方法作为参数(变量)来传递和使用.其中委托是基础,需要熟练掌握,编程中常用的Lambda表达式.Action.Func都是委 ...
- Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
近期,Apache DolphinScheduler 社区激动地宣布 3.2.1 版本的发布.此次更新不仅着力解决了前一版本(3.2.0)中遗留的问题,而且引入了一系列的功能增强和优化措施. 原先的问 ...
- csv导入导出组件jcsv
jcsv 介绍 jcsv一个简单的.轻量级的csv导入.导出库,相对于opencsv与javacsv,jcsv侧重于导入导出,包括导入校验.导出模板等. 源代码地址:https://gitee.com ...
- MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本
对话框上有五个CEdit和两个Button控件 //重写PreTranslateMessage函数 BOOL CAddDlg::PreTranslateMessage(MSG* pMsg) { // ...
- C#学习日记
2023年9月9日 工具visual stdio 2019 窗口名称修改 lable标签 button 点击事件 点击换颜色 formLearn.ActiveForm.BackColor = Colo ...
- 全网最适合入门的面向对象编程教程:40 Python常用复合数据类型-枚举和enum模块的使用
全网最适合入门的面向对象编程教程:40 Python 常用复合数据类型-枚举和 enum 模块的使用 摘要: 在 Python 中,枚举(Enumeration, Enum)是一种复合数据类型,用于表 ...
- 程序员失业日记4:半个月拿下4个offer
上篇文章很多小伙伴留言也讲到自己被公司裁员,还有的细心的小伙伴说去年九月就被裁了,在看一下文章的发布时间,绷不住了.先和大家说一下,我已经找到工作,因为最近工作一直都很忙,加上自己也比较懒,所以就拖了 ...
- 防御DDOS攻击
如何防御DDOS攻击 1.采用高性能的网络设备 首先要保证网络设备不能成为瓶颈,因此选择路由器.交换机.硬件防火墙等设备的时候要尽量选用知名度高.口碑好的产品.再就是假如和网络提供商有特殊关系或协议的 ...
- Redis集群slot迁移改造实践
作者:来自 vivo 互联网存储团队- Xu Xingbao Redis 集群经常需要进行在线水平扩缩容,实际操作过程中发现迁移期间服务时延剧烈抖动,业务侧感知明显,为了应对以上问题对原生 Redis ...