Appium工作原理


前言:

之前做APP自動化,使用appium框架時,有理清楚過android的工作流程和原理,找了一遍,發現沒記錄到博客,所以寫下一篇appium工作原理來記錄。

目前Appium框架可以時支持android 和 ios 兩個操作系統的App自動化測試

一、appium-Android工作流

在Android端,appium基於WebDriver協議,利用Bootstrap.jar,最后通過調⽤用UiAutomator的命令,實現App的自動化測試

 

具體的步驟:

1.客戶端是我們寫的webdriver測試腳本。
2.中間是Appium的服務,Appium在服務端啟動一個Server(4723端口),跟selenium Webdriver測試框架類似, Appium⽀持標准的WebDriver JSONWireProtocol。在這里提供它提供了一套REST的接口,Appium Server接收web driver client標准rest請求,解析請求內容,調⽤用對應的框架響應操作。
3.appium server會把請求轉發給中間件Bootstrap.jar ,它是用java寫的,安裝在手機上.Bootstrap監聽4724端口並接收appium 的命令,最終通過調⽤用UiAutomator的命令來實現。
4.最后Bootstrap將執行的結果返回給appium server
5.appium server再將結果返回給 appium client

二、appium-iOS工作流

在iOS端,appium同樣使⽤WebDriver的一套協議。與Android端測試框架不同的是appium ios封裝了apple的 Instruments框架,主要用了Instrument的UIAutomation(Apple的自動化測試框架),然后在設備中注入bootstrap.js進行監聽。

1.客戶端是我們寫的webdriver測試腳本。
2.中間是Appium的服務,Appium在服務端啟動一個Server(4723端口),跟selenium Webdriver測試框架類似, Appium⽀持標准的WebDriver JSONWireProtocol。在這里提供它提供了一套REST的接口,Appium Server接收web driver client標准rest請求,解析請求內容,調⽤用對應的框架響應操作。
3.appium server調用instruments.js 啟動⼀一個socket server,同時分出一個⼦子進程運⾏instruments.app,將bootstrap.js(UIAutomation腳本)注⼊入到device⽤於和外界進行交互。
4.最后Bootstrap.js將執行的結果返回給appium server。
5.appium server再將結果返回給 appium client。

 

參考原文:https://www.cnblogs.com/oscarforever/p/10721878.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM