一、步骤及环境

环境: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的相关命令

二、jdk安装配置

1.下载jdk包,根据自己的系统选择对应版本。官网:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

2.一路傻瓜式安装,注意安装路径不要有空格,不要有中文。记录jdk的安装位置,jdk和jre不要放在一个文件夹下

3.设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”

  • 新建 JAVA_HOME 变量:变量值是自己安装JDK 的路径,D:\Java\jdk1.6.0”
  • 配置ClASSPATH:变量值是:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
  • 配置PATH:找到PATH变量,追加如下目录:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;;PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

4.打开cmd验证是否安装成功,输入java -version,能显示版本号和下面的帮助信息说明安装成功。输入javac,未报错。

三、android-sdk下载安装

Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。

1.下载android-sdk

  • Android Studio:官网上没有找到单独 Android SDK 的下载链接,官方推荐下载包含 Android SDK 的 Android Studio。Android Studio & Android SDK 下载地址:https://developer.android.com/studio/index.html?hl=zh-cn。页面底部,你将找到下载链接,根据自己的平台选择对应的链接下载。一方面是包含 Android SDK 的 Android Studio 的安装包很大。另一方面它们二者也不是强关联的。因为 Appium也会用到 Android SDK,而 Android Studio 也可以调用真机来运行 Android程序。
  • Android SDK下载(我们需要的):http://tools.android-studio.org/index.php/sdk,解压

2. Android环境变量

  • 设置Android环境变量, 在系统变量新建:ANDROID_HOME,对应变量值为:D:\androidsdk\android-sdk-windows(sdk安装路径)。path添加两个变量,添加;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;或者D:\androidsdk\android-sdk-windows\tools和D:\androidsdk\android-sdk-windows\platform-tools
  • adb是在D:\androidsdk\android-sdk-windows\platform-tools这个目录下的,所以上面添加了环境变量后,可以直接在cmd里面运行了。在cmd界面输入“adb”查看对应版本号来判断安装是否成功。

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.创建虚拟机(需要时再建)

  • 双击 AVD Manage.exe 启动AVD管理器。点击 “Create...” 按钮,创建Android虚拟机。不要选择超过电脑屏幕分辨率的Device,其它选项参考下图。点击 “OK” 创建完成。在 AVD Manage 工具中选中创建的Android虚拟机,点击 “Start...” 按钮启动。
  •  

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手机了。

四、安装node.js

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但是一般不推荐这种,下载比较慢,所以用下面的客户端安装)

五、安装appium(Appium Server)(appium-desktop)

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(不推荐)

  • Appium 移动测试中有个很重新的组件 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试。但Appium-Server有一两年没有更新了。Windows版在 2015 年底止步于的 AppiumForWindows_1_4_16_1.zip.
  • 下载安装地址:https://bitbucket.org/appium/appium.app/downloads/16,下载后直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标,启动后界面显示如下

 

  • 安装.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环境检查

  • 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.检查版本

  • cmd输入:adb version,查看client版本
  • cmd切换到夜神安装目录的bin目录下,执行nox_adb.exe
    version
  • 我的版本是一样的,你的可能是两个不同的版本号,
    你需要把Android SDK中的adb拷贝到夜神模拟器安装目录下的bin目录下,并重命名为nox_adb.exe 并替换原来的即可
  • 接下来我们就可以测试连接是否正常了,输入命令 nox_adb.exe connect 127.0.0.1:62001(这里要注意执行命令的目录,应为夜神模拟器安装目录的bin目录下

九、测试环境验证

下面通过编写一段简单的代码程序,验证一下程序是否能够成功驱动设备/模拟器打开指定的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)

十、Appium的相关命令

where appium:查看appium的安装路径

appium:可启动appium服务,appium -v查看版本。如果该命令报错,那么请重装appium.

退出appium:按键 ctrl+c 选择y 即可退出。

原文地址:https://www.cnblogs.com/linuxchao/p/linuxchao-appium-environment.html;https://www.cnblogs.com/yoyoketang/p/6128725.html

