Appium移动端自动化测试--搭建模拟器和真机测试环境
详细介绍安装Android Studio及Android SDK、安装Appium Server。
文章目录如下
模拟器--安装Android Studio及Android SDK
推荐直接安装Android Studio,然后使用Android Studio安装SDK。
启动SDK Manager,安装自己所需要的版本,下载安装即可。


然后进行设置ANDROID_HOME环境变量
ANDROID_HOME=D:\InstallationDirectory\Android\android-sdk

安装完成之后点击 手机图标,创建一个虚拟手机

注意: 安装新建Android虚拟机时选择版本尽量选择9.0,最开始我选择的是10.0,在使用等待时不是很稳定,还没花时间去深入研究。

虚拟机已经创建成功,如下图所示:

模拟器--更改VDM默认存储路径
在新建VDM虚拟机的时候,发现没新建几台C盘就爆红了,原来是忘记更改VDM存储位置了,默认存储在了C盘,一台手机八九个G,不红才怪呢。
找了下设置方法如下:
ANDROID_SDK_HOME=D:\InstallationDirectory\Android\Android_Virtual
然后重新启动SDK Manager即可。

接下来打开cmd命令窗口,进行查看是否连接模拟器启动的手机,输入:
adb devices 即可查看已连接设备;
adb devices -l 即可查看drivers的详细信息;

以上是使用模拟器时需要安装的模拟器环境。
下面介绍连接真机(Android)时需要做的操作和设置
真机(Android)环境设置
真机--开启开发者模式
首先你需要有一台真实的Android手机。
连接真机,需要打开开发者模式。
在手机上找到设置>系统>关于手机>版本号,然后连续点击7次即可开启开发者模式。

完成上述操作之后会提示您,您已处于开发者模式;我们会在设置选项里,看到开发者模式这一项,如下图:

真机-- 打开USB调试
在开发者选项 or 开发人员选项中,打开USB调试,如下图,在USB调试中勾选:

真机连接--文件传输
将安卓手机用数据线与电脑连接时,若是出现USB连接方式,一般有三个选项:传输照片、文件传输、仅充电, 请选择文件传输
然后在电脑端打开CMD窗口,输入: adb devices -l 查看已连接的设备。

至此,模拟器换进和真机都已经设置完成,接下来使用cmd命令开始安装已下载的apk安装包。
安装apk文件
到这里不管是模拟器还是真机都是一样的安装方法。
cmd窗口输入命令,安装apk安装包,比如安装已下载好的雪球apk安装包:
adb install D:\InstallationDirectory\apk\xinglicheng.apk
如下图,显示已经安装成功,可到模拟器或者是Android真机上去查看是都安装成功。

到这里模拟器和真机的环境都准备好了,接下来就是安装Appium Server了。
通过npm安装Appium Server
Appium 是使用Node.js来开发的,所以需要安装Node.js
1、下载安装Node.js (推荐LTM)和npm
https://nodejs.org/zh-cn/download/

2、安装Appium
方法一、官网下载Appium地址安装:
https://github.com/appium/appium-desktop/releases/tag/v1.15.1
方法二、npm安装Appium
官方版安装:npm install -g appium(被墙了)
(推荐先设置淘宝镜像仓库地址再进行安装)
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org
验证是设置Taobao镜像是否成功: npm config get registry
安装Appium:
cnpm install -g appium
启动Appium GUI模式
不更改任何配置,选择”启动服务器“

如下图可看到已经连接成功
点击下图中的放大镜图标,启动检查器会话

并对新弹出的会话窗口进行设置,然后启动会话
- platformName---设备平台:填Android或IOS
- deviceName----设备名:按上边adb查出的设备名填写即可,Android可以随便填写一个即可。
- appPackage----要启动的app的包名:微信是"com.tencent.mm"
- appActivity----要启动的界面:微信启动界面是".ui.LauncherUI"
{
"platformName": "android",
"deviceName": "ruancexiaosheng",
"automationName": "uiautomator2",
"appPackage": "com.xueqiu.android",
"appActivity": ".view.WelcomeActivityAlias"
}
Appium连接会话
然后到Appium界面中,输入相关的配置参数,选择Customer Server界面,再点击下图中的"启动会话",即可调起inspector。

之后就会出现下图的inspector连接界面,倘若界面没有更新,点击中间的刷新按钮即可看到最新的界面。

