MacOS10.9平台配置Appium+Java环境
1) 安装JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装:JDK安装很简单,按默认安装即可。
配置环境变量:
打开终端新建.bash_profile文件:touch .bash_profile
打开bash_profile文件:vi .bash_profile
配置JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
保存退出后执行source .bash_profile
2) 安装Xcode
下载地址:
安装:安装很简单,直接添加到Application下。
3) 安装Command Line Tools
安装:打开终端输入xcode-select –install
弹出提示“…..您要现在安装该工具吗?”,点击安装。
同意安装协议,静待安装完成。
4) 安装Node.js
下载地址:https://nodejs.org
安装:一路next,按默认安装即可。
安装完成以后,检查Node版本安装是否成功:进入终端,输入node -v, 可以看到版本号,说明成功了。
5) 安装SDK和Android api
下载地址:http://yunpan.cn/cV9RM3vzqySVP 访问密码:1cc9
安装:压缩包直接解压到安装目录即可。
配置环境变量:
打开bash_profile文件:vi .bash_profile
配置ANDROID_HOME
export ANDROID_HOME="/Users/sun/adt-bundle-mac-x86_64-20140702/sdk" (改成你SDK的实际路径)
保存退出后执行source .bash_profile
安装更新Android api,作如下操作:
- 打开终端进入你sdk的安装目录,运行下面的命令
cd tools
./android
2. 在弹出的SDK Manager窗口,点击菜单栏Android SDK Manage—preferences,做如下修改
HTTP Proxy Server输入mirrors.neusoft.edu.cn
HTTP Proxy Port 输入80
并且选中Force https:sources to be fetched using http…….
最后点击close关闭setting弹窗
3. 回到主界面选中你要安装的Android api版本,点击Install N package。如下图:

4. 然后出现下面这个DLG,选“accept lisense”,将所有的都打勾勾,点击Install。

5. 进入安装阶段(可能略慢)

