zoukankan      html  css  js  c++  java
  • [Selenium] IOS 之 appium

    从 Selenium 的官方文档来看,推荐用户使用 ios-driver 或 appium 而不是官方发布的 iPone Driver. 他们的地址分别是:

    http://ios-driver.github.io/ios-driver

    http://appium.io/

    1、Appium 简介:

    Appium 是一个开源的,跨平台的测试框架,可以用来测试移动设备上 Native 或 Hybrid 的应用程序。Appium 同时支持 iOS、Android 和 FirefoxOS 等多种移动平台。

    Appium 的工作原理:通过 WebDriver 的 JSON Wire 协议来驱动 iOS 或 Android 系统的 UIAutomator 框架,或基于Gecko 的 Marionette 框架。

    Appium 的优势:Appium 在不同移动平台上均使用了标准的自动化 API,所以用户不需要重新编译或者修改 app。Appium 支持 Selenium  WebDriver 能支持的所有绑定编程语言,如 Java,Python,JavaScript,C#,Ruby等

    2、Appium 安装

    1、使用 Node.js 安装 Appium,命令如下。安装之前应先确认系统中已安装了Node.js

    $ sudo npm install -g appium

    2、直接从官网下载并解压,地址如下

    https://gitbub.com/appium/appium/releases

    3、直接下载Appium.dmg文件并解压,这种方式是带 UI 的 app,地址如下

    https://bitbucket.org/appium/appium.app/downloads

    4、启动Appium 

    $appium &

    启动成功后看到如下信息:

    info:Welcome to Appium v0.13.0

    info:Appium REST http interface listener started on 0.0.0.0:4723

    info -socket.io started

    如果下载的是Appium.app 文件,则双击打开即可

    3、Appium 的 iOS 配置

    1、确保 Mac OS X 的最低版本为 10.7

    2、Xcode/iOS 兼容 Xcode 4.6.3/iOS6.1.x,或Xcode 5/iOS 7.x。不要使用高版本的 Xcode 配合低版本的 iOS SDK,如Xcode 5/iOS 6.x

    3、确保授权 iOS 模拟器的使用

    3.1、如果通过 Node.js 安装Appium ,则运行如下命令即可

    $sudo authorize_ios

    其中,authorize_ios 是Appium npm 包中的一个二进制文件,授权成功后的信息如下
    Enabling DevToolsSecurity

    Updating securityy db for developer access

    Granting access to built-in simulator apps

    Authorization successful

    3.2、如果通过在官网下载源码包的方式来运行Appium,则允许如下命令:

    $sudo grunt authorize

    3.3、如果直接使用Appium.app,在在UI 上操作即可

    4、多个 iOS SDK qieh

    Appium 使用 Xcode 的 Instruments 来启动 iOS 模拟器,并且默认使用当前安装的 Xcode 的最高版本的 iOS SDK。如果需要在特定的 iOS 上测试,在启动 Appium 之前,需要切换到特定的测试版本上,使用如下命令进行切换:

    $sudo xcode-select- -switch/Applications/Xcode.app/Contents/Developer/

    4、Appium 的Web app实例

    首先确认 iOS 模拟器或真实设备上 Safari 浏览器的 Web Inspector 为打开状态,操作路径为Setting->Safari->Advanced->Web Inspector

    接下来启动Appium 

    $appium &

    启动成功后看到如下信息:

    info:Welcome to Appium v0.13.0

    info:Appium REST http interface listener started on 0.0.0.0:4723

    info -socket.io started

    以打开百度首页为例,以下为测试用例代码

    package com.learningselenium.ios;

    import java.net.URL;

    import junit.framework.TestCase;

    import org.openqa.selenium.remote.DesiredCapabilities;

    import org.openqa.selenium.remote.RemoteWebDriver;

    public class testiOSAppiumBaidu extends TestCase{

      public void testBaidu() throws Exception{

        DesiredCapabilities safari = new DesiredCapabilities();

        safari.setCapability("app", "safari");

        RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:4723/wd/hub"), safari);

        driver.get("http://www.baidu.com");

        String url = driver.getCurrentUrl();

        System.out.println(url);

        driver.close();

      }

    }

  • 相关阅读:
    HDU 2104 hide handkerchief
    HDU 1062 Text Reverse 字符串反转
    HDU 1049
    HDU 1096 A+B for Input-Output Practice (VIII)
    POJ 1017
    C/C++一些难为人知的小细节
    小刘同学的第十二篇博文
    小刘同学的第十一篇博文
    小刘同学的第十篇博文
    小刘同学的第九篇日记
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4583706.html
Copyright © 2011-2022 走看看