mac 10.9.4 java_MacOS10.9平台配置Appium+Java环境

1) 安装JDK

安装: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

安装:一路next,按默认安装即可。

安装完成以后,检查Node版本安装是否成功:进入终端,输入node -v, 可以看到版本号,说明成功了。

5) 安装SDK和Android api

安装:压缩包直接解压到安装目录即可。

配置环境变量:

打开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。如下图:

1f9433563c373eb6ff71c01fda75c605.png

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

56433f1b1ac50080ba8fef054d7e50e2.png

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

ed3f63b52244fe627d36bbff193f21a4.png

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

安装:解压缩到安装目录。

异常问题:启动时会提示让重新安装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

JVMCapabilities

CommandLine

修改为

JVMCapabilities

JNI

BundledApp

WebStart

Applets

CommandLine

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生效。

离线安装:

打开Eclipse,菜单栏Help->Install New Software

然后在弹出的窗口中,Work with的后面点击Add

然后点击Archive,添加刚才下载的ADT-23.0.6.zip

OK后,再写上一个名字,比如Android

经过解析后,选中列表中出现的ADT版本,按照提示安装。重启Eclipse生效。

10)     配置Appium client,Selenium

在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文档

13)              最后贴个小例子

Android真机:

1 packagecom.allinmd.android;

2

3 importorg.junit.After;

4 importorg.junit.Before;

5 importorg.junit.Test;

6 import org.openqa.selenium.*;

7 importorg.openqa.selenium.remote.CapabilityType;

8 importorg.openqa.selenium.remote.DesiredCapabilities;

9 importio.appium.java_client.android.AndroidDriver;

10 importjava.net.URL;

11 importjava.util.concurrent.TimeUnit;

12

13 public classAndroidBrowserTest {

14 privateWebDriver driver;

15

16 @Before

17 public void setUp() throwsException {

18 DesiredCapabilities capabilities = newDesiredCapabilities();

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() throwsException {

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 packagecom.allinmd.android;

2

3 importorg.junit.After;

4 importorg.junit.Before;

5 importorg.junit.Test;

6 import org.openqa.selenium.*;

7 importorg.openqa.selenium.remote.CapabilityType;

8 importorg.openqa.selenium.remote.DesiredCapabilities;

9

10 importio.appium.java_client.AppiumDriver;

11 importio.appium.java_client.ios.IOSDriver;

12

13 importjava.io.File;

14 importjava.net.URL;

15

16 public classIOSDemo {

17 privateAppiumDriver driver;

18

19 @Before

20 public void setUp() throwsException {

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 = newDesiredCapabilities();

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() throwsException {

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 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值