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 ...
随机推荐
- java实现三角螺旋阵
方阵的主对角线之上称为"上三角". 请你设计一个用于填充n阶方阵的上三角区域的程序.填充的规则是:使用1,2,3-.的自然数列,从左上角开始,按照顺时针方向螺旋填充. 例如:当n= ...
- unittest单元测试框架入门及应用
一.简介 unittest是Python单元测试框架.unittest它支持自动化测试,在测试中使用setup(初始化)和shutdown(关闭销毁)操作,组织测试 用例为套件(批量运行),以及把测试 ...
- SignalR控制台自托管服务端向web客户端指定用户推送数据,客户端断线重连
一.前言 SignalR是微软推出的开源实时通信框架.其内部使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式,SignalR会根据客户端和 ...
- .Net Core微服务入门全纪录(一)——项目搭建
前言 写这篇博客主要目的是记录一下自己的学习过程,只能是简单入门级别的,因为水平有限就写到哪算哪吧,写的不对之处欢迎指正. 什么是微服务? 关于微服务的概念解释网上有很多... 个人理解,微服务是一种 ...
- 学习nginx从入门到实践(四) 基础知识之nginx基本配置语法
nginx基本配置语法 1.http相关 展示每次请求的请求头: curl -v http://www.baidu.com 2.nginx日志类型 error.log. access.log log_ ...
- 手写网页扫雷之HTML部分
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UDF_表值函数与标量函数的区别_分割字符串成单个的字符并返回表(插入到表中)
UDF_区别_分割字符串成单个的字符并返回表(插入到表中) /* SQL表值函数和标量值函数的区别 实验环境:SQL Server 2014,参考maomao365有改编 在sqlserver中存储过 ...
- CSS小功能实现
1.css实现三角形效果 #prev { display: block; width:; height:; border-bottom: 7px solid #4d4d4f; border-right ...
- 使用Python解密仿射密码
新学期有一门密码学课,课上老师布置了一道密码学题,题目如下: 解密由仿射密码加密的密文“DBUHU SPANO SMPUS STMIU SBAKN OSMPU SS” 想解密这个密文,首先必须要知道仿 ...
- frp多层socks代理+端口映射
一.首先在公网上配置服务端(frps.ini) [common] bind_addr = xx.xx.xx.xx #公网vps的ip bind_port = 7000 二.配置客户端frpc. i ...