Windows 下搭建 Appium + Android+python 自动化测试环境

前言

本来并不打算写这么一篇文章,但是实践下来发现网上的各种教程里大致有两个问题。一是文章有些跟不上时代,目前android开发和测试的技术更新都比较快,内容有些过期。二是细节部分不是太完整,拼拼凑凑也能完成,但对新手来说就比较痛苦。那么,我也来试着总结一下自己踩过的坑。

备注:Android自动化测试环境和开发环境并不完全相同,测试环境可以很简单粗暴,很多工具可以不用安装,比如JDK,SDK Tools,测试脚本用C#,Python都可以完成;但是开发环境一般都是需要JDK和不少编译工具。

实践平台

Windows 10 Pro 64bit + Python 3.5.3

安装 JAVA 环境

如果只是自动化测试用,安装JRE就可以了,如果需要开发或者调试APK,那么请安装JDK。

  1. JRE = JVM + Java SE 标准类库,相当于Java程序最基本的运行环境。
  2. JDK = JRE + 开发工具集,包括javac编译工具等等。

JRE只有50多MB,JDK则接近200MB,请前往Java官网下载最新版安装,选择64位。

安装 Android Studio / SDK

以前的教程里都会让你去装 Android SDK,但现在你从Google或者Bing里很难搜索到 Android SDK的下载链接,因为目前官网推荐的做法有两个:

  1. 安装Android Studio (包含 Android SDK) -- 推荐
  2. 仅安装Android SDK 命令行工具

新版本的Android SDK和以前也不太一样,以前我们有一个 SDK Manager.exe 的工具用于更新和下载各版本的API,还有一个 AVD Manager.exe 的工具可以模拟各种型号的安卓设备。最新的 SDK 工具把UI 界面基本都去掉了,只留下命令行工具,具体的使用可以参阅官方文档:

那么多一事不如少一事,我建议推荐你直接安装Android Studio,这样不仅省事,而且万一你想写个App玩玩,也是极其方便的。

下载地址:https://developer.android.com...

安装过程非常简单,双击后一路Next,中间你也可以另外指定SDK的安装目标路径(不建议修改)。安装好之后,直接启动 Android Studio,首先会提示你联网下载一些必要的工具(你需要一个好的网络和梯子)。

一切就绪后,你可以在启动界面就可以打开 SDK Manager。

或者新建一个工程,从工程界面打开SDK Manager。

SDK Manager 打开之后,使用的方法就一目了然了。这就是个让你更新API和各种开发工具的工具。

如果只是为了自动化测试其实你只要记住SDK安装目录就可以了,不需要安装任何多余的工具。SDK的安装目录在配置环境变量时需要用到。

如果你的网络不畅通,那么需要先设置代理。接下来才能安装你想要的SDK版本和开发者工具。

安装 Android 模拟器

如果你已经安装了Android Studio,模拟器也已经有了,从工程界面找到AVD Manager的按钮,按照下图三个步骤就可以添加并启动一个模拟器。

每当你安装新版本的模拟器都是需要FQ或者代理的,最开始启动Android Studio时它已经给你下一个最新版的Android,我当前模拟器中的Android版本是7.1.1。

如果一切顺利,那么当你启动模拟器后,你就可以看到一台虚拟的Android设备了,手动测试基本条件已经达成,自动化测试指日可待。

多说几句,除了使用 Android SDK 自带的模拟器外,我们还有两个选择,一是使用真机,速度和体验上会更好。另外一个选择就选择别的模拟器产品,比如 [Genymotion](),因为是商业软件,所以对个人用户(免费)会有诸多限制,尽管如此,其成熟度也比Android SDK自带的模拟器高很多。因为这两个方案的具体实现涉及到的内容比较多,故不在本文讨论。

安装 Appium

Appium是开源的自动化测试框架,主要用于iOS,Android以及Windows apps等移动平台的自动化测试。官网的介绍说是它实现一套适用于移动端的WebDriver协议,所以使用Appium时用的还是依赖于Selenium,和Web自动化测试的主要区别就在Driver不一样。

举一个例子,如果我们需要用Google Chrome来跑Selenium的自动化测试,那么首先需要一个ChromeDriver。如果需要跑在IE上,那么需要一个IEDriver。那么现在需要在移动端比如Android里跑Selenium,这时候你需要一个Appium就够了,它担当了Driver的角色。Appium实现了一套标准的WebDriver,只要Appium服务起来之后,你的代码只需要和Appium交互,Appium会去告诉设备该干嘛干嘛。这里提到的设备可以是iOS或者Android,甚至是Windows Phone 和Firefox OS。

