Appium原理精講

Appium原理精講

目前使用Appium新版本和舊版本的企業(yè)數(shù)目都很多闸拿,而兩個(gè)版本的安裝過(guò)程和api的使用又有較大的區(qū)別褐桌。但是無(wú)論表面上的東東如何變化针肥,內(nèi)部原理都是一樣的饼记。在這里我給大家介紹一下appium的核心,增進(jìn)大家對(duì)它的理解慰枕,相信這會(huì)對(duì)大家后期的使用有很大的幫助具则。

Appium概念

Appium是一個(gè)開(kāi)源、跨平臺(tái)的自動(dòng)化測(cè)試工具具帮,用于測(cè)試原生和輕量移動(dòng)應(yīng)用博肋,支持 iOS, Android 和 FirefoxOS 平臺(tái)。Appium

驅(qū)動(dòng)蘋果的 UIAutomation 庫(kù)和 Android 的 UiAutomator 框架蜂厅,使用 Selenium 的 WebDriver JSON 協(xié)議匪凡。Appinm 的 iOS 支持是基于 Dan Cuellar's 的 iOS Auto. Appium 同時(shí)綁定了Selendroid 用于老的 Android 平臺(tái)測(cè)試(SDK < 16)。

官網(wǎng):http://appium.io/

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

特性

1. 跨平臺(tái)葛峻, native/ hybrid/ webview(H5)

2. 跨設(shè)備锹雏, android/iOS

3. 跨app,可以在多個(gè)app之間交互

4. 不依賴APP開(kāi)源代碼

5. 支持Selenium WebDriver / Selenium Grid

6. 跨語(yǔ)言术奖, java/python/ruby

7. Open Source



框架介紹

Appium是由nodejs的express框架寫的HttpServer礁遵。Appium不是它??創(chuàng)建?套新的測(cè)試框架,是將現(xiàn)有的優(yōu)秀的框架進(jìn)行了集成采记,以Selenium

WebDriver的協(xié)議(JsonWireProtocol/Restful web service)統(tǒng)?起來(lái).使得這個(gè)框架滿?多??的需求佣耐。Appium啟動(dòng)自動(dòng)化測(cè)試后,在被測(cè)設(shè)備上啟動(dòng)?個(gè)server唧龄,監(jiān)聽(tīng)來(lái)? Appium server的指令兼砖。不同的平臺(tái)(如IOS,Android)采?不同的運(yùn)?和交換?式。Appium將某個(gè)樁程序“侵入”平臺(tái)讽挟,用于接受指令懒叛,來(lái)完成測(cè)試腳本的運(yùn)行。在Android端耽梅,appium基于WebDriver薛窥,并利用Bootstrap.js,最后通過(guò)調(diào)?用UiAutomator的命令眼姐,實(shí)現(xiàn)App的自動(dòng)化測(cè)試诅迷。另外由于UiAutomator對(duì)H5的支持有限,appium引入了chromedriver來(lái)實(shí)現(xiàn)基于H5的自動(dòng)化众旗。

原理圖(Android)

分析:

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

2.中間是開(kāi)起的Appium的服務(wù)(不同的系統(tǒng)需要安裝與之對(duì)應(yīng)的Appium server,這也就是appium可以同時(shí)支持android贡歧、ios以及windows應(yīng)用進(jìn)行自動(dòng)化測(cè)試的原因滩租。在這里以android為例進(jìn)行說(shuō)明)Appium在這邊起了一個(gè)Server(4723端口),跟selenium Webdriver測(cè)試框架類似艘款,Appium支持標(biāo)準(zhǔn)的WebDriver JSONWireProtocol持际。在這里提供了一套web服務(wù),Appium Server接收webdriver標(biāo)準(zhǔn)請(qǐng)求哗咆,解析請(qǐng)求內(nèi)容蜘欲,調(diào)?用對(duì)應(yīng)的框架響應(yīng)操作。如:腳本發(fā)送一個(gè)點(diǎn)擊按鈕的請(qǐng)求給appium server晌柬。

3. appium server會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給中間件Bootstrap.jar 姥份,它是用java寫的,安裝在手機(jī)上年碘。Bootstrap接收 appium 的命令(4724端口)澈歉,最終通過(guò)調(diào)?用UiAutomator的命令來(lái)實(shí)現(xiàn)。

4.最后執(zhí)? 的結(jié)果由Bootstrap返回給appium server屿衅。

5.另外埃难,appium還用到了chromedriver來(lái)支持基于H5(webview)的測(cè)試。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涤久,一起剝皮案震驚了整個(gè)濱河市涡尘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌响迂,老刑警劉巖考抄,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蔗彤,居然都是意外死亡川梅,警方通過(guò)查閱死者的電腦和手機(jī)疯兼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贫途,“玉大人吧彪,你說(shuō)我怎么就攤上這事《纾” “怎么了来氧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)香拉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)中狂,這世上最難降的妖魔是什么凫碌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮胃榕,結(jié)果婚禮上盛险,老公的妹妹穿的比我還像新娘。我一直安慰自己勋又,他們只是感情好苦掘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著楔壤,像睡著了一般鹤啡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蹲嚣,一...
    開(kāi)封第一講書(shū)人閱讀 52,394評(píng)論 1 310
  • 那天递瑰,我揣著相機(jī)與錄音,去河邊找鬼隙畜。 笑死抖部,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的议惰。 我是一名探鬼主播慎颗,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼言询!你這毒婦竟也來(lái)了俯萎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤倍试,失蹤者是張志新(化名)和其女友劉穎讯屈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體县习,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涮母,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年谆趾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叛本。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沪蓬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出来候,到底是詐尸還是另有隱情跷叉,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布营搅,位于F島的核電站云挟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏转质。R本人自食惡果不足惜园欣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望休蟹。 院中可真熱鬧沸枯,春花似錦、人聲如沸赂弓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盈魁。三九已至翔怎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間杨耙,已是汗流浹背姓惑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留按脚,地道東北人于毙。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辅搬,于是被迫代替她去往敵國(guó)和親唯沮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一.Appium框架組成 Appium框架組成是自動(dòng)化腳本即client端(通過(guò)Java編寫的代碼堪遂,也可以通過(guò)其他...
    Jeff_9021閱讀 28,452評(píng)論 0 16
  • 一介蛉、什么是Appium Appium是一個(gè)開(kāi)源、跨平臺(tái)的測(cè)試框架溶褪,可以用來(lái)測(cè)試原生及混合的移動(dòng)端應(yīng)用币旧。Appium...
    丫丫的簡(jiǎn)書(shū)_閱讀 461評(píng)論 0 0
  • 話不多說(shuō)吹菱,直接上干貨: appium的整體架構(gòu)是C/S模式巍虫,整體流程(返回順序?yàn)槟嫦颍?腳本請(qǐng)求 ——> 472...
    hellokitty小丸子閱讀 23,882評(píng)論 1 22
  • 九月二十六日输瓜,越過(guò)汽車的門瓦胎,找尋合適的位置,睡眠不足的早晨在晃晃悠悠的公交車上看書(shū)尤揣,更讓腦瓜顯得遲鈍起來(lái)搔啊。今天,周...
    梓瀟_af35閱讀 229評(píng)論 0 0
  • 進(jìn)步北戏,就是向前走坯癣,就是今天比昨天好,就是對(duì)現(xiàn)狀有所突破最欠,進(jìn)步也可以是思路清晰一點(diǎn)、效率提高一點(diǎn)惩猫,甚至可以是走路比以...
    高高yomie_796d閱讀 299評(píng)論 0 0