『壹』 淘寶前端用的什麼框架
V- Layout 是阿里出品的基礎 UI 框架,用於快速實現頁面的復雜布局,在手機天貓 android版 內廣泛使用
淘寶、天貓一直致力於解決 頁面動態化的問題
在2017年的4月發布了v1.0解決方案:Tangram模型 及其對應的Android庫vlayout,該解決方案在手機淘寶、天貓Android版 內廣泛使用
『貳』 android app自動化測試工具有哪些
1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日誌輸出。實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。
2、MonkeyRunner也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。
3、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。
4、UiAutomator也是Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用UiAutomatorviewer抓去App頁面上的控制項屬性而不看源碼)。基於java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
5、Espresso是Google的開源自動化測試框架。相對於Robotium和UIAutomator,它的特點是規模更小、更簡潔,API更加精確,編寫測試代碼簡單,容易快速上手。因為是基於Instrumentation的,所以不能跨App。配合Android Studio來編寫測試的簡單例子
6、Selendroid:也是基於Instrumentation的測試框架,可以測試Native App、Hybird App、Web App,但是網上資料較少,社區活躍度也不大。
7、Robotium也是基於Instrumentation的測試框架,目前國內外用的比較多,資料比較多,社區也比較活躍。缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。
8、Athrun是淘寶出的一個移動測試框架/平台,同時支持iOS和Android。Android部分也是基於Instrumentation,在Android原有的類基礎上進行了擴展,提供一整套面向對象的API。這里有詳細介紹。
9、Appium是最近比較熱門的框架,社區也很活躍。這個框架應該是是功能最強大的,
它的優點:
開源;
支持Native App、Hybird App、Web App;
支持Android、iOS、Firefox OS;
Server也是跨平台的,你可以使用Mac OS X、Windows或者Linux;
它的哲理是:
用Appium自動化測試不需要重新編譯App;
支持很多語言來編寫測試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語言;
不需要為了自動化測試來重造輪子,因為擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);
移動端自動化測試應該是開源的;
它的設計理念:
Client/Server架構,運行的時候Server端會監聽Client端發過來的命令,翻譯這些命令發送給移動設備或模擬器,然後移動設備或模擬器做出響應的反應。正是因為這種架構,所以Client可以使用Appium client libraries多種語言的測試腳本,而且Server端完全可以部署在伺服器上,甚至雲伺服器。
Session,每個Client連接到Server以後都會有一個Session ID,而且Client發送命令到Server端都需要這個Session ID,因為這個seesion id代表了你所打開的瀏覽器或者是移動設備的模擬器。所以你甚至可以打開N個Session,同時測試不同的設備或模擬器。
Desired Capabilities,其實就是一個鍵值對,設置一些測試的相關信息來告訴Server端,我們需要測試iOS、還是Android,或者換是WebApp等信息。
Appium Server是Node.js寫的,所以可以直接用NPM來進行安裝。
Appium Clients,Mac OS和Win下提供GUI,不需要裝Node.js,方便測試人員操作。
相關限制:
如果你在Windows使用Appium,你沒法使用預編譯專用於OS X的.app文件,因為Appium依賴OS X專用的庫來支持iOS測試,所以在Windows平台你不能測試iOS Apps。這意味著你只能通過在Mac上來運行iOS測試。
總結:
在iOS部分是封裝了UIAutomation;Android 4.2以上是用UiAutomator,Android 2.3 ~ 4.1用的是 Instrumentation,也就說Appium同時封裝了UiAutomator和Instrumentation。所以Appium擁有了以上幾大框架的所有優點:跨App,支持Native App、Hybird App、Web App,還支持N種語言來編寫你的測試腳本。
『叄』 android app自動化測試工具有哪些
APP:Selenium 趨勢:免費源工具慢慢替代收費
『肆』 淘寶,京東這種商城的APP都是用Android+h5語言來開發的嗎
一般比較大的平台都會採用Android原生+h5混合開發,這樣能取各方面的優點;
原生開發可以訪問設備中的所有功能,運行速度更快,性能更高,而且可以啟用優秀的離線處理和存儲能力等等,提供最佳的用戶體驗,最優質的用戶界面,最華麗的交互。
原生開發的缺點在逐漸的開發、運營過程中顯現出來。開發成本高,不同平台需要定製不同的app,也就是android定製apk,ios定製app,開發人員需要多平台多語言,人力成本、時間成本較多,通用性差;
H5開發是Html5開發的app,本質上運行在手機瀏覽器中的頁面,一般使用app做一個殼套用瀏覽器運行H5的頁面,由於H5的特性也有很多app使用半原生半H5的hybird app 開發模
H5有許多優點,特別針對原生開發的缺點。如:
直接在網頁上調試和修改,幾乎不用考慮用戶機型和適配的問題,針對原生開發的平台碎片化、開發人力成本、時間成本高;版本升級優勢,網頁的升級與用戶無關,用戶無需下載更新安裝,保證實時送達到用戶手中;上線時間穩定、快速,不需要通過開發市場的審核,有收入分成的開發市場更是可以繞過收入分成。除此以外在視頻媒體方面H5表現也十分優秀的。
H5的缺點有許多,當新技術出現時候許許多多的人都在吹噓它的優點,到真正實用時才對它的缺點正視。H5載入大圖片的時候性能會下降,大量用戶訪問同一個H5應用時性能會下降,響應速度比不上原生app,上網速度也不及原生app,H5不能自動處理動畫上反復交互(網頁游戲),需要藉助css3、javascript。