zoukankan      html  css  js  c++  java
  • Appium 原理

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

    原生APP(Native App)

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

    混合APP(Hybrid App)

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

    Appium介绍

      是一个开源、跨平台的自动化测试框架,它适用于原生APP 和 混合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接口。

    Appium工作流

          

    Appium跨平台

         

    小贴士:平时我们通过cnp安装的是纯appium-server,而通过appium-destop 装的是定位元素的工具,只不过是集成了appium-server。

  • 相关阅读:
    C#操作REDIS例子
    A C# Framework for Interprocess Synchronization and Communication
    UTF8 GBK UTF8 GB2312 之间的区别和关系
    开源项目选型问题
    Mysql命令大全——入门经典
    RAM, SDRAM ,ROM, NAND FLASH, NOR FLASH 详解(引用)
    zabbix邮件报警通过脚本来发送邮件
    centos启动提示unexpected inconsistency RUN fsck MANUALLY
    rm 或者ls 报Argument list too long
    初遇Citymaker (六)
  • 原文地址:https://www.cnblogs.com/wu-xw/p/10283348.html
Copyright © 2011-2022 走看看