漫长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 ...
随机推荐
- java资源下载之官网地址
[一].json下载地址 http://sourceforge.net/projects/json-lib/files/ [二].apache-commons下载地址 http://commons.a ...
- 20145222黄亚奇《Java程序设计》第8周学习总结
教材学习内容总结 第15章 通用API 1 日志 1 日志API简介 java.util.loggging包提供了日志功能相关类与接口. 使用日志的起点是Logger类,Logger类的构造函数表示为 ...
- QT cannot open output file debug\OpencvTest.exe: Permission denied
问题:调试运行QT的时候遇到这个问题,发现时是由于没有正常关闭程序所致,导致后台有之前运行的程序在跑(电脑环境win7 64 Qt5.2.1 opencv2.4.6). 目前解决办法:手动关闭已在运行 ...
- silverlight ListBox 多列图片效果
这个功能之前用wpf写过一次这次用Silverlight写一次 这两种写法上基本上没有太大的差别 这个Demo并不完美,只是给大家提供一个思路 源码:SilverLightListPricture.r ...
- 两个简单的Loading
置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<JavaScript并非"按值传递"> 作者主页:myvin 博主QQ:85139 ...
- 怎样开发单页面app
groot.view("myview", function (vm, ve) { ve.loada = function () { require("./app/page ...
- Fluent NHibernate关系映射
1.好处:Fluent NHibernate让你不再需要去写NHibernate的标准映射文件(.hbm.xml), 方便了我们的代码重构,提供了代码的易读性,并精简了项目代码 实现: (1).首先我 ...
- [codevs1283]等差子序列(二进制)
题目:http://codevs.cn/problem/1283/ 分析: 主要就是在每个判定上节省时间.一般的做法是开个数组记录每个数字出没出现,然后每次读入一个数字就以他为中间向两边扩展直到两个对 ...
- [AHOI2013]找硬币(搜索)
[Ahoi2013]找硬币 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 348 Solved: 114[Submit][Status] Descri ...
- 第二章:javascript: 数组
数组是编程世界里最常见的数据结构.任何一种编程语言都包含数组,只是形式稍微有差异.数组是编程语言中的内建类型,通常效率都很高.可以满足不同需求的数据存储,本章将探索javascript中的数组工作原理 ...