Mac自动化环境
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安装
- 验证安装
npm -version
2.14.7
4. Appium 安装
- 下载安装 Appium for Mac https://bitbucket.org/appium/appium.app/downloads/appium-1.4.13.dmg
- 使用appium-doctor 参考Step 5
5. 设置环境变量
vi ~/.bash_profile,将环境变量设置如下:
|
1
2
3
4
5
6
|
export PATH="/Applications/Appium.app/Contents/Resources/node/bin/":$PATHexport PATH="/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/":$PATHexport ANDROID_HOME="/Users/young/Library/Android/sdk"export PATH="/Users/young/Library/Android/sdk/platform-tools":$PATHexport PATH="/Users/young/Library/Android/sdk/tools":$PATHexport JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home" |
设置完毕保存,别忘了source该文件使其立即生效
6. 使用Appium example demo
- 下载 demo https://github.com/appium/sample-code
- 把 demo 中的TestApp build出来
- 启动appium->appium doctor -> 添加app

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自动化环境的更多相关文章
- MAC自动化环境搭建
UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...
- java Mac自动化-java和ant环境搭建
本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地搭建java和ant环境 其实在几年前,我们还大多使用的是windows本,而且我们也会比较善于使用windows笔记本,但自从ma ...
- Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器
前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...
- iOS自动化环境搭建——macaca
macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...
- 基于python的App UI自动化环境搭建
Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- 自动化环境robot framework安装中问题解决
在搭建自动化环境的时候需要安装以下程序:
- 桂电在linux、Mac OS环境下使用出校器(支持2.14)
这是guetsec学长在三院科协学长所抓包逆向分析1.81版出校器的基础上,用python写的一款为Mac和linux环境开发的出校器. 最后我做了略微修改,支持暂时最新版本2.14.下面有直接从源码 ...
随机推荐
- 关于t,f test
我也是佛了 这么基础的概念其实每次都会搞混一些 首先我们针对variance求一个estimator s 然后对于任意置信区间 (sample mean +- 你所需的置信百分比的t * SE(SE就 ...
- python时间模块小结
1.datetime 模块 为日期和时间处理同时提供了简单和复杂的方法.支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出.该模块还支持时区处理: 简单例子: from datetime ...
- SharpMap在web上的应用
最近公司用SharpMap做了一个做桌面程序,它是一个开源的Gis项目,功能还可以,最大的特点就是简单易用,这里介绍下怎么在web下使用: 这次我们根据demo先了解一下如何show一个地图.这是最基 ...
- 三、vue之router
三.vue之router 此时vue的脚手架.创建项目已经完成. ... vue的运行流程 index.html-->main.js-->App.vue-->router/index ...
- 收藏vue技术内幕
http://hcysun.me/vue-design/art/7vue-reactive.html#observer-%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0
- 配置ssh无密码登陆Linux
Windows下面的话需要安装git,或者其他能执行shell命令的软件 1.首先要先修改SSH的配置文件 vi /etc/ssh/sshd_config#修改配置文件 #如果被#注释了,就取消#号, ...
- Mac 下GitHub 访问慢解决方案
1.GitHub下载是指向了Amazon的服务器 下载地址是http://github-cloud.s3.amazonaws.com/ 解决方案是更改host文件,使该域名指向香港的服务器 2.去 ...
- 2018-2019-2 网络对抗技术 20165314 Exp3 免杀原理与实践
免杀原理与实践说明 一.实验说明 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(1.5分) 任务 ...
- vmware 虚拟机报错 删除文件夹,可以恢复
- 【原创】navicat for sqlite 11.1.12 patch 永久试用 不报毒
因为最近需要用这个但是网上都是注册机没有成功注册,所以就自己动手使用ollydbg开刀, 修改成了永久试用版本. 着急用所以没仔细分析,暂时先这样吧. 这个下载版本 http://dlsw.ba ...