前面介绍了iOS自动化工具的Appium所需的虚拟机环境,接下来介绍下Appium的安装与使用方法,这个足足折腾我将近一个星期。网上没有什么详细的资料,对于遇到的各种各样问题也没用提供明确的解决方法。这里我贴出我的总结经验,和大家分享。

Appium提供了两种安装使用方式:图形化界面和命令行控制。无论使用哪种方式安装,以下软件都最好准备并安装完毕:

1.Xcode Command Line Tools:必须。提供Xcode的命令行调用工具,需对应OS版本和Xcode版本。可从官网上下载或着远景论坛搜索。

2.Node.js:非必须。命令行使用那一定要下载安装Node.js,官网上下载安装包即可。图形化的不确定,不过最好安装上,也不费事。

3.Mac上的Eclipse和JDK:非必须。但是如果想用Java编写appium测试用例的话,那么这些开发环境最好准备着。

使用Java的话,需要导入以下三个包,都是刻骨铭心的总结啊:

java-client-1.5.0.jar:appium官方提供的Java客户端,官网上下载:https://search.maven.org/#search|ga|1|g%3Aio.appium%20a%3Ajava-client

selenium-server-standalone-2.42.2.jar:selenium官方提供的Jar包,appium会需要使用到这些类,使用selenium的最新版本搭配appium的最新版本,官网下载,非常的大,30多M

gson-2.1.jar:谷歌官方提供的json工具,运行工程时会需要用到,这个百度就能搜到。

这里我先以Appium官网提供的.dmg作为示例说明Appium用法:

安装说明:

1.首先去Appium官网上下载appium.dmg。官网地址:http://appium.io/downloads.html。

需要注意Appium的版本可能跟Mac OS版本和Xcode版本有关系,像我Xcode是4.5的最新版本就经常用不起来,不过用0.13.0和1.0.0是没问题的,可以多下载几个版本试一下。

2.以我的0.13.0版本为例。先把模拟器打开,运行你想录制的程序。打开Appium以后先授权,然后作如下配置:

IP地址改为:127.0.0.1。App path选择:

/Users(用户)/你的用户名/Library(资源库)/Application Support/iPhone Simulator/你的iOS版本/Applications/你的应用编号/应用名.app

然后点击“Launch”,开启Appium。

3.Appium处于“Launch”的状态,点击右上角的那个“i”图标,开始获取Appium界面元素。

事件都在下面列着的,具体过程不细说了,需要注意的是,点模拟器上图标是没用的,没点“Record”之前点appium的图标也不会开始录制的

4.录制脚本:点击“Record”,然后下面会蹦出一大堆代码。可以选择想用的语言,这些代码会记录你录制时操作,建议打开“XPath Only”。

5.以Java为例,把这些代码复制粘贴到工程中,就可以当做一个Junit测试用了。当然这里代码需要一定的修改,改成类似下面的就可以了。注意需要导入相应的包。如下所示:

6.运行这些测试用例要注意:保持Appium运行“Launch”之后没有跑过别的测试用例(录制的也不行,否则请Stop后再Launch),Appium处于Launch状态,模拟器打开着(没打开要打开),app path正确。

然后在Eclipse中运行Junit测试,就能看到结果了!

如果遇到了什么问题又分析不到什么原因,可以在这里留言。我尽量尽我所能回答。

然后我再说明Appium命令行的安装方法:

个人觉得一般有.app或者.exe的话,没必要使用命令行启动。

切记:在Mac上安装appium时,千万不要以sudo运行,否则appium跑不起来,还是得删了重装。

请先阅读这篇博客,避免遇上做重复无用功的事:http://blog.csdn.net/today520/article/details/34854897

如果看不懂,可以先总结一下:创建一个新的普通用户,赋予这个用户使用/usr/local/下所有文件的权限(chown可实现)。或者干脆用homebrew。总之,不能以sudo的方式安装appium

1.安装Node.js。输入npm -v查看安装是否成功。

2.命令行执行npm install -g appium@你想用的版本

需要保持网络通畅,要是被GFW拦住的话需要设置registry,可参见:http://blog.csdn.net/ei__nino/article/details/17340685

