前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >更新“Appium运行原理”讲解!

更新“Appium运行原理”讲解!

作者头像
清菡
发布2020-12-02 15:40:30
1.1K0
发布2020-12-02 15:40:30
举报
文章被收录于专栏:清菡软件测试清菡软件测试

上篇文章中,讲解 Appium 运行原理、Web-Selenium 的运行原理的时候,图片放重复了,导致讲解不是很清晰。本篇文章更新一下此处的讲解,多有疏忽,请见谅!

1.Web-Selenium 运行原理:

图片来自网络

通过 Http 通信,没有改变浏览器访问系统的属性,只要访问就可以了。Appium 做自动化也是如此。

2.Appium 运行原理:

图片来自网络

安卓和 Ios 都有自己自带的自动化测试框架。因为 Ios 和安卓是不同的语言编写的,所以用 Appium(Appium 是跨平台跨语言)。

版本不一样,用的自动化框架也不一样。自动化框架不一样,API 接口也不一样。

图片来自网络

Appium server 去跟移动端的东西通信,首先确实是 Ios 还是安卓。即使确认了是安卓,也得确认下是 UiAutomator 的 Api 还是 Instrumentation 的 Api。

一般只支持主流版本,其它版本需要用户自己支持了。

启动一个模拟器或者真机就有一套自带的自动化框架。

图片来自网络

Appium 发送命令到手机,手机上有个 Bootstrap 接收命令。Bootstrap 是一个服务:Ip 地址和端口做的一个监听。

Appium server 启动后得到代码发送的命令后,不会直接发给手机。

比如你在安卓 8 的设备上做个什么操作,打开一个 APP,Appium server 检查下目前设备上有没有安卓 8 的。如果有,它就把这个命令发送给手机端。

Bootstrap 得到命令后,在本系统中调用 UIAutomator 提供的 API 去做一些实际的操作。就实现了通过 Python 代码去驱动移动端做一堆的事情。

Bootstrap.jar 就是利用了 UIAutomator 一个测试类在这个当中写了 Ip 地址和端口,启动这个服务就结束了。当然也会传达命令,调用 UIAutomator 等。

Appium server 是个服务,移动终端上面也放了一个服务。作为服务主要接收别人向我们发送的命令,实际上就是通信

Appium server 这个中间件支持 Ios、安卓。

移动端不仅有 Web 网页的操作,还有自己特性的操作。移动端的特点:手指触屏操作、多点触控、混合应用。移动端特有的操作,把命令加进来,做一个扩充就好了。

装了 Appium 没有装 Selenium 是肯定会报错的。因为 Appium 是基于 Selenium 的,Appium 做了些拓展。

很多东西和 Web 自动化,包括从概念上都是一样的。虽然说,它做了拓展,它也是基于现在的基础。现在通信原理的基础上增加了一些原理,增加了一些操作,核心是没有变的。原因很简单:大家都是界面操作。本质上是差不多的,就是在不同的平台上来做这些事情。

很多方面基本上都是这种思想来做的。现在开源的东西越来越多,很多实现思想就是这种分层、独立、兼容很多语言,可以不限定客户端是谁的。

Appium 本来就是开源的,是 Js 实现的。

以上是 Appium 客户端的介绍。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Web-Selenium 运行原理:
  • 2.Appium 运行原理:
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档