Appium 官网: http://appium.io/

安装方式一: 使用NodeJS 安装

首先到[NodeJS官网]()下载安装最新的NodeJS,Windows下属于傻瓜安装。安装好之后你可以配置NodeJS的安装源,在国内一般都用taobao的镜像,速度还不错。

在个人目录下新建一个 .npmrc 文件,写入:

registry=https://registry.npm.taobao.org/

然后使用npm命令安装 Appium

npm install -g appium

建议顺便安装一下appium-doctor,通过运行appium-doctor命令可以快速检查appium的环境问题。

npm install -g appium-doctor

如果安装成功,那么就可以通过 appium 命令启动appium server。

关闭命令行或者按 Ctrl - C 就可以停止 Appium Server。

安装方式二: 使用Appium安装包

网上很多教程所引导的Appium安装包一般在百度网盘或者bitbucket里,其实这两者都不是最新的。最新版的安装包应该从官网下载,Appium 目前托管在github,正确的下载地址应该为:

最新版的Appium 桌面安装后启动是这样的。

功能上和老的版本没太大区别,但是日志和UI显示更加清晰,一旦错误发生让你更容易找到问题所在。

注意,你可以不安装Appium 桌面版,但是命令行版应该还是需要安装的,因为自动化测试运行时一般都是通过命令启动和关闭Appium,桌面版并不提供命令行功能,只是为了调试方便。

关于Appium的介绍,这里有一份非常好的文档:http://appium.io/slate/cn/master

安装 Appium-Client

本文只讨论Python实现的Appium测试,所以你只需要允许以下命令:

pip install Appium-Python-Client

如果需要使用其他编程语言,下表供参考:

语言/框架 Github版本库以及安装指南
Ruby https://github.com/appium/ruby_lib
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
JavaScript (Node.js) https://github.com/admc/wd
Objective C https://github.com/appium/selenium-objective-c
PHP https://github.com/appium/php-client
C# (.NET) https://github.com/appium/appium-dotnet-driver
RobotFramework https://github.com/jollychang/robotframework-appiumlibrary

必要的环境变量设置

如果你已经安装了appium-doctor,那么你只要运行appium-doctor命令就可以知道你还需要设置哪些环境变量,比如:

不要慌,其实你只需要设置以下环境变量:

环境变量
ANDROID_HOME Android SDK 的安装位置
JAVA_HOME JDK 或者 JRE 的安装位置
加入 PATH %ANDROID_HOME%tools
加入 PATH %ANDROID_HOME%platform-tools
加入 PATH %JAVA_HOME%bin
加入 PATH %ANDROID_HOME%build-tools??version?? (可选)

最后一个环境变量是为了更方便地使用aapt这个工具,完成环境变量配置后你可以再次运行appium-doctor进行检查。不出意外,你应该能通过检查。

完成第一个自动化测试

终于来到了动真刀真枪的时候了,很多人一开始就放弃了,更多人开始了之后就放弃了,走到这一步真的挺不容易的。

开始写代码之前有些事情你应该清楚:

  1. 模拟器或者测试机必须是Ready的状态,每次启动模拟器都很费时间,所以建议模拟器不要关闭,通过代码来启动模拟器是一个办法,但是时间成本有点高。
  2. 如果是调试代码阶段,建议保持Appium桌面版长期运行,远程运行时再通过代码自动启动和关闭Appium。
  3. Appium会根据你的测试代码去寻找符合要求的设备,如果你启动了多台虚拟机或者连接了多台实体机,请显式地在代码中指定设备名称或者版本号。

第一个自动化测试需求很就简单,就是启动内置的拨号软件,搜索 “hello toby”。代码如下:

from appium import webdriver

desired_caps = {}
desired_caps[‘platformName‘] = ‘Android‘
desired_caps[‘platformVersion‘] = ‘7.1.1‘
desired_caps[‘deviceName‘] = ‘Android Emulator‘
desired_caps[‘appPackage‘] = ‘com.android.dialer‘
desired_caps[‘appActivity‘] = ‘DialtactsActivity‘

driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)
driver.find_element_by_id(‘com.android.dialer:id/search_box_collapsed‘).click()
search_box = driver.find_element_by_id(‘com.android.dialer:id/search_view‘)
search_box.click()
search_box.send_keys(‘hello toby‘)

运行效果:

恭喜你,你已经开始进入移动端的自动化测试的大门了!

时间: 2024-10-12 17:41:38

Windows 下搭建 Appium + Android+python 自动化测试环境的相关文章

windows下搭建Apache+Mysql+PHP开发环境

