1.目的
当今社会,人们的生活几乎已经无法离开形形色色的APP了,它提供给我们的便利与服务意义远远超出了其本身的软件价值。作为测试来说移动应用也早已是各大互联网公司的拳头产品,其本身的开发周期短,附属产品价值高等特性决定了今后的主导地位。
那么在日常的测试活动中,移动应用的质量保障就成为了各个测试团队的主要课题,面对高速迭代的功能、日益缩短的项目周期、逐渐庞大的人力与资源投入,以上的这些因素都会让测试团队不得不在项目中加入自动化测试策略。
Appium作为一个自动化移动应用测试框架来说,就可以很好的满足大部分移动应用测试的需求。作为当今仍然主流的自动化测试框架,各位测试同学要熟练的使用也就成为大家日常的基本内容之一。
2.说明
1.此笔记的中所使用的操作系统为Win 10,笔记中所涉及的软件版本有可能会因为时间的推移而导致不匹配或其他额外的操作,请大家有针对性的选择阅读与参考。 2. 这里因操作系统关系,只针对安卓与鸿蒙OS来进行教程讲解,后续会推出iOS的相关Appium安装与配置、日常使用教程。
3.环境准备
3.1 安装nodejs
进入nodejs官网进行下载:【Node.js官网下载地址】
这里选择长期支持版本即可
安装过程很简单,直接下一步即可。
安装完毕后将程序路径添加至环境变量PATH。
确认可以正常运行即可
3.2 安装JDK
在官网进行软件下载【Java downloads】
选择对应的OS即可,三种安装包形式都可以。
下载完后运行安装程序,这里的默认安装路径建议选其他盘符,尽量不放在C盘。
安装完成后配置环境变量
JAVA_HOME
填写自己jdk的安装路径
PATH
这边按照图片上填写即可(使用刚设置的环境变量)
保存,使用cmd验证安装与设置是否成功 这里博主已经安装过了,而且安装的是Java17,安装方法与版本无关,通用。
3.3 安装Android SDK
这里不介绍用IDE下载,也不用官方下载,而是进入Android Studio org进行下载。【Android SDK Manager】
下载对应的OS版本安装包即可
下载后进行默认安装,完成后进入目录打开SDK Manager.exe。
根据自己的网络情况来进行是否需要配置代理。默认选择的是谷歌的下载地址(非必选操作)
点击Tools ——> Options 在代理中输入对应的服务域名和端口
国内镜像节点:mirrors.neusoft.edu.cn 端口:80
如果配置完成后点击Close关闭,再选择Packages ——> Reload进行配置的重新加载
然后进行对应的SDK与工具的安装,安装内容可根据下图(另外对应的Android版本SDK根据各自公司的测试业务适配的机型进行选择即可)
如果你的被测APP里有用到H5的话就需要勾上Web Driver。
点击安装
选择接受许可并进行安装
完成后添加环境变量ANDROID_SDK_HOME,路径为Android SDK的安装目录
环境变量PATH中追加platform-tools与tools两个文件夹的路径
Maven与Git根据个人的测试业务需求进行安装,如果你需要使用java下的appium-client就安装Maven吧,博主这边不需要用到,所以没装。另外adb自己另行安装一个,下载下来可以直接运行,顺便加到环境变量中方便后续使用。
4. 安装Appium
4.1 下载
在官网进行软件的下载,下载会跳转至Git上。【Appium官网下载】
根据自己的OS进行安装程序的选择
4.2 安装
直接打开下载完成的安装程序,一直下一步即可。
安装完毕后点击图标进入Appium
4.3 启动
启动成功后进入以下界面 默认IP为本机的,这里无需改动,端口默认4723。
这里直接点启动服务,如果之前没有成功安装Android-sdk或者JDK的话这里是无法启动的。
看到下图的界面就说明服务是启动成功的。
至此Appium相关的服务就安装完毕了。
4.4 错误排查
1.Appium运行失败:一般来说如果是win7系统的话优先检查.net是否已经安装且至少是4.5版本; 2.Appium运行失败:检查JDK、Android SDK是否已经安装且配置了环境变量,一般Appium的服务启动后无需手动指定以上两个服务; 3.Appium安装失败:如果使用的是npm安装,先确认安装源是否正确,另外尽量不用国外的源地址,配置国内的源可以最大限度的减少下载与安装的出错几率; 4.Appium运行失败:提示:“Error starting Appium server:listen EADDRINUSE 0.0.0.0.4723”,检查端口是否被其他应用占用,关闭应用或更改Appium再启动即可; 5.Appium运行失败:提示:“error: uncaughtException: primordials is not defined date=Thu XXXX 2022 XX:XX GMT 0800 (GMT 08:00)” 软件间版本可能不兼容,检查JDK、nodejs与Appium的版本,可以去网上搜索一下比较推荐的三个软件版本号。