移动端自动化测试(一)之 Appium+Pyhton环境准备篇
移动端自动化测试(一)之 Appium+Pyhton环境准备篇
2016-11-17 16:51 by CockRoacher, 5046 阅读, 1 评论, 收藏, 编辑
由于工作的需要进行Andriod手机app自动化测试,公司现有支持的app的手机平台(Andriod和IOS), 所以选择了Appium工具。因为Andriod和IOS,Appium都支持。百度和谷歌上的各种Appium教程可谓是琳琅满目,但大抵都是浅尝辄止。因此笔者想要总结一套较全面的Appium的实战经验,以此记录我遇到的坑和填过的坑。
web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API(selenium2)--->开发自动化测试项目。
移动自动化的测试的路线则是这样的:编程语言基础--->测试框架--->android/IOS开发测试基础---->appium API ----->开发移动自动化项目。
俗话说,工欲善其事,必先利其器。闲话不多话,开始!
准备工作
一、Python安装
Python作为当下猿类主流的热门语言,低门槛,上手快,见效快。目前主流的编程语言对Appium的兼容都是很好的,现在流传世面使用的python版本有两种:Python2与Python3。python3并不是python2的升级,可以理解成python2和python3是两种完全不同的语言,它们的类库是完全不能兼容的!但python官方文档已说明python2只是过渡版,在2020年就会停止对python2的维护和更新,并推荐转为使用python3。不过本教程仍是以python2.7.12为例。访问python官网,https://www.python.org/downloads/release/python-2712/ 下载适合自己操作系统的安装文件

这里以Windows(64位)操作系统为例,下载Windows x86-64 MSI installer,双击打开,一直next,在选择安装组件的一步时,勾上所有的组件完成安装。值得注意的一点是需要勾选上Add python.exe to Path,

默认会安装到C:\Python27目录下,然后打开命令提示符窗口,敲入python后,

如果出现以上画面则说明python安装成功!当然如果命令行出现提示 "‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。",则说明在安装时忘记勾选上Add python.exe to Path。
二、Appium安装
Appium官方网站:http://appium.io/,关于安装说明,官方也给出了言简意赅的安装步骤:

看了官方的安装说明,感觉貌似并不是那么的难。其实这里面还是遇到了不少的坑。OK,为了尊重官方,我们首先还是按照官方的方法尝试安装。
1、安装node.js
为什么要安装node?node.js 是javascript和Google V8结合的服务器项目,appium就是node的其中一个开源项目,appiun server端是用node实现,遵循了REST架构(1),所以appium可以用node的包管理工具npm来进行安装。
下载node.js ,下载地址:https://nodejs.org/en/download/ 建议下载最新的LTS版本。目前Latest LTS Version: v6.9.1 (includes npm 3.10.8),一路"Next"即可安装完成。默认安装路径为"C:/Program Files/nodejs/",安装时需添加系统全局变量。

安装完成,然后打开命令提示符窗口,敲入npm -v,

如果出现以上画面则说明node.js安装成功!
安装步骤
1、安装Appium
方法一:
由于appium实则是一个node的开源项目,所以可以使用node的包管理工具npm在线安装,打开命令提示符窗口输入"npm install -g appium"即可在线安装,但是由于GFW关系,此方法会在安装过程中卡住或是直接报错,解决办法:挂VPN代理FQ
方法二:
因为npm install是连接官方的npmjs.org去下载源码,为了满足国内开发人员的需要,淘宝npm镜像cnpmjs.org可替代官方版本。打开输入"npm install -g appium --registry=https://registry.npm.taobao.org"。此方法可行,但不推荐,安装过程耗费时间略长,也不一定会成功。
方法三:(推荐)
直接下载appium的GUI界面安装包,下载地址:https://pan.baidu.com/s/1jGvAISu#list/path=%2F,Windows最新版本是AppiumForWindows_1.4.16.1.zip,MacOS最新版本是appium-1.5.3.dmg。笔者以windows为例,下载的AppiumForWindows_1.4.16.1.zip 进行解压安装,启动appium,弹出错误提示框
很容易在网上查到错误原因,因为node.js需要.NET Framework框架的支持,所以在这里需要安装net framework4.5。当.net framework 4.5安装完成,再次启动Appium,

出现上面的画面则表示appium的服务端已安装完成。那么我们还要安装appium的客户端,因为我们是基于python的开发环境,因此可以直接用pip安装appium客户端。打开命令控制行,输入"pip install Appium-Python-Client",

