这几天在群里也看到一个这样的面试题,appium的原理是什么?我们一直在思考如何编写自动化测试用例,但是却忘记了最基本的原理是什么。
Appium
appium是一种开源的软件,跨平台(IOS、android),跨语言的自动换软件,不仅可以使用python,java编写测试用例,都可以进行运行。Appium使用的WebDriver的json wire协议来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架
更多介绍查看appium官网:http://appium.io/
Appium工作原理
1、Android设备
在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端
在IOS端,appium同样也是基于webdriver协议的,不过IOS不同的是Apple中的Instruments(苹果独特)框架,主要用了Instrument的UIAutomation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听。
简单的了解下appium原理,有哪里不对的,欢迎下方留言。共同学习
来源:oschina
链接:https://my.oschina.net/u/4287583/blog/4288005