Appium+python自动化环境搭建的更多相关文章

  1. appium+python自动化☞环境搭建

    前言:appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.略懂Python,所以接下来的教程是 appium+pyt ...

  2. Appium+python自动化环境搭建(小白适用)

    写在前面: 没开始搭建前听好多人说,学习appium80%的人都死于环境搭建,所以一开始很紧张,在搭建环境中也确实遇到了好几个问题,由于之前本人使用app测试经验很少,所以相当于app小白,因此有的问 ...

  3. Appium+python自动化-环境搭建

    一.前言 本文是在windows10  X64系统下搭建appium,流程如下: 1.安装jdk1.8+python3.6 (64位) 2.安装node.js 3.安装Appium-desktop 4 ...

  4. Appium+Python自动化环境搭建-1

    前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python. 小编擅长Python,所以接下来的教程是appium+p ...

  5. appium手机自动化环境搭建

    在robotframework环境安装完成的基础上进行如下安装,如果没有安装rfs环境,请先参考robotframework安装文章:Robot Framework的环境搭建 文件下载地址:链接:ht ...

  6. Python自动化环境搭建

    安装配置 Eclipse + PyDev + Robotframework 集成开发环境 1.安装JDK安装目录下的jdk-7u17-windows-i586.exe文件(JAVA开发.运行环境)安装 ...

  7. APP——python——自动化环境搭建01

    前提:python以及pycharm安装完成. ---------------------------------------------------------------------------- ...

  8. Mac+Appium+Python+Pycharm环境搭建

    为什么优先选择Mac做自动化测试? 1.既可以做iOS端的测试也可以进行Android端测试 2.Mac运行效率相对于Win要高很多,可以真正发挥appium的功能 以下是在Mac上完整搭建过程 一. ...

  9. Appium+python的环境搭建!

    我的电脑64位操作系统 下载并安装所需软件: 1.adb环境 2.下载(python-2.7.12.amd64.msi)并安装python 3.下载并解压adt,如(adt-bundle-window ...

随机推荐

  1. centos7安装YouCompleteMe,vim打造成C++的IDE

    一.安装python3 1.安装编译工具 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...

  2. 温故知新————c++ 多态

    参考: 1. https://blog.csdn.net/weixin_42678507/article/details/89414998  (直接说明原理) 2 .https://www.cnblo ...

  3. C语言中time_t数据类型详细介绍

    包含文件:<time.h> #ifndef __TIME_T #define __TIME_T     /* 避免重复定义 time_t */ typedef long     time_ ...

  4. Ubuntu开启/var/log/messages

    # 添加配置到/etc/rsyslog.d/50-default.conf cat <<'EOF' | sudo tee -a /etc/rsyslog.d/50-default.conf ...

  5. LiteOS-任务篇

    目录 前言 链接 参考 笔录草稿 基本概念 任务相关概念 LiteOS 任务运作机制 内核初始化 创建任务 创建任务有两种方案 任务相关函数 任务开发流程 创建创建任务 部分源码 例子 创建任务的任务 ...

  6. URLEncoder.encode编码空格变+号

    今天调用rest接口的时候,使用URLEncoder编码将空格转为了+号,而rest接口方需要将空格转为%20,参照标准 之后用了不少在线的工具测试,有的将空格转为了+号,有的则是转为了%20.看了一 ...

  7. thinkphp6.0.x 反序列化详记(一)

    前言 这几天算是进阶到框架类漏洞的学习了,首当其冲想到是thinkphp,先拿thinkphp6.0.x来学习一下,体验一下寻找pop链的快乐. 在此感谢楷师傅的帮忙~ 环境配置 用composer指 ...

  8. nginx的脚本引擎(二)rewrite

    其实rewrite指令和上一篇说的if/set/return/break之类的没多大差别,但是rewrite用起来相对复杂,我就把他单独放到了这里.想要弄懂nginx的脚本引擎需要先明白处理reque ...

  9. set的运用 例题5-3 安迪的第一个字典(Andy's First Dictionary,Uva 10815)

    #include<bits/stdc++.h>using namespace std;set<string> dict;int main(){ string s, buf; w ...

  10. MySQL的事务与锁 转

    资料来源: 青山老师的mysql课程 丁奇老师的<MySQL45讲> 一.文章结构和思路 1.整体文章结构 2.大概思路 介绍数据库的特性: 数据库标准所制定的隔离级别和解决对应的一致性问 ...