漫长Appium之路(二)——Appium安装与使用总结
前面介绍了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安装与使用总结的更多相关文章
- 大数据新手之路二:安装Flume
Ubuntu16.04+Flume1.8.0 1.下载apache-flume-1.8.0-bin.tar.gz http://flume.apache.org/download.html 2.解压到 ...
- Appium移动自动化测试(二)--安装Android开发环境(转)
Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节 ...
- Appium笔记(二) 丶Appium的安装
一.前言 Appium 中有个很重要的组件Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试 ...
- Appium学习路—Android定位元素与操作
一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...
- 【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. ...
- appium环境搭建(二)----搭建android开发环境
一.安装Java环境: java 环境分JDK 和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. JRE ...
- Appium自动化测试(1)-安装&环境
需要链接appium自动化测试教程 http://www.cnblogs.com/fnng/p/4540731.htmlappium中文文档:https://github.com/appium/app ...
- 『与善仁』Appium基础 — 12、Appium的安装详解
目录 (一)Appium server安装 方式一:(桌面方式:推荐) 1.Appium Desktop下载 2.Appium Desktop安装 3.Appium Desktop使用 方式二:(No ...
- Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的安装
让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Gi ...
随机推荐
- 信息安全系统设计基础exp_4
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1353 姓名:郑伟.吴子怡 学号:20135322.20135313 指导教师: 娄嘉鹏 实验 ...
- 编写高质量代码--改善python程序的建议(八)
原文发表在我的博客主页,转载请注明出处! 建议四十一:一般情况下使用ElementTree解析XML python中解析XML文件最广为人知的两个模块是xml.dom.minidom和xml.sax, ...
- 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
本人闲来无事就把以前用Asp.net做过的一个医药管理信息系统用mvc,ef ,easyui重新做了一下,业务逻辑简化了许多,旨在加深对mvc,ef(codefirst),easyui,AutoMap ...
- windows API 开发飞机订票系统 图形化界面 (一)
去年数据结构课程设计的作品,c语言实现,图形化界面使用windows API实现. 首发在我csdn博客:http://blog.csdn.net/u013805360/article/details ...
- Git.Framework 框架随手记--ORM项目工程
前面已经简单介绍过了该框架(不一定是框架),本文开始重点记录其使用过程.可能记录的内容不是太详尽,框架也可能非常烂,但是里面的代码句句是实战项目所得.本文非教唆之类的文章,也非批判之类的文章,更不是炫 ...
- [POJ2155]Matrix(二维树状数组)
题目:http://poj.org/problem?id=2155 中文题意: 给你一个初始全部为0的n*n矩阵,有如下操作 1.C x1 y1 x2 y2 把矩形(x1,y1,x2,y2)上的数全部 ...
- jQuery基础之(五)jQuery自定义添加"$"与解决"$"的冲突
1.自定义添加$ 从上面四篇文章我们看到jQuery的强大,但无论如何,jQuery都不可能满足所有用户的需求,而且有一些需求十分小众,也不适合放到整个jQuery框架中,正是因为这一点,jQuery ...
- Spring security 和 AOP 学习
1.Spring security 登录验证拦截器 资源管理拦截器 认证和授权: 认证:登录时候确实存在此用户. 登录要认证! 授权:登录后判断权限级别,然后赋予相应的操作权限. ...
- 360极速浏览器使用postman
Postman-REST-Client_v0.8.4.14.zip文件请加群下载:74085440 步骤如下: 1.将crx文件打包成zip文件 2.解压打包的zip文件,并将_metadata文件夹 ...
- hdu3308 线段树 区间合并
给n个数字 U表示第A个数改为B.A是从0开始. Q输出最大的递增序列个数. 考虑左边,右边,和最大的. #include<stdio.h> #define lson l,m,rt< ...