Appium原理精講

Appium原理精講

目前使用Appium新版本和舊版本的企業數目都很多,而兩個版本的安裝過程和api的使用又有較大的區別。但是無論表面上的東東如何變化,內部原理都是一樣的。在這里我給大家介紹一下appium的核心,增進大家對它的理解,相信這會對大家后期的使用有很大的幫助。

Appium概念

Appium是一個開源、跨平臺的自動化測試工具,用于測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平臺。Appium

驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。Appinm 的 iOS 支持是基于 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了Selendroid 用于老的 Android 平臺測試(SDK < 16)。

官網:http://appium.io/

Github:https://github.com/appium/appium

特性

1. 跨平臺, native/ hybrid/ webview(H5)

2. 跨設備, android/iOS

3. 跨app,可以在多個app之間交互

4. 不依賴APP開源代碼

5. 支持Selenium WebDriver / Selenium Grid

6. 跨語言, java/python/ruby

7. Open Source



框架介紹

Appium是由nodejs的express框架寫的HttpServer。Appium不是它??創建?套新的測試框架,是將現有的優秀的框架進行了集成,以Selenium

WebDriver的協議(JsonWireProtocol/Restful web service)統?起來.使得這個框架滿?多??的需求。Appium啟動自動化測試后,在被測設備上啟動?個server,監聽來? Appium server的指令。不同的平臺(如IOS,Android)采?不同的運?和交換?式。Appium將某個樁程序“侵入”平臺,用于接受指令,來完成測試腳本的運行。在Android端,appium基于WebDriver,并利用Bootstrap.js,最后通過調?用UiAutomator的命令,實現App的自動化測試。另外由于UiAutomator對H5的支持有限,appium引入了chromedriver來實現基于H5的自動化。

原理圖(Android)

分析:

1.左邊的Code(WebDriver script)是我們的appium測試腳本。

2.中間是開起的Appium的服務(不同的系統需要安裝與之對應的Appium server,這也就是appium可以同時支持android、ios以及windows應用進行自動化測試的原因。在這里以android為例進行說明)Appium在這邊起了一個Server(4723端口),跟selenium Webdriver測試框架類似,Appium支持標準的WebDriver JSONWireProtocol。在這里提供了一套web服務,Appium Server接收webdriver標準請求,解析請求內容,調?用對應的框架響應操作。如:腳本發送一個點擊按鈕的請求給appium server。

3. appium server會把請求轉發給中間件Bootstrap.jar ,它是用java寫的,安裝在手機上。Bootstrap接收 appium 的命令(4724端口),最終通過調?用UiAutomator的命令來實現。

4.最后執? 的結果由Bootstrap返回給appium server。

5.另外,appium還用到了chromedriver來支持基于H5(webview)的測試。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容

  • 一.Appium框架組成 Appium框架組成是自動化腳本即client端(通過Java編寫的代碼,也可以通過其他...
    Jeff_9021閱讀 28,486評論 0 16
  • 一、什么是Appium Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用。Appium...
    丫丫的簡書_閱讀 472評論 0 0
  • 話不多說,直接上干貨: appium的整體架構是C/S模式,整體流程(返回順序為逆向): 腳本請求 ——> 472...
    hellokitty小丸子閱讀 23,919評論 1 22
  • 九月二十六日,越過汽車的門,找尋合適的位置,睡眠不足的早晨在晃晃悠悠的公交車上看書,更讓腦瓜顯得遲鈍起來。今天,周...
    梓瀟_af35閱讀 233評論 0 0
  • 進步,就是向前走,就是今天比昨天好,就是對現狀有所突破,進步也可以是思路清晰一點、效率提高一點,甚至可以是走路比以...
    高高yomie_796d閱讀 305評論 0 0