如果是在公司通过代理服务器上网,那么也需要设置proxy,方法类似上面的:npm config set proxy http://.......

3.安装完毕后,命令行中运行appium应该就可以了。

不过我目前还没测试命令行具体怎么个用法,希望好心人给个例子。

Appium版本很多,由个人负责,而且不断的改进,因此难免遇到教程不适用的情况。在Mac平台上运行iOS测试是一件很折磨人的事,写这一个总结,也算是纪念一下我逝去的的青春\(╯-╰)/,同时总结,希望大家也能少走弯路,谢谢。

漫长Appium之路(二)——Appium安装与使用总结的更多相关文章

  1. 大数据新手之路二:安装Flume

    Ubuntu16.04+Flume1.8.0 1.下载apache-flume-1.8.0-bin.tar.gz http://flume.apache.org/download.html 2.解压到 ...

  2. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  3. Appium笔记(二) 丶Appium的安装

    一.前言 Appium 中有个很重要的组件Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试 ...

  4. Appium学习路—Android定位元素与操作

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

  5. 【Mac + Appium学习(一)】之安装Appium环境前提准备

    环境: Appium version :1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Android:6.0.1 Mac:10. ...

  6. appium环境搭建(二)----搭建android开发环境

    一.安装Java环境: java 环境分JDK 和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. JRE ...

  7. Appium自动化测试(1)-安装&环境

    需要链接appium自动化测试教程 http://www.cnblogs.com/fnng/p/4540731.htmlappium中文文档:https://github.com/appium/app ...

  8. 『与善仁』Appium基础 — 12、Appium的安装详解

    目录 (一)Appium server安装 方式一:(桌面方式:推荐) 1.Appium Desktop下载 2.Appium Desktop安装 3.Appium Desktop使用 方式二:(No ...

  9. Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的安装

    让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Gi ...

随机推荐

  1. Arduino智能小车实践学习报告

    Arduino智能小车实践学习报告 参与人员: 20135316 王剑桥 20135312 吴汉彦 20135319 朱锂 一. 背景了解: 单片机:将中央处理单元CPU(进行运算.控制).随机存储器 ...

  2. 创建Maven工程

    一.Maven工程创建 File->New->Other,进入: 点击Next,进入: 勾选上Create a simple project(不使用骨架) 点击Next,进入: 输入项目名 ...

  3. python机器学习《入门》

    写在前面的废话: 好吧,不得不说鱼C的markdown文本编辑器挺不错的,功能齐全.再次感谢小甲鱼哥哥的python视频让我去年大三下学期的时候入门了编程,爱上了编程这门语言,由于是偏冷门的统计学,在 ...

  4. c# 技巧之 泛型方法

    泛型 指的是编译时不需要指定具体的参数类型,可以在运行时动态地赋予某一种数据类型的机制.  相信很多人对泛型类并不陌生,像Dictionary,List等结构都属于泛型类.有趣的是,一个函数/方法也可 ...

  5. 20145316GDB调试汇编堆栈

    GDB调试例子的汇编堆栈 代码 直接-m32编译出现问题 编译64位Linux版本32位的二进制文件,需要安装一个库,使用指令sudo apt-get install libc6-dev-i386 编 ...

  6. hugo-最好用的静态网站生成器

    hugo最好用的静态网站生成器 Hugo是由Go语言实现的静态网站生成器.简单.易用.高效.易扩展.快速部署. 快速开始 安装Hugo 1. 二进制安装(推荐:简单.快速) 到 Hugo Releas ...

  7. bt协议详解 DHT篇(下)

    bt协议详解 DHT篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术 ...

  8. abstract virtaul override new 及多态

    abstract abstract 修饰符可以和类.方法.属性.索引器及事件一起使用.在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类.标记为抽象或包含在抽象类中的成员必须通过从 ...

  9. 第三章 Js变量的作用域和匿名函数

    3.1 先看下面的事例: ①var temp=0; ②temp=0; 当js解析器检测到①这种情况的时候,解析器会为这个变量开辟一个内存空间,如果前面已经存在这个变量,就会把这个变量覆盖掉. 当解析器 ...

  10. mysql基础 事务的认识和使用

    事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务是恢复和并发控制的基本单位. 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序 ...