原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5.5php-5.3 下载地址 环境下载 官方下载地址 Apache MySql PHP 至于我使用的版本已经上传到百度云提供大家下载了,这里就不多啰嗦了!! Apache Apache的安装和普通的应用程序安装没什么太大的区别,关键是配置.打开安装路径下的"conf\httpd.conf"文

Windows下Eclipse+PyDev安装Python开发环境

1.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE方向版本.Java方向版本.C/C++方向版本.移动应用方向版本等诸多版本.除此之外,Eclipse还可以通过安装插件的方式进行诸如Python.Android.PHP等语言的开发. 本文将要介绍的就是使用Eclipse与PyDev插件,安装Python开发环境的方法,其中写本文的一个主要原因就是几天前在一台电脑上安装PyDev插件时遇到了一个之前没有遇到过的状况. 2.环境 OS:Windows XP 32bi

Windows下Eclipse+PyDev配置Python开发环境

1.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE.Java.C/C++.Android等诸多版本.除此之外,Eclipse还可以通过安装插件的方式进行包括Python.PHP等语言的开发. 本文将要介绍的就是使用Eclipse与PyDev插件,配置Python开发环境的方法,记录此文以便下次遇到问题方便查找 2.环境 OS:Windows XP 32bitsPython:2.7.9Java:6u34 Win7 32.64位操作系统下述方法相同. 3.软件下载

Windows下搭建Eclipse+Android4.0开发环境

官方搭建步骤: http://developer.android.com/index.html 搭建好开发环境之前须要下载以下几个文件包: 一.安装Java执行环境JRE(没这个Eclipse执行不起来)和JDK 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html, 先装JRE,再装JDK,这个没什么说的,直接点击下一步就好了.... 二.安装Android SDK 下载地址:http://develop

Windows下搭建appium+python的测试开发环境

QQ群522720170,无商业广告,每日干货电子书+视频分享 荔枝FM手机客户端搜索"挨踢脱口秀"即可订阅我们 视频汇总首页:http://xqtesting.blog.51cto.com/4626073/1669386 1.安装nodejs 下载地址:https://nodejs.org/download/ 2.安装Appium http://appium.io/下载完毕后解压到pc本地,将压缩包里有appium.cmd文件的路径设置到环境变量path中 验证:appium-doc

Windows下搭建Apache+Django+Python Web服务环境

最近在学Django,想用Apache搭建一个服务器环境,因此在网上看了好多资料,很多都是用Python2.6和Apache2.2搭建的环境,作为一个有着轻微强迫症的程序猿,当然要用最新版本的环境啦,我搭建的具体环境如下: 1.Python3.5(https://www.python.org/) 2.Django1.9.4(https://www.djangoproject.com/) 3.Apache2.4(http://www.apache.org/) 4.mod_wsgi-4.4.23(h

Windows下搭建appium(Android版)

1.安装node.js 说明:安装node.js是为了可以使用它的npm,可以用npm install很方便的安装它包含的包,appium server使用node.js编写的 下载地址:https://nodejs.org/en/ 默认安装,会自动将node.js添加到环境变量path中去,如果path没有加进去,手动加一下 查看是否安装成功:cmd中使用node -v查看版本 2.安装Android的sdk包 说明:sdk是Android的软件开发工具包. 下载地址:http://andro

Ruby Rails入门——windows下搭建Ruby Rails Web开发环境

Ruby on Rails 是一个可以使你开发,部署,维护 web 应用程序变得简单的框架.2015年10月编程语言排行榜 Ruby进入TIOBE排行榜前十,可见其流行程度如此之高.本文就帮你打开Ruby on Rails Web开发的大门,助你进入Ruby on Rails的世界,感受不一样的风景. Ruby on Rails完整安装包 下载地址:http://railsinstaller.org/en 希望快速搭建开发环境的朋友可以试试这个,我还没试过: 我使用的是下面的安装过程,中间遇到不

在Windows平台搭建轻巧的Python开发环境——面向工程和科研的扩展包配置

首先,下载最新版本的Python. 为什么强调最新版本呢,因为新版本的漏洞通常会少得多,而且反映了未来的趋势. 既然要学,何不起点高一点? 官方下载地址:https://www.python.org/getit/ 安装过程中注意勾选添加到环境变量,否则你需要手动添加. 安装完毕后进入命令行,输入:python,看是否进入python的shell. 如果没有进入,检查一下环境变量. 如果提示缺失某些DLL,建议重启一下电脑. 安装pip模块,这个模块会让你以后安装别的相当方便,能达到类似Ubunt