这应该是全网最详细的 “ Appium介绍 ” (小白必看!)

Posted 小洁码很快!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这应该是全网最详细的 “ Appium介绍 ” (小白必看!)相关的知识,希望对你有一定的参考价值。

1、Appium 是什么?

Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试工具,Appium应用WebDriver: JSON wire protocol驱动安卓和ios移动应用。

2、Appium的特点:

支持多平台(android、iOS等)

支持多语言(python、java、ruby、js、c#等)

Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。

Appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是如何做到支持多语言的原因;

Appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量。

3、Appium的哲学:

不需要重新编译或者修改应用

不被一种语言或者框架约束

不重复造轮子

开源免费

4、Appium原理:

原理图:

Appium是c/s架构的 ;

Appium是基于webdriver协议添加了对移动设备自动化api扩展而成的, webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息 。

Appium会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(比如点击一个APP中的一个Button就是一条请求)。

Bootstrap.jar:

监听4724端口由Appium发送过来的相关请求,并且将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理。

那么Bootstrap作用是什么?

Bootstrap是Appium在初始化的时推送到Android手机上的一个UiAutomator测试脚本,该脚本的唯一一个测试方法所做的事情是在手机端开启一个SocketServer(通信模块),用来监听Appium从PC端过来的命令发送给UiAutomator来执行处理。它会监听4724端口获得命令然后传递给UiAutomator来做处理。

Bootstrap是uiautomator的测试脚本,它的入口类bootstrap继承于UiautomatorTestCase, 所以Uiautomator可以正常运行它 ,它也可以正常使用uiautomator的方法,这个就是appium的命令可以转换成uiautomator命令的关键;

其次,bootstrap是一个socket服务器,专门监听4724端口过来的appium的连接和命令数据,并把appium的命令转换成uiautomator的命令来让uiautomator进行处理;

总体来说:

AppiumBootstrap是一个jar包; Appium会将这个jar包打到device中; 然后使用adb shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap会使用一个SocketServer用于监听发送过来的命令; 得到命令之后,扔给Uiautomator执行;

大家都了解了吗,有什么不懂的地方可以加入我们群:642830685,一起交流,有大佬为你答疑解惑

如果不知道该怎样去学习软件测试,下面我整理的软件测试学习路线图应该会帮助到大家
在这里插入图片描述
希望大家能照着这个体系在1-2年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

下面附带一份学习资料,希望能帮到你


上面是我收集的一些视频和面试题资料,对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

关注我的微信公众号【程序员二黑】即可领取软件测试超硬核资源!

总之,学习如逆水行舟,不进则退。想要多高的薪资,就要付出多大的努力。

也祝大家可以顺利找到心仪的工作!

以上是关于这应该是全网最详细的 “ Appium介绍 ” (小白必看!)的主要内容,如果未能解决你的问题,请参考以下文章

校招:JAVA后端面试应该掌握到什么程度?全网Java学习路线最完整,最详细的版本,助你成功拿到满意的offer

这可是全网eNSP安装最完整,最详细的图解,没有之一(安装步骤)

这可是全网网工基础知识最详细的整理,没有之一

这可是全网网工数通方向学习路线最完整,最详细的版本,没有之一

全网最详细的 I/O 多路复用解析

全网最详细的 I/O 多路复用解析