1 Appium介绍
admin
2023-02-17 01:40:02
0次

1 Appium概念(官网   http://appium.io   )

  1)概念:appium是一个自动化测试开源工具,支持IOS、Android平台上的原生应用、web应用和混合应用

  2)原生应用:是指使用ios或者android编写的应用

      web应用:是指移动浏览器访问的应用,即H5页面

      混合应用:原生代码和web内容交互,即APP内嵌的H5页面

2 Appium理念

  1)无需为了自动化而重新编译或者修改你的应用

    appium真正的工作引擎是第三方自动化框架(例如ios的Uiautomation,Android 4.2+的UiAutomator,Android 2.3+的Instrumentation->Instrumentation由单独项目Selendroid支持),这样就不需要再你的应用中植入aooium相关或者第三方的代码。

  2)你不必局限于某种语言或者框架来写和运行测试脚本

    将上述的第三方框架封装成一套API,webDriver(即Selenium WebDrier)。指定了客户端到服务端的协议。使用这种客户端-服务端架构,就可以使用任何语言来编写客户端,向服务端发送HTTP请求。客户端就是简单的HTTP客户,你可以使用任何测试套件或者测试框架(目前已经实现了大多数流行语言版本的客户端)编写刻画段的代码。换句话说:Appium和webDriver客户端不是技术意义上的测试框架,而是“自动化库”,你可以在你的测试环境中随意使用这些自动化库。

  3)一个移动自动化的框架不应该在接口上重读造轮子(移动自动化的接口应该统一)

    事实上webDriver已经成为web浏览器自动化的标准,也成了W3C的标准,所以Appium扩充了webDriver的协议,在原有的基础上添加移动自动化相关的API

  4)无论精神上还是名义上,都必须开源

    appium是开源的

3 Appium几个重要的概念

  1)C/S架构

    Appium 的核心是一个 web 服务器,它提供了一套 REST 的接口。它收到客户端的连接,监听到命令,接着在移动设备上执行这些命令,然后将执行结果放在 HTTP响应中返还给客户端。事实上,这种客户端/服务端的架构给予了许多的可能性:比如我们可以使用任何实现了该客户端的语言来写我们的测试代码。比如我们可以把服务端放在不同 的机器上。比如我们可以只写测试代码,然后使用像 Sauce Labs 这样的云服务来解释命令。

  2)Session

    自动化始终围绕一个session进行,客户端初始化一个seesion(会话)来与服务端交互,不同的语言有不同的实现方式,但是他们最终都是发送为一个POST请求给服务端,请求中包含一个JSON对象,被称作“desired capabilities”。此时,服务端就会开启一个自动化的 session,然后返回一个 session ID,session ID将会被用户发送后续的命令。

  3)Desired Capabilities

    Desired capabilities 是一些键值对的集合 (比如,一个 map 或者 hash),客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。比如,我们可以把platformName 设置为 iOS,告诉 Appium 服务端,我们想要一个iOS 的 session,而不是一个 Android 的。我们也可以设置 safariAllowPopups 为 true,确保在 Safari 自动化 session 中,我们可以使用 javascript 来打开新窗口。参见 capabilities 文档,查看完整的 capabilities 列表。

  4)Appium Server

    Appium server 是用 Node.js 写的。我们可以用源码编译或者从 NPM 直接安装。

  5) Appium 服务端

    Appium 服务端有很多语言库 Java, Ruby, Python, PHP, JavaScript 和 C#,这些库都实现了 Appium 对 WebDriver 协议的扩展。当使用 Appium 的时候,你只需使用这些库代替常规的 WebDriver 库就可以了。

以上内容转载至:https://testerhome.com/topics/14772

4 Appium工作原理

    Appium是Node.js写的http服务器,用来创建和控制webDriver的session。

    Appium服务器接收 json 格式的request请求,根据不同平台对这些请求采取不同的处理方式。我们执行脚本时,脚本会转换成json数据,通过http请求发送给Appium Server,Appium Server将请求转换成command,发送给平台工具(ios:instruments;android:uiautomator)在设备上查找Appium 推送上来的bootstrap.js(bootstrap.js 是Appium架构 放在手机端的一个服务器),来执行这些命令。执行完后,客户端将结果和log发送回Appium Server。

                                           1 Appium介绍


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...