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了