? 我們知道拧抖,Appium 測試中有個很重要的組件是 Appium-Server穿挨,它主要用來監(jiān)聽我們的移動設(shè)備(真機(jī)或模擬器)荠卷,然后將不同編程語言比如Python編寫的 Appium測試腳本進(jìn)行解析豪筝,最后驅(qū)動移動設(shè)備來運(yùn)行測試愚墓。但是,2015 年12月8日些楣,Windows版本發(fā)布了AppiumForWindows_1_4_16_1.zip脂凶,之后Appium-Server沒有更新了。所以愁茁,新的工具 Appium Desktop出現(xiàn)了蚕钦, 它來繼續(xù) Appium Server的使命,進(jìn)行Appium 測試鹅很。當(dāng)然嘶居,你可以卸載之前安裝的 Appium Server了。
? 項(xiàng)目介紹:https://github.com/appium/appium-desktop
? Appium Desktop是一款適用于Mac促煮,Windows和Linux的應(yīng)用程序邮屁,它以美觀,靈活的UI為您提供Appium自動化服務(wù)器的強(qiáng)大功能污茵。此應(yīng)用程序提供了下載和運(yùn)行Appium自動化服務(wù)器的便捷方式樱报,以及用于檢查Android或iOS應(yīng)用程序的工具。
1泞当、下載成功之后,雙擊exe文件安裝Appium-windows民珍,安裝成功之后出現(xiàn)以下界面:
2襟士、雙擊圖標(biāo),啟動簡單模式:
3嚷量、點(diǎn)擊上面的啟動按鈕陋桂,它將在你指定的主機(jī)和端口上啟動服務(wù)器,并打開一個顯示服務(wù)器日志輸出的新窗口:
4蝶溶、新建會話窗口嗜历,它允許你構(gòu)建一組用于啟動Appium會話的Appium所需功能。你可以針對當(dāng)前運(yùn)行的Appium Desktop服務(wù)器啟動會話(默認(rèn)設(shè)置)抖所,也可以針對各種其他端點(diǎn)啟動會話梨州,自定義服務(wù)器:
5、Desired Capabilities田轧,配置Appium會話的方式暴匠,它告訴Appium服務(wù)器你想要自動化哪種平臺和應(yīng)用程序。單擊【另存為】按鈕可為你的Desired Capabilities設(shè)置一個名稱傻粘,進(jìn)行保存每窖。然后帮掉,你可以在【已保存的Desired Capabilities】選項(xiàng)卡下訪問它,以便以后進(jìn)行編輯或會話啟動窒典。單擊【啟動會話】可以啟動Appium Desktop Inspector蟆炊,Inspector可以直觀地顯示應(yīng)用程序的狀態(tài),以及通過Appium在應(yīng)用程序中執(zhí)行某些交互的能力:
參考文檔:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
6瀑志、啟動會話涩搓,打開Inspector,前提是你得先啟動你的設(shè)備(真機(jī)或者模擬器):
官網(wǎng)介紹備注:啟動Appium會話可能需要一些時間來加載后室,特別是在云服務(wù)上缩膝,所以請耐心等待。會話加載后岸霹,您應(yīng)用的屏幕截圖將顯示在左側(cè)疾层。您可以將鼠標(biāo)懸停在應(yīng)用程序中的各種UI元素上,并突出顯示它們贡避。在Inspector窗口的中間是您的應(yīng)用程序的層次結(jié)構(gòu)痛黎,表示為XML。您可以通過單擊它或單擊屏幕截圖視圖中的元素來導(dǎo)航此樹刮吧,然后會突出顯示它們湖饱。當(dāng)元素突出顯示時,其信息將顯示在Inspector右側(cè)的詳細(xì)視圖中杀捻。此詳細(xì)視圖包含對元素采取的潛在操作以及元素屬性的表井厌,這些屬性在確定如何使用特定的Appium定位器策略訪問元素時非常有用。選擇元素后致讥,您還可以【點(diǎn)擊】元素仅仆,或者【Send keys】到元素(如果它是文本字段)。當(dāng)您對元素執(zhí)行此類操作時垢袱,Inspector會將命令發(fā)送到Appium墓拜,后者將執(zhí)行它。如果操作成功请契,將生成新的屏幕截圖咳榜,您應(yīng)該會看到應(yīng)用程序的更新狀態(tài)和XML。如果不成功爽锥,您將有機(jī)會看到錯誤消息:
7涌韩、Inspector窗口的頂部包含一個小工具欄,其中的圖標(biāo)表示能夠在Inspector中執(zhí)行某些操作救恨,比如:
#Back返回——call driver.back
#Refresh刷新——刷新源碼和屏幕截圖
#Recorder開始錄制——打開錄像機(jī)
#Quit退出會話——調(diào)用driver.quit并關(guān)閉Inspector
8贸辈、Recorder是Appium Desktop帶的一個非常基本的動作錄制器,可以監(jiān)視使用Appium Desktop執(zhí)行的操作擎淤,并顯示代表這些操作的特定于語言和框架的代碼奢啥,然后可以將代碼復(fù)制并粘貼到相應(yīng)的Appium客戶端代碼中并用于測試。不過嘴拢,Recorder的目標(biāo)不是生成生產(chǎn)就緒的測試代碼桩盲,它只是一個幫助探索Appium API的工具,并演示某些自動化行為如何與特定語言和Appium庫中的方法調(diào)用相對應(yīng)席吴。Recorder開啟時赌结,Inspector將顯示另一個窗口:
? 一開始,Recorder將不顯示任何代碼孝冒。我們必須采取一些操作比如【1+1=】柬姚,例如可以在應(yīng)用程序中點(diǎn)擊各種UI元素,或者在層次結(jié)構(gòu)中庄涡,查找元素并【點(diǎn)擊】它量承,或向其【發(fā)送keys】。執(zhí)行【1+1=】操作時穴店,代碼將顯示在Recorder窗口中撕捍,你可以在Recorder右上角的下拉菜單中選擇特定的語言和框架:
? 而且,Recorder也提供樣本代碼泣洞,點(diǎn)擊以下按鈕就可以顯示:
? 我們可以選擇右上角的【復(fù)制】忧风,然后可以將代碼粘貼到Python文件中調(diào)試并運(yùn)行它:
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "6.0"
caps["deviceName"] = "Android6.0"
caps["appPackage"] = "com.android.calculator2"
caps["appActivity"] = "Calculator"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
el1 = driver.find_element_by_id("com.android.calculator2:id/digit_1")
el1.click()
el2 = driver.find_element_by_accessibility_id("plus")
el2.click()
el3 = driver.find_element_by_id("com.android.calculator2:id/digit_1")
el3.click()
el4 = driver.find_element_by_accessibility_id("equals")
el4.click()
driver.quit()
?? 最終我們可以看到,模擬器點(diǎn)擊了1+1=2球凰,然后退出:
9狮腿、官方結(jié)論:This is everything you need to know to use Appium Desktop successfully!Remember, Appium Desktop is not a replacement for understanding Appiumitself---it is simply a convenient tool for working with Appium on yourdesktop, and an Inspector for exploring your app. Have fun!
意思就是:這是你成功使用Appium Desktop所需了解的一切!請記住呕诉,Appium Desktop不是了解Appium本身的替代品 - 它只是在桌面上使用Appium的便捷工具蚤霞,也是用于探索應(yīng)用程序的Inspector。玩得開心义钉!