zoukankan      html  css  js  c++  java
  • Appuim学习路-Appuim介绍

    (学一个东西,总的知道它支持什么。为什么要选择它吧?所以我就去看github上的介绍了。发现大家介绍的来源大多来自于此)
     
    Appium是一个开源的自动化框架,是跨平台的,允许所有平台使用同一套API来编写脚本
     
    一、支持的平台
    ios
    Android
    FirefoxOS
     
    支持native、web,hybride应用
     
    Appium对iOS和Android的支持还是有一些区别的,比如下面的表
     
    支持项 ios Android
    版本号 6.1、7.0、7.1 Android2.3以上
    支持设备 iPhone和ipad模拟器及真机 Android模拟器和真机
    是否支持原生应用 支持 支持
    是否支持内置移动浏览器 支持。真机需要安装ios-webkit-remote-debugger,且不支持Safari的原生界面
    支持(除了使用Selendroid后台运行的情况)
    chrome需要安装Chromedriver
    是否支持同时在多个设备上进行自动化 不支持 支持,但是需要通过加参数开启另一个端口来实现。例如`--port`,`--bootstrap-port`(或者`--selendroid-port`)或者`--chromedriver-port`。
    是否支持在同一个session中执行多个应用的自动化 不支持 支持(除了使用Selendroid后台运行的情况)
    是否支持第三方提供应用 只支持模拟器上少量的第三方应用 支持(但是不支持Selendroid后台运行的场景)
    是否支持自定义的、非标准UI控件的自动化 仅支持很少一部分 不支持
     
    二、Appium的一些优点
    1.不需要修改或编译app,使用各平台上标准的自动化API
    2.支持多种脚本语言,下载个对应的client包即可。支持Java,Objective-C,JavaScript,PHP,Python,Ruby,C#,Clojure,Perl
    3.开源自动化框架,所有平台使用同一套API
     
    三、Appium的设计
    Appium分为server和client端,实现UI自动化的过程实际上是client发送http请求到server,然后server将请求发送到手机。通过ios和Android自带的UI自动化工具进行操作,然后将结果回传给server,server再发给client。
     
     
    Appium实际使用的自动化框架如下:
    ios:ios的UIAutomation
    Android 4.2+:Google的UIAutomator
    Android 2.3+:Google的Instrumentation(实际由Selendroid支持)
     
    说明:因为我也刚开始学习Appium,所以可能有理解不对的地方,希望大家可以指正
     
    Android的过程可以参考下面这篇文章:
     
    四、Appium的一些概念
     
    Session
    客户端初始化一个Session与服务端交互,不同的语言有不同的实现方式。但是都是通过发送一个post请求给服务端,请求中包含“desired capabilities”的JSON对象,这时服务端会开启一个Session并返回一个Session ID,Session ID将被用在后续的命令中
     
    Desired Capabilities
    desired capabilities是一个JSON对象,包含要测试的对象的具体信息,告诉服务端我们要怎么测试,具体的选项见下面链接
     
    Appium.app,Appium.exe
    提供了GUI封装的Appium服务端下载,封装了Appium需要的所有依赖,不需要安装Node.js,还包括了Inspector工具可以查看界面元素
     
    概念参考文档:
  • 相关阅读:
    桟错误分析方法
    gstreamer调试命令
    sqlite的事务和锁,很透彻的讲解 【转】
    严重: Exception starting filter struts2 java.lang.NullPointerException (转载)
    eclipse 快捷键
    POJ 1099 Square Ice
    HDU 1013 Digital Roots
    HDU 1087 Super Jumping! Jumping! Jumping!(动态规划)
    HDU 1159 Common Subsequence
    HDU 1069 Monkey and Banana(动态规划)
  • 原文地址:https://www.cnblogs.com/meitian/p/5698962.html
Copyright © 2011-2022 走看看