標籤:自動化測試 selenium 客戶 服務 microsoft 理解 size log 傳遞
手機App分為兩大類,原生App(Native App)和混合APP(Hybrid App)
原生App(Native App)
原生App實際就是我們所常見的傳統App開發模式,雲端資料存放區+App應用用戶端。App應用用戶端,包含了所有的UI元素、架構邏輯等。只有資料存放區在雲端。
混合App(Hybrid App)
混合App就是HTML5 App,混合App通常由兩部分組成,HTML5雲網站+App應用用戶端,這裡的App應用用戶端實際只是個架子,裡面的UI元素和邏輯,都是儲存在雲端的,每次在開啟App時,去雲端擷取資料呈現給手機使用者。說白了混合App就是將Web頁面嵌套到了App應用用戶端中。由於每次開啟App都要向HTML雲端服務要求資料,所以會產生不小的資料流量,並且如果沒有網路,會導致無法看到HTML App。這就是常說的H5頁面。
Appium介紹
Appium是一個開源、跨平台的自動化測試架構,它適用於Native App、Hybrid App。
Appium有個比較好的設計哲學,簡單的說就是不要為了移動端自動化測試而單獨開發一套Api介面,所以Appium也是基於Selenium的Webdriver進行了擴充,擴充了一些操作移動端的Api介面,在我們學習完Selenium的Api介面後,我們在學習Appium只需要學習擴充的那些操作移動端的Api介面即可。
Appium最牛之處在於支援跨平台操作。實際上我們在測試時是啟動了一個Appium Server,這個Server可以放到任意的機器上,供公司的自動化測試人員共同使用。
Appium原理
Appium既然是基於Selenium做的二次擴充,那麼Appium也是一個經典的Client-Server的設計模式,我們的Code就是狹義上的用戶端,Server端與Selenium不同,Selenium直接測試瀏覽器Web頁面,將瀏覽器作為服務端。而Appium的服務端是我們自己啟動的Appium-Server。資料與操作命令傳遞與Selenium Api介面相同,遵守REST設計風格的Api介面。(所謂的REST設計風格,只是一幫喜歡寫論文的人裝逼搞出來的名詞,讓大家看的雲裡霧裡。簡單的理解,就是一種介面設計方式,網上對於REST的解釋層出不窮,翻譯成三句話,看URL知道要什麼、看HTTP Metod知道幹什麼、看HTTP Status Code知道結果。)
Appium工作流程
移動端自動化測試-WTF Appium?