手機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原理3d
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工做流