移动端自动化测试(一)之 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. Linux命令之chmod、chown

    一.chmod命令 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. ...

  2. 【原创】大叔经验分享(41)hdfs开启kerberos之后报错Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled

    hdfs开启kerberos之后,namenode报错,连不上journalnode 2019-03-15 18:54:46,504 WARN org.apache.hadoop.security.U ...

  3. MD5算法工具类

    抽时间写了一个算法工具类,目前支持的算法有SHA1,SHA256,SHA384,SHA512,MD5,同时支持获取文件的MD5值. 使用方法如下: 获取字符串的MD5值 String str= Alg ...

  4. inode索引详解

    理解inode inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础. 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽 ...

  5. HTML_1

    HTML 指的是超文本标记语言: HyperText Markup LanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签 (markup tag)HTML 使用标记标签来 ...

  6. 本地http://localhost打不开怎么办

    本地http://localhost打不开怎么办 出自:http://jingyan.baidu.com/article/c45ad29cebb95a051753e2b6.html 学过计算机的都知道 ...

  7. ionic2 子页面隐藏去掉底部tabs导航,子页面全占满显示方法(至今为止发现的最靠谱的方法)

    项目中遇到 tabs 字页面 可以用以下代码隐藏的方式: imports: [ BrowserModule, // IonicModule.forRoot(MyApp), HttpModule, Io ...

  8. django rest framework(3)

    目录 一.版本 二.解析器 三.序列化 四.请求数据验证 一.版本 程序也来越大时,可能通过版本不同做不同的处理 没用rest_framework之前,我们可以通过以下这样的方式去获取. class ...

  9. SpringBoot图片上传(二)

    需求简介:做新增的时候,需要上传图片.(⊙o⊙)…这需求描述也太简单了吧,限制文件大小60*60 512kb ,第一次做,记录一下嗷,废话就不啰嗦了 上代码 代码: //html代码<div c ...

  10. JSP 动作

    动作是第三种类型的语法元素,它们被转换成Java 代码来执行操作,如访问一个Java对象或调用方法. 一. useBean useBean将创建一个关联Java对象的脚本变量.这 是早期分离的表示层和 ...