Appium for iOS setup


windows下appium设置

之前研究了一段时间的appium for native app 相应的总结如下:

                                              appium测试环境搭建 :http://www.cnblogs.com/tobecrazy/p/4562199.html

                    知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html

appium实现截图和清空EditText:http://www.cnblogs.com/tobecrazy/p/4592405.html

appium 滑动处理:http://www.cnblogs.com/tobecrazy/p/4612133.html

                   ChromeDriver:http://www.cnblogs.com/tobecrazy/p/4836995.html

appium 九宫格解锁招商银行手机客户端app :http://www.cnblogs.com/tobecrazy/p/4881390.html

Hybrid app webview :http://www.cnblogs.com/tobecrazy/p/4905917.html


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

4. Appium 安装

5. 使用Appium example demo

6. 创建测试用例

  • 打开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();
    }

}

7. 相关资料

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

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

时间: 2024-12-18 15:06:49

Appium for iOS setup的相关文章

使用appium进行ios测试,启动inspector时遇到的问题(一)

最近在公司,让做ios的自动化测试,因为以前做过android的自动化测试,用的也是appium,觉得没什么,结果一开始在搭建环境就遇到了很多的问题,现在将我遇到的问题,以及解决方法,给大家分享出来.(ps:吐槽一下testhome,发了两个帖子一个提问帖一个心得分享帖,全都给拉到违规区了,问题也没有人给看) 进入正题,说一下我的环境: xcode 7.1.1 simulator 9.1 appium 1.4.13 iphone 5s  ios9.1 首先说一下,appium 在ios版本选择这

appium进行ios的自动化测试,appium的安装

1.安装node.js 去官网下载的是安装包,但是性质和安装是使用sudo命令一样,后面会有问题,所以使用命令brew install node安装; 这个是基于brewHome的,需要先安装brewHome;这个简单,一行ruby命令(因为mac自带ruby,所以不需要额外工作):ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". 命令就在官网首页:htt

Appium学习-IOS初窥

背景 最近安卓那边做起来有点烦躁,主要还是我们的安卓第三方包用多了,导致超过了谷歌的上限,打不出包了,很多H5部分不好测试,我们的安卓开发总是习惯的禁掉webview句柄,给Activity加权限,导致跑出来的结果各种报错,换一个口味,玩玩IOS的自动化. 条件 测试IOS必须要Mac OS X系统,请不要问可不可以用Windows来测试IOS这种问题. 我电脑都是最新的版本,比如系统.比如xcode.比如Appium. 初衷 我是比较懒,不太想自己去看那些英文,结果搜索出来的结果,基本上都不是

Appium for IOS testing on Mac

一:环境 1.Mac OS X 10.9.1 2.Xcod 5.0.2 3.Appium 1.3.6 下载地址:https://bitbucket.org/appium/appium.app/downloads/appium-1.3.6.dmg 4.adt-bundle-mac-x86_64-20140702 下载地址:http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip 5.(可选)node-v0.12.0.pk

Appium的ios配置

automationName  text        XCUITest platformName             text          iOS platformVersion           text        11.3 deviceName                text        iphone Simulator app                            firepath          路径 --------------------

Appium+Python3+iOS真机环境搭建

Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用. 本次环境配置相关:macOS:10.13.4Appium-desktop:1.6.1Xcode:9.3.1 一.环境配置 1. 安装homebrew: $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. 安装li

appium 在ios模拟器上面成功运行

机器安装的是xcode5 执行appium自带例子时报出 We don't have write access to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/.... google一下,据说是权限问题 cd /Applications sudo chown -R zhangminjie Xcode.app

appium+Xcode+ios:ideviceinstaller -l命令报错“Could not connect to lockdownd. Exiting.”

1.尝试修改权限:: sudo chmod -R 777 /var/db/lockdown/ 失败... 2.尝试网上最多的解决方案:: brew uninstall ideviceinstaller -g brew uninstall libimobiledevice -g brew install --HEAD libimobiledevice -g brew install ideviceinstaller -g 直接报错....失败 3.再次尝试一下方案,其中一种成功解决了我的问题: 方

使用java语言通过appium工具测试ios应用一些问题总结

问题一 1.3.7版本好像有一个bug,就是需要替换这个文件(下载地址:http://download.csdn.net/detail/u011496891/8677069)进入到apium的安装目录下 修改 node_modules/appium/node_modules/node-idevice文件,否则就出现下面这个错误了.这个bug不知道什么时候修复.. org.openqa.selenium.SessionNotCreatedException: A new session could