1. JDK安装

  • 下载JDK for Mac 我这里使用的是  jdk-7u79-macosx-x64.dmg
  • 验证安装open Terminal 
     java -version
    java version "1.7.0_79"
    Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode 

2. xcode安装

  • 下载xcode  需要 Apple 开发者账号
  • 注意 Mac的 OS的版本和对应Xcode要匹配 
  • 创建iOS simulater ,如果这样说明iOS设备准备完毕
    Youngs-Mac:~ root# instruments -s devices
    Known Devices:
    Young’s Mac [564D792F-BB12-9F15-EF80-A723B921B505]
    Resizable iPad (8.4 Simulator) [B477C6F2-F8A9-4CE1-9889-C7BB1518D0B9]
    Resizable iPhone (8.4 Simulator) [56007C43-7BAB-4C7A-BA5B-E42DEE41C4B4]
    iPad 2 (8.4 Simulator) [D69DF503-8F09-47EB-AC67-385FFACC01D1]
    iPad Air (8.4 Simulator) [D9E1F7CE-A110-4167-B6C8-F50EA83B8CDC]
    iPad Retina (8.4 Simulator) [C704AFE0-BC72-4AAF-8B51-7CEE0D021355]
    iPhone 4s (8.4 Simulator) [D03258C7-8619-4BA2-8EAB-6D88EAFE641C]
    iPhone 5 (8.4 Simulator) [2C39AE81-2B7D-48FC-B6C9-52203A53A560]
    iPhone 5s (8.4 Simulator) [A66F0F82-AB4C-4BAC-B466-9BF44FC7B03C]
    iPhone 6 (8.4 Simulator) [C8395C58-5164-406B-9DF8-47BAE209EC25]
    iPhone 6 Plus (8.4 Simulator) [51C387A1-B77E-4BE4-99E0-BBA1F95E9789]

3. NodeJS安装

4. Appium 安装

5. 设置环境变量

vi ~/.bash_profile,将环境变量设置如下:

1
2
3
4
5
6
export PATH="/Applications/Appium.app/Contents/Resources/node/bin/":$PATH
export PATH="/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/":$PATH
export ANDROID_HOME="/Users/young/Library/Android/sdk"
export PATH="/Users/young/Library/Android/sdk/platform-tools":$PATH
export PATH="/Users/young/Library/Android/sdk/tools":$PATH
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"

  设置完毕保存,别忘了source该文件使其立即生效

6. 使用Appium example demo

7. 创建测试用例

  • 打开eclipse,添加如下代码:
package com.dbyl.core;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; import io.appium.java_client.ios.IOSDriver; import java.io.File; import java.net.URL; import java.util.concurrent.TimeUnit; public class iOSTest {
private IOSDriver driver;
private boolean isInstall = true; @BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
// set up appium DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
capabilities.setCapability("platformName", "Mac");
capabilities.setCapability("deviceName", "iPhone 6");
capabilities.setCapability("platformVersion", "8.4");
// if no need install don't add this
if (isInstall) {
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "TestApp.app");
System.out.println("---->"+app.getAbsolutePath());
capabilities.setCapability("app", app.getAbsolutePath());
} // support Chinese
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True"); driver = new IOSDriver (new URL("http://127.0.0.1:4723/wd/hub"),
capabilities); } @Test
public void login() { // wait for 20s
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); // find login userName and password editText
WebElement inputbox1 =driver.findElementByName("TextField1");
inputbox1.sendKeys("12"); WebElement inputbox2 =driver.findElementByName("TextField2");
inputbox2.sendKeys("65"); WebElement calcButton=driver.findElementByXPath("//UIAApplication[1]/UIAWindow[2]/UIAButton[1]"); calcButton.click();
WebElement result=driver.findElementByXPath("//UIAApplication[1]/UIAWindow[2]/UIAStaticText[1]");
Assert.assertEquals(result.getAttribute("value"), "77");
} @AfterClass(alwaysRun = true)
public void tearDown() throws Exception {
driver.quit();
} }

8. 相关资料

视频教程:https://www.youtube.com/watch?v=BULjgsTpw2c

代码:https://github.com/tobecrazy/appiumDemo

Mac自动化环境的更多相关文章

  1. MAC自动化环境搭建

    UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...

  2. java Mac自动化-java和ant环境搭建

    本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地搭建java和ant环境 其实在几年前,我们还大多使用的是windows本,而且我们也会比较善于使用windows笔记本,但自从ma ...

  3. Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器

    前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...

  4. iOS自动化环境搭建——macaca

    macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...

  5. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  6. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  7. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  8. 自动化环境robot framework安装中问题解决

    在搭建自动化环境的时候需要安装以下程序:

  9. 桂电在linux、Mac OS环境下使用出校器(支持2.14)

    这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...

随机推荐

  1. 迭代和JDB

    迭代和JDB 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能. 源代码 public class Combination { public st ...

  2. 【NLP】依存句法关系符号解释

    今天开始读一篇论文:leveraging linguistic structure for open domain information extraction 于是……重新复习了很多句法分析的内容, ...

  3. js性能的进阶

    为了说明js性能方面的差异用一个简单的例子说明下, <style> #ul1{ padding: 5px; overflow: hidden; } #ul1 li{ list-style: ...

  4. 洛谷 P1414 又是毕业季II

    题目链接 https://www.luogu.org/problemnew/show/P1414 题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离 ...

  5. NLP自然语言处理原理及名词介绍

    1. 自然语言概念 自然语言,即我们人类日常所使用的语言,是人类交际的重要方式,也是人类区别其他动物的本质特征. 但是我们只能通过自然语言与人交流,无法与计算机进行交流. 2. 自然语言处理 自然语言 ...

  6. CAS5.3.0安装部署

    部署环境:JDK1.8.x maven-3.5.2 tomcat-8.x.x 1.下载地址 https://github.com/apereo/cas-overlay-template/tree/5. ...

  7. libraries\include\boost-1_61\boost/regex/v4/perl_matcher.hpp(362): error C2292: 'boost::re_detail_106100::perl_matcher<const char *,std::allocator<boost::sub_match<const char *>>,boost::regex_traits<c

    这个问题在Windows上基于CMake编译Caffe-SSD的GPU版时出现. 网上找到的博客贴出的解决办法是删掉regex和rv相关代码,甚至不编译detection_output_layer.c ...

  8. mysql更新字段内容

    update article set a_content = REPLACE(`a_content`,'www.abc.com','www.bcd.com')

  9. 手把手带你入门kubernetes部署

    实验环境准备 k8s-master   192.168.2.156 k8s-node节点   192.168.2.161 Ps:两台保证时间同步,firewalld防火墙关闭,selinxu关闭,系统 ...

  10. RESTful-5开发API

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 它的大原则容易把握,但是细节不容易做对.本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API. ...