转自:http://www.imdsx.cn/

手机App分为两大类,原生App(Native App)和混合APP(Hybrid App)

原生App(Native App)

原生App实际就是我们所常见的传统App开发模式,云端数据存储+App应用客户端。App应用客户端,包含了所有的UI元素、框架逻辑等。只有数据存储在云端。

混合App(Hybrid App)

混合App就是HTML5 App,混合App通常由两部分组成,HTML5云网站+App应用客户端,这里的App应用客户端实际只是个架子,里面的UI元素和逻辑,都是存储在云端的,每次在打开App时,去云端获取数据呈现给手机用户。说白了混合App就是将Web页面嵌套到了App应用客户端中。由于每次打开App都要向HTML云端服务请求数据,所以会产生不小的数据流量,并且如果没有网络,会导致无法看到HTML App。这就是常说的H5页面。

Appium介绍

Appium是一个开源、跨平台的自动化测试框架,它适用于Native App、Hybrid App。

Appium有个比较好的设计哲学,简单的说就是不要为了移动端自动化测试而单独开发一套Api接口,所以Appium也是基于Selenium的Webdriver进行了扩展,扩展了一些操作移动端的Api接口,在我们学习完Selenium的Api接口后,我们在学习Appium只需要学习扩展的那些操作移动端的Api接口即可。

Appium最牛之处在于支持跨平台操作。实际上我们在测试时是启动了一个Appium Server,这个Server可以放到任意的机器上,供公司的自动化测试人员共同使用。

Appium原理

Appium既然是基于Selenium做的二次扩展,那么Appium也是一个经典的Client-Server的设计模式,我们的Code就是狭义上的客户端,Server端与Selenium不同,Selenium直接测试浏览器Web页面,将浏览器作为服务端。而Appium的服务端是我们自己启动的Appium-Server。数据与操作命令传递与Selenium Api接口相同,遵守REST设计风格的Api接口。(所谓的REST设计风格,只是一帮喜欢写论文的人装逼搞出来的名词,让大家看的云里雾里。简单的理解,就是一种接口设计方式,网上对于REST的解释层出不穷,翻译成三句话,看URL知道要什么、看HTTP Metod知道干什么、看HTTP Status Code知道结果。)

Appium工作流

移动端自动化==>什么是Appium的更多相关文章

  1. 移动端自动化环境搭建-Appium for Windows的安装

    安装Appium for Windows版 A.安装依赖 appium就是我们做移动端自动化测试主要的软件 B.安装过程

  2. 移动端自动化环境搭建-Appium Client的安装和AppiumLibrary库的安装

    A.安装依赖 appium client是配合原生的webdriver来使用的(特别是用java而不用maven的同学),因此二者必须配合使用缺一不可. B.安装过程 1.在线安装 pip insta ...

  3. 移动端自动化自动化(Android&iOS)——Appium

    Appium-Python 移动端自动化环境搭建 Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及Firefox ...

  4. 【待考察】Appium使用技巧,助你快速入门移动端自动化!

    Appium使用技巧,助你快速入门移动端自动化! 原创: 柠檬班superman 柠檬班软件测试 1月4日 关注并置顶[柠檬班]的小哥哥小姐姐 “猪”年行大运 说说最近研究移动端的自动化 移动端的自动 ...

  5. APP H5 混合自动化使用说明 [基于 Appium+Python 系列]

    背景 前几天接到H5开发人员那边的业务开发需求单,说想将H5接入到自动化系列中,特此记录分享一下. 环境前置准备 手机与电脑USB连接,开启USB调试模式,通过adb devices可查看到此设备. ...

  6. 手机自动化培训:Appium介绍

    手机自动化培训:Appium介绍 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...

  7. 接口自动化、移动端、web端自动化如何做?

    1.<Python+Appium移动端自动化项目实战>-带您进入APP自动化测试的世界https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0 ...

  8. 聊聊 PC 端自动化最佳方案 - Pywinauto

    1. 前言 大家好,我是安果! 上一篇文章,聊到 PC 端的一种自动化方案:WinAppDriver 聊聊 PC 端自动化最佳方案 - WinAppDriver 有小伙伴后台给我留言,说「 pywin ...

  9. 移动端穿插着PC端自动化-Python基础(干货)

    1.前面已经把所有前期工作完成了 下面进行一些简单的小脚本来更好的了解Python.对Python有一些基础的童鞋理解起来会比较容易,我刚接触的时候也会有点懵的,现在简单的也是没问题了. 大牛请不要喷 ...

随机推荐

  1. Unity3D游戏开发和网络游戏实战书籍及配套资源和一些视频教程分享

    目录 1. 按 2. pdf 3. 配套资源 3.1. Unity网络游戏实战第二版 3.2. Unity网络游戏实战第一版 4. 视频教程 5. 更多坦克大战代码 1. 按 本文主要分享了: Uni ...

  2. Django新建第一个投票应用

    1:在Pycharm的命令端口,确保执行文件路径是与mysite同级 $ python3 manage.py startapp polls 系统会自动生成polls应用的目录,其结构如下 polls/ ...

  3. tomcat+redis接上篇

    数据库允许远程连接 把数据库中的mysql数据库中的user表里的host项为localhost的改为 % update user set host = '%' where user = 'root' ...

  4. Spring配置搭建——Spring学习 day1

    对象准备 1.导包 Spring core ,context ,beans ,expression ,aop Apache commons logging 2.写入一个对象 这边写入User对象 3. ...

  5. Java基本的程序结构设计 数组

    声明数组: int[] a; int a[]; 两种方式.一般选择第一种,比较一目了然. 初始化,必须指定长度: int[] a = new int[10]; int[] a = {1,2,3}; 初 ...

  6. VxLAN、PAE、Telemetry简介

    VxLAN VxLAN协议将  Ethernet帧  封装在UDP内,再加上8个字节的VXLAN header,用来标识不同的二层网络. VxLAN的角度看网络虚拟化:在一套物理网络设备上虚拟出多个二 ...

  7. Python的题目

    1.将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表.2.在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0.3.反转列表 [0,1,2,3,4,5,6,7] .4.反 ...

  8. sqlserver 返回刚插入的那条数据

    insert into xxxxxx(Col_002,UrgentStatus,DoWorkShop,Col_004,Col_005,Col_006,Col_003,Col_007,postQQ,Co ...

  9. sql len函数 CASE WHEN

    SELECT LEN('SQL Server LEN') length, LEN('SQL Server LEN ') length_with_trailing_blanks; SELECT (CAS ...

  10. 执行jar包某类命令

    #!/bin/bash ulimit -SHn 65535 export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 library_path="$ ...