6) 联网安装Appium
安装:
进入终端,做如下操作
sudo chmod –R 777 /usr/local
npm install –g appium
多等几分钟,日志输出可以看到appium的版本及安装目录
7) 检查环境
检查并启动Appium:
进入终端,输入appium &
出现以下提示:Welcome to Appium… 说明安装好了。
检查依赖环境:
进入终端,输入appium-doctor
出现以下提示:All Checks were successful 说明所需环境全部安装成功。
8) 安装Ecplise
下载地址:http://www.eclipse.org/downloads/
安装:解压缩到安装目录。
异常问题:启动时会提示让重新安装java se 6 runtime…
解决办法:进入终端,做如下操作
sudo chmod 777 /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist
vi /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist
将
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
修改为
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
ok 保存重启电脑 就ok鸟
配置workspace:进入Eclipse安装目录,点击eclipse。第一次启动会要求设置工程存储目录。比如:User/sun/workspace
9) 安装ADT Plugin
在线安装:(速度较慢,也可用第二种离线安装方式。)
- 打开Eclipse,菜单栏Help->Install New Software
- 然后在弹出的窗口中,Work with的后面点击Add
Name:Android
Location:https://dl-ssl.google.com/android/eclipse/
点击OK。
3. 选中列表出现的ADT版本,按照提示安装。重启Eclipse生效。
离线安装:
下载地址:https://dl.google.com/android/ADT-23.0.6.zip
- 打开Eclipse,菜单栏Help->Install New Software
- 然后在弹出的窗口中,Work with的后面点击Add
- 然后点击Archive,添加刚才下载的ADT-23.0.6.zip
- OK后,再写上一个名字,比如Android
- 经过解析后,选中列表中出现的ADT版本,按照提示安装。重启Eclipse生效。
10) 配置Appium client,Selenium
下载地址:http://yunpan.cn/cVGaGYjF9mcgF 访问密码:2d90
- 在Eclipse新建项目appium(示例名)步骤:File—New—点击Java Project—输入project name—点击finish
- 进入前面设置的工程存储目录—appium文件夹下,比如:E:\workspace\appium
新建lib目录,并把java-client-2.2.0.jar,selenium-java-2.43.1.jar,selenium-server-standalone-2.41.0.jar三个jar包丢在lib目录下。
3. 返回Eclipse界面,右键appium刷新,直到显示lib目录。右键lib目录下的java-client-2.2.0.jar—Build Path—点击Add to Build Path
其他两个jar包重复此步骤。
11) 配置Junit或者TestNG(自己选个喜欢的吧)
Junit安装:高版本Eclipse自带,不需要安装。
TestNG安装:
- 打开Eclipse,菜单栏Help->Install New Software
- 然后在弹出的窗口中,Work with的后面点击Add
Name:TestNG
Location:http://beust.com/eclipse
点击OK。
3. 选中列表出现的TestNG版本,按照提示安装。重启Eclipse生效。
12) Appium相关API文档
Appium客户端部分方法:http://appium.io/slate/cn/master/?java#appium-客户端库
Appium服务关键字:http://appium.io/slate/cn/master/?java#appium-服务关键字
Appium元素定位与交互:http://appium.io/slate/cn/master/?java#元素定位与交互
Selenium 官方API:https://selenium.googlecode.com/svn/trunk/docs/api/java/index.html?overview-summary.html
13) 最后贴个小例子
Android真机:
1 package com.allinmd.android;
2
3 import org.junit.After;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.openqa.selenium.*;
7 import org.openqa.selenium.remote.CapabilityType;
8 import org.openqa.selenium.remote.DesiredCapabilities;
9 import io.appium.java_client.android.AndroidDriver;
10 import java.net.URL;
11 import java.util.concurrent.TimeUnit;
12
13 public class AndroidBrowserTest {
14 private WebDriver driver;
15
16 @Before
17 public void setUp() throws Exception {
18 DesiredCapabilities capabilities = new DesiredCapabilities();
19 capabilities.setCapability("automationName","Selendroid"); //自动化引擎
20 capabilities.setCapability("platformName","Android"); //手机os
21 capabilities.setCapability("platformVersion", "4.1.1"); //真机的Android版本
22 capabilities.setCapability("udid","94122ad8"); //物理机ID
23 capabilities.setCapability(CapabilityType.PLATFORM, "Mac"); //使用的是mac平台
24 capabilities.setCapability("browserName", "Chrome"); //要启动的手机浏览器
25 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
26 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
27 }
28
29 @After
30 public void tearDown() throws Exception {
31 driver.quit();
32 }
33
34 @Test
35 public void allinLogin() throws InterruptedException { //登陆
36 driver.get("http://m.xxx.cn");
37 driver.findElement(By.xpath("html/body/section/div[1]/div[2]/a/div")).click();
38 driver.findElement(By.xpath(".//*[@id='allinLoginPage']/div[2]/div[1]/a[2]")).click();
39 driver.findElement(By.id("email")).sendKeys("test@smc.com");
40 driver.findElement(By.name("password")).sendKeys("111111");
41 driver.findElement(By.xpath(".//*[@id='loginBtn']")).click();
42 }
43 }
IOS模拟器:
1 package com.allinmd.android;
2
3 import org.junit.After;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.openqa.selenium.*;
7 import org.openqa.selenium.remote.CapabilityType;
8 import org.openqa.selenium.remote.DesiredCapabilities;
9
10 import io.appium.java_client.AppiumDriver;
11 import io.appium.java_client.ios.IOSDriver;
12
13 import java.io.File;
14 import java.net.URL;
15
16 public class IOSDemo {
17 private AppiumDriver driver;
18
19 @Before
20 public void setUp() throws Exception {
21 File appDir = new File(System.getProperty("user.dir"));
22 final File app = new File(appDir, "apps/TestApp/build/Release-iphonesimulator/TestApp.app");
23 DesiredCapabilities capabilities = new DesiredCapabilities();
24 capabilities.setCapability("platformName","IOS"); //手机os
25 capabilities.setCapability("platformVersion", "8.0"); //要启动的手机OS版本
26 capabilities.setCapability("deviceName", "iPhone Simulator"); //手机类型或模拟器类型,比如MI_2A/Android Emulator/iPhone Simulator
27 // capabilities.setCapability("udid","94122ad8"); //物理机ID
28 capabilities.setCapability(CapabilityType.PLATFORM, "Mac"); //使用的是Mac平台
29 capabilities.setCapability("app", app.getAbsolutePath()); //得到app绝对路径
30 driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
31 }
32
33 @After
34 public void tearDown() throws Exception {
35 // driver.quit();
36 }
37
38 @Test
39 public void allinLogin() throws InterruptedException { //登陆
40 final WebElement text = driver.findElement(By.xpath("//UIATextField[1]"));
41 }
42 }
MacOS10.9平台配置Appium+Java环境的更多相关文章
- Windows平台配置Appium+Java环境
1) 安装JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装 ...
- 转:Windows平台配置Appium+Java环境
1) 安装JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装 ...
- CentOs7 最小安装版安装后配置和java环境的搭建
下面是contos7 最小化安装成功以后进行一些基础的配置和java环境的安装教程: 1 防火墙 : 关闭防火墙: systemctl stop firewalld.service . 关闭开机启 ...
- 1.0 配置 appium + java的环境
1. 配置 appim的环境前面中写到. 2. 在eclipse中配置 java 环境, 具体步骤: <1>:在 eclipse 中新建 一个java 项目. ...
- appium java 环境搭建
appium是一款open source 移动自动化测试框架,既支持Android 也支持IOS. appium 基于webdriver协议执行测试脚本. 今天,如炒剩饭,介绍一下搭建appium A ...
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...
- Centos6.5在线配置安装Java环境与Tomcat环境
书写此文一来记录环境,以便后期查看使用,Linux环境下配置centos与Java开发环境 本文环境:虚拟机系统centos6.5 链接工具:xshell脚本链接工具 一.安装Java开发 ...
- 配置centos7 java环境
一.环境 centos7 jdk-8u231-linux-x64.tar.gz 二.安装jdk 使用ftp或者 WinScp软件把下载在win10电脑上的jdk安装包上传到linux 解压到/opt/ ...
- 统一Java环境变量配置,Java环境如何配置?
一 JDK下载和安装 Java开发工具包统一下载地址:https://www.hiai.top/archives/268.html 二 java环境变量配置 1.变量名:JAVA_HOME 变量值:你 ...
随机推荐
- 理解JavaScript的闭包
在JS这块,免不了被问什么是闭包. 从一个常见的循环问题说起. 有一个ul列表, 里面有5个li标签,我希望点击每个li标签的时候,弹出每个li标签对应的索引值(第一个弹出0,第二个弹出1...). ...
- 【cocos2dx-3.0beta-制作flappybird】尾随时代潮流,关于引擎升级
cocos2dx3.1版本号会被释放出,本来,我自己想要这个升级到官方的3.0版本号.只是无奈3.0坑的正式版不会做,偶数帧动画是正确及时的问题,果断放弃,随着广大淫民的支持.我已经升级到最新的代码c ...
- Oracle 重建索引脚本
该指数是一个有力的武器,以提高数据库的查询性能. 没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难.中,尤其是在批量的DML的情形下会产生对应的碎片.以及B树高度会发生对应变化.因此能够 ...
- 【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)
Cocos Code IDE 是一个基于 Eclipse 的跨平台 IDE ,专门为 cocos2d lua & js 开发者准备,通过此工具.你能够方便的创建游戏project.编写而且调试 ...
- 玩转Web之JavaScript(一)-----javaScript语法总结(一) 与鼠标操作有关的语法
click() 对象.click() 使对象被点击. event.clientX 返回最后一次点击鼠标 X 坐标值: event.clientY 返回最后一次点击鼠标 Y 坐标值: event ...
- HDU 1677 Nested Dolls
过了之后感觉曾经真的做过这样的类型的题. 之前一直非常疑惑二级排序的优先级问题,如今发现二级排序真的没有绝对的优先级. 对于此题,若按W排序,则有1到i件物品的W均小于等于第i+1件物品(设为A)的W ...
- 使用AppCompat_v7 21.0.0d的几个兼容问题
1.实现新的ActionBarDrawerToggle动画 ActionBarDrawerToggle使用最新的AppCompat_v7 21会出现一个非常帅的动画.使用方式在Androidstudi ...
- hdu 4945 2048 (dp+组合的数目)
2048 Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submi ...
- oracle 创建字段自增长——两种实现方式汇总(转)
mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建 ...
- WebGL 在 OpenGL ES 指令 iOS 在 C 分歧版指令分析
WebGL 中 OpenGL ES 指令与 iOS 中 C 版指令的差异简析 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途 ...