前面介绍了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. 实现checkbox组件化(Component)

    之前我写了一篇自定义checkbox的文章,通过css3实现自定义的checkbox,并没有使用当今流行的Reactjs, 或者Vuejs之类的进行组件化.但是很显然,这样封装的checkbox组件复 ...

  2. dp和px转换

    在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题. 所以一般来说,常常需要dp到 ...

  3. Servlet响应的中文字符集问题

    在Servlet中利用response向客户端浏览器输出中文时有时会遇到乱码问题,总结如下: response输出流有两种,一是以字节流输出,一是以字符流输出. 一.以字节流输出: 1.默认编码输出木 ...

  4. JavaScript事件---事件入门

    内容提纲: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操作的时候,再去执行一系列代码. ...

  5. [设计模式]第四回:建造者模式(Builder Pattern)

    1.概述 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示,这就是建造者模式. 简单的说就是生产一个产品的步骤比较稳定,单个步骤变化会产生一个不同的产品. 2.实践 物理模型 建造 ...

  6. Javascript写入txt和读取txt文件示例

    1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Var fso=new ActiveXObject(Scripting.FileSystem ...

  7. java数组的增删改查

    import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; p ...

  8. “耐撕”团队2016.05.11站立会议

    1. 时间 18:15--18:35     共计20分钟 2. 人员 Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:ht ...

  9. Calender的使用详解

    Calendar和GregorianCalendar简介 Calendar的中文翻译是日历,实际上,在历史上有着许多种计时的方法.所以为了计时的统一,必需指定一个日历的选择.那现在最为普及和通用的日历 ...

  10. python IO文件处理

    python的文件读写操作符有:r w a r+ w+ rb wb 除了以file的方式打开文件,还有一种方式就是open了,两个的用法是一模一样的,可以看成open就是file的别名 下面这个表格是 ...