等待提示Success,即完成了所有的安装。大多数网上的教程就到此结束,但其实安装还没有结束。因为我们使用的方法三进行安装,所以还需要手动设置appium的环境变量(2)。
(如果从官方的资源库下载Appium-Python-Client失败,请自行更换下载源重新下载。在命令行输入"pip install Appium-Python-Client -i http://pypi.douban.com/simple"重试 特别鸣谢@大橙子 同学的指正。)
tips:设置方法:选中计算机点击右键-->属性-->高级系统设置,选中高级-->系统变量,在新建系统变量,变量名为"APPIUM_HOME",变量值为"C:\Program Files (x86)\Appium"(默认安装路径);再编辑PATH,添加变量值";%APPIUM_HOME%\node_modules\.bin;"
设置完成后打开命令行,输入"appium-doctor",

根据提示可知,还需设置Android环境变量,而Android环境变量又需要Java环境的支持。所以最后自行下载搭,建JDK和Android SDK环境吧。所有安装完成后,再次在命令行输入"appium-doctor",

以上则是搭建APPIUM环境的准备工作和所有步骤过程,大家也来试一试吧!
移动端自动化测试(一)之 Appium+Pyhton环境准备篇的更多相关文章
- 移动端自动化测试(一)appium环境搭建
自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都 ...
- 移动端自动化测试Appium环境搭建(part1-2-3)
Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...
- appium+python做移动端自动化测试
1 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile Web)应用UI自动化测试的相关自动化测试人员.开发人员等提供 ...
- 移动端自动化测试Appium 从入门到项目实战Python版☝☝☝
移动端自动化测试Appium 从入门到项目实战Python版 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 说到APP自动化测试,Appium可是说是非常流 ...
- 手机自动化测试:搭建appium手机自动化测试开发环境
手机自动化测试:搭建appium手机自动化测试开发环境 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...
- 移动端自动化测试-WTF Appium?
手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ...
- 移动端自动化测试(二)之 Appium常用的API(python)函数介绍
上一章节已经介绍了Appium的环境搭建,其实只要掌握了Appium的工作原理,前期的准备工作和安装过程是比较简单的.那么当我们搭建好Appium环境后接下来做些什么呢?通常思路是开始appium的第 ...
- 移动端自动化测试-WTF Appium
手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ...
- 移动端自动化测试appium 从入门到项目实战Python版✍✍✍
移动端自动化测试appium 从入门到项目实战Python版 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程 ...
随机推荐
- mybatis:递归查询,关联查询传入多个参数
需求是:递归查询资源 1.资源类 EntityBaseResource: public final class EntityBaseResource { private Long resID = 0l ...
- Ex 2_25 n位十进制整数转换为二进制形式..._第四次作业
(a) 当n=1时,(10)d=(1010)b 当n=2时,(100)d=(10)d x (10)d=(1010)b x (1010)b 当n=4时,(10000)d=(100)d x (100) ...
- appium常用方法
1.输入中文 在capabilities中增加两项设置: capabilities.setCapability("unicodeKeyboard", "True" ...
- ID过滤靓号写法(PHP和Nodejs版本)
1 前言 例如某APP的用户ID,需要按照一定规则把靓号先存取来,然后慢慢按要求释放靓号 2 代码 PHP版本如下: function genUserId(){ $id = ""; ...
- Codeforces 671D Roads in Yusland [树形DP,线段树合并]
洛谷 Codeforces 这是一个非正解,被正解暴踩,但它还是过了. 思路 首先很容易想到DP. 设\(dp_{x,i}\)表示\(x\)子树全部被覆盖,而且向上恰好延伸到\(dep=i\)的位置, ...
- 任意N位二进制的补码实现——队列存放
正在学习计算机组织与结构,为了写一些底层的算术操作模拟,比如一个二进制补码数的加减乘除,发现这很麻烦,因为不管是什么语言,都只提供了8位.32.64位等部分位数的补码形式,那么怎么实现任意任意位的补码 ...
- Connection reset by [server_ip] port 22 (hexo d 部署博客出错)
问题 在使用 hexo d 部署博客和使用 Git/Github 进行 git push -u origin master 时遇到了以下问题: git -c diff.mnemonicprefix=f ...
- Confluence 6 使用 Apache 的 mod_jk
在 Confluence 6 及其后续版本中,不能使用 mod_jk 来做代理.这是因为 Synchrony 服务导致的这个限制. Synchrony 在协同编辑的时候需要启动,同时还不能接受 A ...
- Confluence 6 升级自定义的站点和空间仔细测试你的修改
修改可能对 Confluence 的后续版本不兼容,当你对 Confluence 进行升级的时候,你应该总是对你自定义修改的模板文件进行仔细的测试来确定所有的修改对新版本的 Confluence 兼容 ...
- SpringBoot事务管理
1.在UserMapper接口中添加更新和删除方法 package com.cppdy.mapper; import org.apache.ibatis.annotations.Delete; imp ...