版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
Appium介紹
與環(huán)境搭建龍騰育才講師:劉老師目標
Appium思想與架構(gòu)Appium名詞
AppiumiOS/Android圖解
SeleniumJSON協(xié)議
Appium介紹
Android環(huán)境搭建Appium介紹Appium是一個自動化測試開源工具,支持iOS和Android平臺上的原生應用,web應用和混合應用.移動原生應用:是指那些用iOSSDK或者AndroidSDK寫的應用。例如:酷狗音樂,美圖秀秀移動web應用:是指使用移動瀏覽器訪問的應用(Appium支持iOS上的Safari和Android上的Chrome)。例如:用手機端瀏覽器打開搶票助手混合應用:是上面兩者的結(jié)合,通常是指原生應用內(nèi)嵌了瀏覽器(即:原生代碼封裝網(wǎng)頁視圖——原生代碼和web內(nèi)容交互。)例如:天貓的活動頁面,攜程訂單詳情頁面,58同城的貼子等。重要的是,Appium是一個跨平臺的工具:它允許測試人員在不同的平臺(iOS,Android),使用不同的開發(fā)語言(JAVA,Python和Ruby等語言),使用同一套API來寫自動化測試腳本,這樣大大增加了iOS和Android測試代碼的復用性。Appium思想為了滿足移動自動化需求,Appium遵循著一種哲學,重點體現(xiàn)于以下4個需求:·你無需為了自動化,而重新編譯或者修改你的應用?!つ悴槐鼐窒抻谀撤N語言或者框架或者平臺來書寫和運行測試代碼?!ひ粋€移動自動化的框架不應該在接口上重復造輪子。(移動自動化的接口應該統(tǒng)一)?!ぴ创a必須開源。Appium架構(gòu)Appium真正的工作引擎其實是第三方自動化框架。這樣,我們就不需在你的應用里植入Appium相關或者第三方的代碼。這意味著你測試使用的應用與最終發(fā)布的應用并無二致。我們使用以下的第三方框架:iOS:蘋果的UIAutomationAndroid4.2+:Google'sUiAutomatorAndroid2.3+:Google'sInstrumentation.(Instrumentation由單獨的項目Selendroid提供支持)我們把這些第三方框架封裝成一套API,WebDriverAPI.WebDriver(也就是"SeleniumWebDriver")指定了客戶端到服務端的協(xié)議(JSONWireProtocol)。使用這種客戶端-服務端的架構(gòu),我們可以使用任何語言來編寫客戶端,向服務端發(fā)送恰當?shù)腍TTP請求。目前已經(jīng)實現(xiàn)了大多數(shù)流行語言版本的客戶端,這意味著你可以使用任何測試套件或者測試框架??蛻舳藥炀褪呛唵蔚腍TTP客戶,可以以任何你喜歡的方式潛入你的代碼。換句話說,Appium和WebDriver客戶端不是技術意義上的“測試框架”,而是“自動化庫”。你可以在你的測試環(huán)境中隨意使用這些自動化庫Appium名詞1.C/S架構(gòu):Appium的核心是一個web服務器,它提供了一套REST的接口。它收到客戶端的連接,監(jiān)聽到命令,接著在移動設備上執(zhí)行這些命令,然后將執(zhí)行結(jié)果放在HTTP響應中返還給客戶端。2.Session:自動化始終圍繞一個session進行,客戶端初始化一個seesion(會話)來與服務端交互,不同的語言有不同的實現(xiàn)方式,但是他們最終都是發(fā)送為一個POST請求給服務端,請求中包含一個JSON對象,被稱作“desiredcapabilities”。此時,服務端就會開啟一個自動化的session,然后返回一個sessionID,sessionID將會被用戶發(fā)送后續(xù)的命令。3.Desiredcapabilities:是一些鍵值對的集合(比如,一個map或者hash),客戶端將這些鍵值對發(fā)給服務端,告訴服務端我們想要怎么測試。比如,我們可以把platformNamecapability設置為iOS,告訴Appium服務端,我們想要一個iOS的session,而不是一個Android的。4.AppiumServerAppiumserver是用Node.js寫的。我們可以用源碼編譯或者從NPM直接安裝。Appium服務端有很多語言庫Java,Ruby,Python,PHP,JavaScript和C#,這些庫都實現(xiàn)了Appium對WebDriver協(xié)議的擴展。當使用Appium的時候,你只需使用這些庫代替常規(guī)的WebDriver庫就可以了。5.Appium.dmg,Appium.exe
提供了GUI封裝的Appium服務端下載,它封裝了運行Appium服務端的所有依賴,而不需要擔心怎樣安裝Node.js。其中還包括一個Inspector工具(MAC機上才能用),可以幫助你檢查應用的界面層級,這樣寫測試用例時更方便。AppiumiOS圖解當我們執(zhí)行測試用例的時候,它通過JSON傳遞數(shù)據(jù),再由http請求發(fā)送給AppiumServer。AppiumServer發(fā)送命令給AppleInstruments,然后Instruments去查找bootstrap.js(此文件是由APPIUMServer安裝到IOS設備中的)。然后這些命令在IOSInstruments環(huán)境下被bootstrap.js執(zhí)行。當執(zhí)行完命令以后,客戶端返回信息(包含信息的執(zhí)行命令的日志)給AppiumServer。
在IOS設備上,Appium使用蘋果的UIAutomationAPI去和UI元素去交互。UIAutomation是一個JS庫,它是由蘋果公司負責編寫的。Appium利用這些庫去自動化IOSAPP。在上述的圖中,我們可以看到UIAutomator/Selendroid代替了IOS的Instruments、Bootstrap.jar代替了bootstrap.js,其他的流程都是一致的。AppiumAndroid圖解APPIUM支持的Android版本需要API>=17,早期的版本,使用的是selendroid框架。當我們執(zhí)行測試用例的時候,APPIUM發(fā)送命令給UIAutomator或者Selendroid。這里的bootstrap.jar扮演的是一個TCPserver的角色,它可以發(fā)送命令去執(zhí)行測試。在測試androidapp的時候,appium使用UIAutomator框架去自動化測試APP。UIAutomator是安卓開發(fā)人員開發(fā)的一款可以測試androidui的測試框架。我們先看看appium測試androidapp的結(jié)構(gòu)圖.SeleniumJSON協(xié)議(JSONWP)是一個傳輸方法,它是由WebDriver開發(fā)者開發(fā)的,這個協(xié)議是一組特定的預定義和標準化的端點,它通過RESTfulAPI(接口測試相關)去展現(xiàn)。WebDriver和JSONWP的目的就是為了通過瀏覽器(chrome、firefox和IE)去測試web站點,APPIUM繼承了移動JSONWP協(xié)議,擴展了SeleniumJSON協(xié)議,它可以控制不同的移動設備的行為,比如通過session安裝和卸載APP。
Appium底層就是通過Session來傳遞信息的。SeleniumJSON協(xié)議硬件軟件軟件安裝軟件配置Android環(huán)境搭建硬件:·一臺windows7或者win10的PC機(64位操作系統(tǒng)或32位操作系統(tǒng));·內(nèi)存至少4G;·CPU需要支持虛擬化加速技術(很重要)。移動設備測試機:(最好使用移動設備,如果沒有也可以使用模擬器)軟件:1.安裝JDK,
1)下載地址:/technetwork/java/javase/downloads/index.html2)安裝
3)配置環(huán)境變量:
1、打開”開始->計算機->屬性->高級系統(tǒng)設置->環(huán)境變量“
2、設置環(huán)境變量(當前最新的是1.8.0_25),如下:
JAVA_HOMED:\Android\Java\jdk1.8.0_25 classpath.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; path%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;4)檢查JAVA環(huán)境是否配置好 進入CMD命令行,輸入java-version或javac-version,輸出版本號信息。2.安裝SDK,1)下載地址:/studio/index.html2)安裝
3)設置環(huán)境變量,如下:
ANDROID_HOME:D:\adt-bundle-mac-x86_64-20140702\sdk:,
path:D:\adt-bundle-mac-x86_64-20140702\sdk\tools;D:\adt-bundle-mac-x86_64-20140702\sdk\platform-tools
4)檢查是否安裝成功,運行
adb或者adbshell3.安裝Node.js(Appium是使用nodejs實現(xiàn)的,node是解釋器,首先需要確認安裝好。)1)下載地址:/en/download/ WINDOWS選擇‘WindowsInstaller(.msi)’,32位就下32bit,64就下64bit2)安裝
3)檢查安裝Nodejs是否成功:
CMD—->輸入node-v,可以看到版本號,說明成功了。4.安裝Python1)下載地址:/downloads/
我裝的是2.7版本
2)配置環(huán)境變量(一般也可以不配)如果想用pip.exe工具安裝軟件,需要配環(huán)境變量path==>d:\Python\Scripts3)檢查安裝Python是否成功:
cmd—>輸入python檢查是否安裝成功155.安裝Appium 1)下載地址:http://appium.io/2)安裝
3)配置環(huán)境變量:如果想通過命令行運行APPIUM,需要配置環(huán)境變量path(E:\Appium\node_modules\.bin)4)檢查安裝Appium是否成功:進入Cmd命令行,輸入appium-doctor,出現(xiàn)以下提示,AllChecksweresuccessful,說明環(huán)境成功。6.安裝Appium-Python-Client(是對webdriver原生api的一些擴展和封裝。它可以幫助我們更容易的寫出用例,寫出更好懂的用例)三種下載方式:
1.appium的python客戶端,進入cmd,輸入:pipinstallAppium-Python-Client
(pip工具在c:\Python\Scripts\pip.exe目錄下)
2.從git下載源碼包,下載地址:/appium/python-client
下載后解壓,在命令行中進入python-client-master目錄,該目錄下包含setup.py文件 進入后輸入pythonsetup.pyinstall命令安裝客戶端
3.下載tar.gz包,/pypi/Appium-Python-Client tar-xvfAppium-Python-Client-X.X.tar.gz cdAppium-Python-Client-X.X pythonsetup.pyinstall16Appium實例演示1.連接手機/模擬器2.開啟APPIUM服務后3.打開CMD窗口4.運行python腳本,例子:demo.py17#-*-coding:utf-8-*-fromappiumimportwebdriverfromtimeimportsleepdesired_caps={}desired_ca
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 感恩教育活動總結(jié)(15篇)
- 幼兒書籍的讀書心得
- 快遞公司實習心得
- 第四單元+提高創(chuàng)新思維能力+練習(B卷) 高中政治統(tǒng)編版選擇性必修三邏輯與思維
- 地球的自轉(zhuǎn)+訓練題 高二地理湘教版(2019)選擇性必修1
- 針灸聯(lián)合補陽還五湯加減治療頸腰椎病的臨床價值
- 心理拓展訓練心得體會(范文7篇)
- 初級會計實務-初級會計《初級會計實務》模擬試卷378
- 星載AIS系統(tǒng)解交織關鍵技術研究
- 2025版汽車修理廠租賃及維修服務一體化合同3篇
- 垃圾處理廠工程施工組織設計
- 天皰瘡患者護理
- 2023年四川省公務員錄用考試《行測》真題卷及答案解析
- 機電一體化系統(tǒng)設計-第5章-特性分析
- 2025年高考物理復習壓軸題:電磁感應綜合問題(原卷版)
- 雨棚鋼結(jié)構(gòu)施工組織設計正式版
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹臨風福滿門模板
- 《建筑制圖及陰影透視(第2版)》課件 4-直線的投影
- 2024年印度辣椒行業(yè)狀況及未來發(fā)展趨勢報告
- 2024-2030年中國IVD(體外診斷)測試行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 碎紙機設計說明書
評論
0/150
提交評論