环境:Windows 7版本 64位系统(python)
1.jdk安装配置:jdk1.6.0 (64位)
2.android-sdk下载安装:android-sdk_r24.3.4-windows
3.安装Node.js:node-v4.4.7-x64
4.安装appium(Appium Server或appium-desktop):1.4.13.1
5.安装Appium-Python-Client
6.appium-doctor环境检查
7.安装模拟器
8.测试环境验证
9. Appium的相关命令
1.下载jdk包,根据自己的系统选择对应版本。官网:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
2.一路傻瓜式安装,注意安装路径不要有空格,不要有中文。记录jdk的安装位置,jdk和jre不要放在一个文件夹下
3.设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”
4.打开cmd验证是否安装成功,输入java -version,能显示版本号和下面的帮助信息说明安装成功。输入javac,未报错。
Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。
1.下载android-sdk
2. Android环境变量
3.Andriod SDK安装
安装Android 版本,双击打开SDK manager.exe, 启动SDK管理器。
选择安装如下内容:
Android SDK Tools(必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带rc字样的是预览版。
Android SDK Platform-tools(必须,只需下载一个版本,一般选最新版本):从android2.3开始划出此目录,存放公用开发工具,比如adb、sqlite3等,被划分到了这里。
Android SDK Build-tools(必须,可以安装多个版本):Android项目构建工具。
Android xxx(API xx) 目录(可选的各平台开发工具)如,Android 8.1.0(API 27)
SDK Platform(必须):对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个。
Android Support Repository(可选):主要是方便在gradle中使用Android Support Libraries,因为Google并没有把这些库发布到maven center或者jcenter去,而是使用了Google自己的maven仓库。Google USB Driver(可选) 连接真机时需要用到。Google Web Driver (可选)测试H5页面时需要用到。Intel x86 Emulator Accelerator(HAXM installer)(可选):windows平台的Intel x86模拟器加速工具,配合Intel x86 atom/atom_64 System Image使用可加快模拟器的运行速度。
4.创建虚拟机(需要时再建)
5.adb连接手机
1.通过usb, 利用adb来连接手机
(1)驱动,pc端安装驱动,如果是华为手机可以安装“华为手机助手”
(2)开发者选项中启用USB调试:设置---关于手机---连续点击“版本号”,即可以打开 ;“选择USB配置”选项为“仅充电”模式。打开“USB调试”。
(3)进入电脑的cmd界面,输入:adb devices,出现device说明手机通过usb连接电脑成功。如果没有出现,可以通过adb tcpip 5555来重启。出现restarting in TCP mode port: 5555说明重启成功.
(4) 移除usb保持adb连接:找出手机端的ip地址:设置-->关于手机-->状态信息-->ip地址。通过adb
connect #.#.#.#连接手机。#.#.#.#是手机的ip地址,出现:connected to #.#.#.#:5555,说明连接成功。将usb移除之后再次输入adb devices,手机还是跟电脑处于相连接的状态。注意:确保手机和电脑处于同一个网段.
结束adb服务:adb
kill-server
启动adb服务:adb
start-server
通过adb shell dumpsys window w |findstr \/
|findstr name=,查看当前手机打开的app和activity。
2.通过无线WiFi,利用adb来连接手机
(1)一点底层的知识:Android系统底层运行着一个服务(adbd),用于响应和管理大家在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络其中之一。配置的属性为:service.adb.tcp.port,也就是监听的网络端口,属性的值 > 0:adbd将监听网络对应的端口(一般为5555);属性的值 <=-1:adbd将监听USB
(2)连接步骤:pc命令行输入:adb connect
172.16.4.37:5555 (:5555可省略),成功提示:connected to
172.16.4.37:5555。
提示unable to connect to 172.16.4.37:5555的解决办法(原因:手机的默认adb服务是没有打开的,否则,别人adb能随便连,就很不安全),手机与PC相连,执行以下命令:adb tcpip 5555,成功提示:restarting in TCP mode port 5555;如果手机没有和PC连接,直接使用以上命令会提示 error:device not found,然后断开USB。接着执行adb connect 172.16.4.37:5555,这时候应该就能连接成功了,成功提示:connected to 172.16.4.37:5555
(3) 输入adb
devices,得到以下提示说明连接成功,可以进行各种调试了
List of devices attached
172.16.4.37:5555 devices
(4)调试完成之后,输入如下的命令断开连接:adb disconnect 192.168.1.5:5555。最后一步,需要把监听的网络端口重置为-1,监听USB端口(好像不做这一步,直接插上USB线也能正常使用,而且这一步经常会提示could not set property,需要root权限)
setprop service.adb.tcp.port
-1
stop adbd
start adbd
3. adb devices在获取连接的安卓手机时,可能会遇到的坑。
1、手机USB调试一定要打开。
2、多找两根USB线,排除线的问题。
3、多换几个USB接口,排除USB个别接口不好使问题(如:3.0 与 2.0)
4、驱动程序,通过设备管理器查看是否安装驱动或驱动不是最新。
5、更新adb_usb.ini文件,少数电脑不能识别Android手机时,可以将设备管理器下的Android手机的VID、PID增加到adb_usb.ini文件中。
将VID、PID中“_”后的4位数增加到adb_usb.ini下(注:adb_usb.ini默认在C盘当前用户家目录下的.android目录下)
6、在发现使用 adb
devices 没有设备之后,安装三星手机驱动。安装好之后会在计算机->设备之中看到一个已被识别出的三星手机。再次使用adb devices,出现了设备,但是设备识别为
unauthorized 。此时在手机上切换一下连接方式:MTP PTP,或者关闭USB再开启USB等,类似重启的效果。现在已经可以识别并连接了
理论上这些操作都操作一遍后,基本adb devices就可以找到Android手机了。
appium服务端是node.js写的。appium本质是一个nodejs库所以要先安装nodejs。
1.下载官网地址:https://nodejs.org/en/download/23,下载后一路傻瓜式安装,安装完成后,运行cmd,输入node -v查看版本号,然后输入npm。出现如下图信息,表示node.js安装成功。
2.npm(node
package manage)是node.js安装包管理工具,类似Python中的pip工具。是一个node包管理和分发工具,有了npm,后面就可以输入指令在线安装appium(打开cmd输入:npm install -g appium但是一般不推荐这种,下载比较慢,所以用下面的客户端安装)
1.appium-desktop(推荐)
Appium-Server有一两年没有更新。于是,新的工具 Appium-desktop 来了! 它来继续
Appium-Server的使命,当然, Appium-Server当前仍然是可用的。TesterHome官方百度网盘:
http://pan.baidu.com/s/1jGvAISu
默认安装目录:
C:\Users\v-xug\AppData\Local\Programs\Appium,安装完成后能够成功打开桌面的appium程序,说明安装过程暂时没什么问题
2.Appium Server(不推荐)
安装.net framework
node.js需要.NETFramework框架的支持,所以需要安装.net framework4.5,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=3065332
六、安装Appium-Python-Client
1.我们使用python开发appium的自动化测试脚本,肯定离不开appium的一些api库,所以说这里的appium 客户端就是python代码使用的库,用来连接appium server 及操作app。appium client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。appium client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。
2.python环境安装,已经准备好pip了,所以这里直接打开cmd,输入:pip install Appium-Python-Client进行安装。命令行输入:python回车,输入from appium import webdriver不报错,来检测是否安装成功。如果控制台没有报错,则说明安装成功。
3.appium client方法: http://www.testclass.net/appium/methods
appium-doctor(新版)
1.新版appium中没有找到 appium-doctor这个工具,打开CMD执行命令:npm install -g appium-doctor,安装appium-doctor
2.使用appium-doctor命令检查整个环境是否有问题,输出信息和下图一样,那么环境就搭建成功
appium-doctor(老版)
appium-doctor可以检测Appium整体依赖环境配置情况。
1.appium安装好后,找到这个文件目录D:\appium\Appium\node_modules\.bin
2.将上面的地址添加到环境变量path下(老版本的有这个目录,新版的我还真没找到这个目录,所以也不需要配置环境变量了)
3.打卡cmd,输入appium-doctor,检查环境是否OK,出现下图,说明环境OK。
所有的环境已经安装完成,接下来就是链接手机模拟器或者真机了,我这里使用的是夜神模拟器,下载地址:https://www.yeshen.com/,下载完成后直接安装,安装完成后,桌面会生成两个图标,夜神模拟器和夜神多开器
1.连接模拟器
开启模拟器的开发者模式,点击模拟器的设置-点击关于平板电脑-点击版本号(会有提示点击几次打开开发者模式)。
打开CMD终端,切换cmd 的工作目录到夜神模拟器的安装目录的bin目录下(或者你把这个目录添加到环境变量也可以,但是最好不要添加到环境变量,因为bin目录下也存在一个adb.exe会和Android SDK中的adb.exe冲突),执行命令 nox_adb.exe
connect 127.0.0.1:62001(不同模拟器的这个端口号不同)。
(1) 看到下面的提示后,接着再次输入命令 adb
devices (注意:不要在上面的目录下继续输入命令,因为bin下同样存在一个adb.exe ,如果你还在这个目录下执行adb命令,那么使用的并不是Android SDK中的adb,所以切换到其他任意目录执行命令)
输入命令 adb devices。如果看到上图中的信息,说明成功连接上了模拟器, 这里只能说明Android的开发环境没问题了,但是进行自动化时还不一定能够正常控制模拟器
(2)如果执行命令时提示类似:abd server
version(40) doesn't match this client (36) 这样的失败信息,那么说明你的server(夜神模拟器的adb(nox_adb.exe))和client(Android SDK中的adb)版本不对应
2.检查版本
下面通过编写一段简单的代码程序,验证一下程序是否能够成功驱动设备/模拟器打开指定的app,如果没有报错,那么到此为止整个appium自动化测试环境就已经完成了。
1.打开appium,并启动服务器,保持模拟器开启状态。编写如下测试代码,对应app被成功打开,表示整个环境已经没有任何问题了。
from appium import webdriver
desired = {
"platformName": "Android",
"platformVersion": "5.1.1",
"deviceName": "e9b768eb7d2a",
"appPackage": "com.xxzb.fenwoo",
"appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity"
}
driver = webdriver.Remote(
command_executor="http://127.0.0.1:4723/wd/hub",
desired_capabilities=desired)
where appium:查看appium的安装路径
appium:可启动appium服务,appium -v查看版本。如果该命令报错,那么请重装appium.
退出appium:按键 ctrl+c 选择y 即可退出。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章