Error:
An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command 'C:\Program Files\Java\jdk1.8.0_77\bin\bin\java.exe' not found. Is it installed?
不知什么原因,感觉提示的路径就是错误的,后来升级到Appium1.15.1之后就没报错了。
Error:
appium Could not connect to server; are you sure it's running?
在运行Appium时,要选择Customer Server,再启动即可,如下图所示

Appium Server安装困难可能出现的原因:
- 部分依赖在海外无法访问。
- Node.js 安装不要用 root 权限安装。
- Node.js 版本不宜太低,也不宜太高,推荐 LTS 版本,或者从 Appium 源代码中获得推
荐的版本。 - 需要 python2 存在。
- node_module 不具备写入权限。
- Windows 下需要依赖编译工具。
- PATH 变量要设置 adb java 等路径,可以用 appium-doctor 验证。
- iOS 还需要解决 WebDriverAgent 的编译和依赖下载问题。
Appium移动端自动化测试--搭建模拟器和真机测试环境的更多相关文章
- MAC电脑下Appium + python3 + robotframework ios的真机测试环境搭建
本人的环境搭建前的准备,MAC电脑一台(macOS Mojave 10.14.0及以上),Xcode 10.0及以上 ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...
- appium 移动端自动化测试工具
appium 移动端自动化测试工具 appium 移动端自动化测试工具 appium 是哟个自动化测试开源工具 支持ios和安卓平台的应用 以及web应用和混合应用 appium 是一个跨平台的工具: ...
- ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机
ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...
- 移动web开发之移动端真机测试
× 目录 [1]特性 [2]安装 [3]设置[4]移动端 前面的话 chrome的开发者工具可以很好地做好模拟工作,但毕竟模拟和实际还是有差别的.所以,真机测试是一定要做的,如何高效地进行真机测试呢. ...
- [转] iOS开发之使用lipo命令制作模拟器与真机通用静态库
转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac ...
- iOS 静态库中使用宏定义区分iPhone模拟器与真机---备用
问题描述 一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的. #if TARGET_IPHONE_SIMULATOR #define SIMULATOR 1 #elif TARGET_O ...
随机推荐
- 08_提升方法_AdaBoost算法
今天是2020年2月24日星期一.一个又一个意外因素串连起2020这不平凡的一年,多么希望时间能够倒退.曾经觉得电视上科比的画面多么熟悉,现在全成了陌生和追忆. GitHub:https://gith ...
- 【Spring注解驱动开发】自定义TypeFilter指定@ComponentScan注解的过滤规则
写在前面 Spring的强大之处不仅仅是提供了IOC容器,能够通过过滤规则指定排除和只包含哪些组件,它还能够通过自定义TypeFilter来指定过滤规则.如果Spring内置的过滤规则不能够满足我们的 ...
- 实现saas多租户方案比较
看到一篇比较多租户数据隔离方案的文章,总结挺不错.其实大部分内容在我前几年写的文章都有. 文章翻译自: https://blog.arkency.com/comparison-of-approache ...
- SQL Msg 18054, Level 16, State 1
今天接到一个看起来很简单的任务--修改数据库中的一项数据.听起来很简单吧. 在网上搜索了一下,很快就拼凑出了相应的 SQL 语句: UPDATE [suivi].[dbo].[numSerie]SET ...
- Ubuntu安装Vmware Tools解决屏幕比例失调
前言 安装ubuntu虚拟机时默认比例如下图,且ubuntu系统选项中没有合适的比例,可以安装Vmware Tools来解决. 注意:该方法只适用于有操作界面的系统,之前有位小伙伴在服务器上也想安装T ...
- xdoj 2020校赛复盘
平时写东西都不喜欢复盘,这肯定不是一个好习惯,感觉每次花好几个小时甚至好几天写题目然后没写出来也不去看题解是一种很蠢的行为( 花了这么久时间打校赛,虽然水平很low,数据结构也不太会用,还是记录一下自 ...
- git添加所有新文件
git add -A 提交所有变化 git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add . 提交新文件(new)和被修改(mod ...
- 《ElasticSearch入门》一篇管够,持续更新
一.顾名思义: Elastic:灵活的:Search:搜索引擎 二.官方简介: Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTf ...
- ViewDragHelper类的基本使用
在android的开发包android.support.v4.widget中有一个ViewDragHelper类.这个类的作用是帮助我们处理View的拖拽滑动.在一个ViewGroup类的内部定义一个 ...
- 小白的mapbox学习之路-显示地图
刚接触mapbox,只是简单记下自己的学习之路,如有错误,欢迎大神指正 1-头部引入链接 2-body中定义一个div块,用来显示地图 3-在script中创建一个map对象,并设置相关参数 mapb ...