移动端自动化测试(一)之 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环境准备篇的更多相关文章

  1. 移动端自动化测试(一)appium环境搭建

    自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都 ...

  2. 移动端自动化测试Appium环境搭建(part1-2-3)

    Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...

  3. appium+python做移动端自动化测试

      1 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile Web)应用UI自动化测试的相关自动化测试人员.开发人员等提供 ...

  4. 移动端自动化测试Appium 从入门到项目实战Python版☝☝☝

    移动端自动化测试Appium 从入门到项目实战Python版 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌)  说到APP自动化测试,Appium可是说是非常流 ...

  5. 手机自动化测试:搭建appium手机自动化测试开发环境

    手机自动化测试:搭建appium手机自动化测试开发环境   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...

  6. 移动端自动化测试-WTF Appium?

    手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ...

  7. 移动端自动化测试(二)之 Appium常用的API(python)函数介绍

    上一章节已经介绍了Appium的环境搭建,其实只要掌握了Appium的工作原理,前期的准备工作和安装过程是比较简单的.那么当我们搭建好Appium环境后接下来做些什么呢?通常思路是开始appium的第 ...

  8. 移动端自动化测试-WTF Appium

    手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ...

  9. 移动端自动化测试appium 从入门到项目实战Python版✍✍✍

    移动端自动化测试appium 从入门到项目实战Python版 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程 ...

随机推荐

  1. 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知

    持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知 一:Sonar是什么?Sonar 是一个用于代码质量管理的开放平台,通过插件机制,Sonar 可以集成不同的测试工具 ...

  2. mgo 的 session 与连接池

    简介 mgo是由Golang编写的开源mongodb驱动.由于mongodb官方并没有开发Golang驱动,因此这款驱动被广泛使用.mongodb官网也推荐了这款开源驱动,并且作者在github也表示 ...

  3. python pip下载速度慢的解决方法

    pip是python内置的非常好用的下载工具,基本可以下载全部的python库.它还有一个非常好的特点,当你安装一个库的时候,它会自动帮你安装所有这个库的依赖库.完全一键式操作.非常方便.但是由于pi ...

  4. 基于数组的循环队列(C++模板实现)

    循环队列使用数组实现的话,简单.方便.之前实现的队列,当尾端索引到达队列最后的时候,无论前面是否还有空间,都不能再添加数据了.循环队列使得队列的存储单元可以循环利用,它需要一个额外的存储单元来判断队列 ...

  5. Python学习 --- 列表

    list 函数可以将 序列变为列表 列表操作: 1 . 元素赋值, 根据索引,可以直接修改 2 . 删除元素, del x[i] 3 . 分片赋值, name[1:] = list (' '), 可以 ...

  6. [PHP]flock文件IO锁的使用

    一.flock概述 bool flock  ( resource $handle  , int $operation  [, int &$wouldblock  ] ) 参数 handle 文 ...

  7. jqGrid后台交互样例

    schoolManageGrid = $("#jqGrid").jqGrid({ url : ctx.path+"/api/school/querySchools&quo ...

  8. winform的水印TextBox

    public partial class WaterTextBox : TextBox { private readonly Label lblwaterText = new Label(); pub ...

  9. centos7_ linux : Nginx安装手册

    一: nginx安装环境 1: oracle vm虚拟机+Centos7系统的yum环境的安装 配置本地yum库(用root用户操作) 创建挂载目录 mkdir /mnt/cdrom 查看挂载目录 l ...

  10. Confluence 6 使用 JMX 界面实时监控

    使用 JMX 界面(Java Management Extensions API ),你可以实时的查看你 Confluence 运行实例的状态. JMX 使用的对象被称 MBeans (Managed ...