appium---appium自动化原理

  这几天在群里也看到一个这样的面试题,appium的原理是什么?我们一直在思考如何编写自动化测试用例,但是却忘记了最基本的原理是什么。

 Appium

appium是一种开源的软件,跨平台(IOS、android),跨语言的自动换软件,不仅可以使用python,java编写测试用例,都可以进行运行。Appium使用的WebDriver的json wire协议来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架

更多介绍查看appium官网:http://appium.io/

Appium工作原理

1、Android设备

appium---appium自动化原理_第1张图片

在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。另外由于UiAutomator对H5的支持有限,appium引入了chromedriv等来实现基于H5的自动化。

from appium import webdriver
desired_caps = {
                 'platformName': 'Android',  # 测试版本
                 'deviceName': 'emulator-5554',   # 设备名
                 'platformVersion': '5.1.1', # 系统版本
                "appPackage": "com.autonavi.minimap",   # app包名
                "appActivity": "com.autonavi.map.activity.NewMapActivity",   # 启动launch Activity
                        }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

2、IOS端

appium---appium自动化原理_第2张图片

 

在IOS端,appium同样也是基于webdriver协议的,不过IOS不同的是Apple中的Instruments(苹果独特)框架,主要用了Instrument的UIAutomation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听。

 

简单的了解下appium原理,有哪里不对的,欢迎下方留言。共同学习

你可能感兴趣的:(appium---appium自动化原理)