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

点击查看原文

上篇文章中,讲解 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 客户端的介绍。


  • 公众号 「清菡软件测试」 首发,更多原创文章:清菡软件测试 87+原创文章,欢迎关注、交流,禁止第三方擅自转载。

热文精选

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值