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工具可以查看界面元素
     
    概念参考文档:
  • 相关阅读:
    九月学习计划与自我成长
    sqlyog无法连接mysql8.0的处理办法
    MySQL详细的攻略和玩法
    输入net start mysql显示MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。
    MySQL详细安装教程
    2019上半年程序设计年度总结
    PTA12
    C#实现文本文件字符过滤
    C#字符串string和内存流MemoryStream及比特数组byte[]
    C# 流总结
  • 原文地址:https://www.cnblogs.com/meitian/p/5698962.html
Copyright © 2011-2022 走看看