导读
Appium这个听起来既生疏也熟悉的自动化测试工具,比起原生的UiAutomator可能是异常的不起眼,可是却是有自身独当一面的能力,可以完成许多高难度作业,完成UiAutomator不可能完成的一些任务,可以说appium丰富了UiAutomator的功能,使UiAutomator可以完成更多的任务。
Appium到底有哪些优势会让我们优先选择它去做ui自动化呢?
一、 appium的优势
首先来看一下appium相比较于UiAutomator有哪些优势:
1、支持webview、hybrid、native App自动化
目前很多手机app都是混合型,同时具有native页面和webview页面,而UiAutomator是不能直接操 作混合型app中的webview页面。
2、跨平台
Appium不仅可以在android平台上使用,还可以在ios上进行自动化,这样使得自动化脚本复用成为了可能。
3、支持多种语言(Java、Python、Ruby、C#等)
Appium不会受到语言方面的限制,绝大多数语言均可以驱动appium进行自动化测试,给测试人员提供了更多的选择。
既然有这么多的好处,那他跟UiAutomator到底有哪些联系,运行流程又是怎样?
二、appium运行流程
Appium的加载过程如上图。
1)调用Android adb完成基本的系统操作;
2)向Android上部署bootstrap.jar;
3)Bootstrap.jar Forward Android的端口到PC机器上;
4)Pc上监听端口接收请求,使用webdriver协议;
5)分析命令并通过forward的端口发给bootstrap.jar;
6)Bootstrap.jar接收请求并把命令发给uiautomator;
7)Uiautomator执行命令。
在执行自动化命令时,首先通过appium client(各种语言均有对应的client)将命令发送至appium 服务器&#