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实现Synchronized锁的用法
Java线程同步中的一个重要的概念synchronized. synchronized是java的关键字,是一种同步锁,它作用的对象有以下几种: ①作用在代码块上.该代码块称为同步代码块,作用范围是大 ...
- Java实现考察团组成
考察团组成 某饭店招待国外考察团.按照标准,对领导是400元/人,随团职员200元/人,对司机50元/人. 考察团共36人,招待费结算为3600元,请问领导.职员.司机各几人. 答案是三个整数,用逗号 ...
- java代码(4)---guava之Immutable(不可变)集合
Immutable(不可变)集合 一,概述 guava是google的一个库,弥补了java语音的很多方面的不足,很多在java8中已有实现,暂时不展开,Collections是jdk提供的一个工 ...
- iOS-自定义 UITabBarController
先来回顾一下UITabBarController ( 稍微详细的在在http://blog.csdn.net/yang198907/article/details/49807011) 伴随UITabB ...
- KVM虚拟机使用NAT+iptables做端口映射
环境介绍 有一个KVM宿主机,一个外网IP绑定在了宿主服务器上,但是希望直接用ssh访问上面的所有虚拟机,还想虚拟机提供外网服务, 解决方法如下: 环境为RHEL6.3,外网IP为 61.155.xx ...
- router路由配置
vue项目中router路由配置 介绍 路由:控制组件之间的跳转,不会实现请求.不用页面刷新,直接跳转-切换组件>>> 安装 本地环境安装路由插件vue-router: c ...
- Quartz.Net系列(四):Quartz五大构件(Scheduler,Job,Trigger,ThreadPool、JobStore)之ThreadPool、JobStore解析
整体示意图: 1.DefaultThreadPool 如果不存在PropertyThreadPoolType,那么就使用DefaultThreadPool var threadPoolTypeStri ...
- Android学习笔记触摸事件
案例代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relativ ...
- 《Java并发编程的艺术》第5章 Java中的锁 ——学习笔记
参考https://www.cnblogs.com/lilinzhiyu/p/8125195.html 5.1 Lock接口 锁是用来控制多个线程访问共享资源的方式. 一般来说一个锁可以防止多个线程同 ...
- rust 宏
macro_rules! four { () => {1 + 3}; } fn main(){ println!("{}", 1+four!()); println!(&qu ...