這幾天在群里也看到一個這樣的面試題,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原理,有哪里不對的,歡迎下方留言。共同學習