Android
在Android端,appium基於WebDriver協議,利用Bootstrap.jar,最後通過調⽤用UiAutomator的命令,實現App的自動化測試。
UiAutomator測試框架是Android SDK自帶的App UI自動化測試Java庫。
另外由於UiAutomator對H5的支持有限,appium引入了chromedriver以及safaridriver等來實現基於H5的自動化。
appium 在android端工作流
- client端也就是我們 test script是我們的webdriver測試腳本。
- 中間是起的Appium的服務(http:127.0.0.1:4723/wd/hub),Appium在服務端起了一個Server(監聽4723端口),跟seleniumWebdriver測試框架類似, Appium⽀持標準的WebDriver JSONWireProtocol。在這裏它提供了一套REST的接口,Appium Server接收web driverclient標準rest請求,解析請求內容,調⽤用對應的框架響應操作。
- appium server會把請求轉發給中間件Bootstrap.jar(Bootstrap.jar啓動後再手機上創建socket服務,暴露4724端口) ,它是用java寫的,安裝在手機上.Bootstrap監聽4724端口並接收appium的命令,最終通過調⽤用UiAutomator的命令來實現。
- 最後Bootstrap將執行的結果返回給appium server。
- appium server再將結果返回給 appium client。