Appium Desktop

前言:本篇文章并非我的原創(chuàng)礼搁,而是翻譯自英文原著钓猬。這里的每一句話我都仔細(xì)揣摩過(guò)并且加以實(shí)踐普舆,著實(shí)花了一些時(shí)間誊锭,在此記錄只是想幫助更多的人表悬。以下為正文:

Appium Desktop是一款用于Mac、Windows和Linux的開源應(yīng)用丧靡,它提供了Appium自動(dòng)化服務(wù)器在一個(gè)漂亮靈活的UI中的強(qiáng)大功能蟆沫。它是一些與appium相關(guān)的工具的組合:

1、Appium服務(wù)器的圖形界面温治。您可以設(shè)置選項(xiàng)饭庞、啟動(dòng)/停止服務(wù)器、查看日志等…您也不需要使用Node / NPM安裝Appium熬荆,因?yàn)楣?jié)點(diǎn)運(yùn)行時(shí)將與Appium Desktop綁定舟山。

2、您可以使用Inspector來(lái)查看應(yīng)用程序的元素卤恳,了解它們的基本信息累盗,并與它們進(jìn)行基本的交互。這是一種學(xué)習(xí)Appium的方法突琳,或者是了解你的應(yīng)用程序的一種方法若债,這樣你就可以為它編寫測(cè)試用例了。

Download Appium Desktop

你總是可以在GitHub上的發(fā)布頁(yè)面上找到最新版本:https://github.com/appium/appium-desktop/releases拆融。

如果你在Windows或macOS上蠢琳,Appium Desktop將自動(dòng)為你提供最新版本的應(yīng)用程序。如果你遇到問(wèn)題更新镜豹,只需刪除或卸載應(yīng)用程序挪凑,并從上面的鏈接重新下載。

注意逛艰,Appium Desktop與Appium不一樣躏碳。Appium Desktop是一個(gè)圖形界面,使用附加的工具。Appium Desktop是在自己的cadence上發(fā)布的菇绵,它有自己的版本控制系統(tǒng)肄渗。如果你報(bào)告的是Appium Desktop的問(wèn)題,一定要包括Appium Desktop的版本和使用的Appium服務(wù)器的版本(見(jiàn)下文)咬最。

如果你在macOS上翎嫡,你需要安裝Appium Desktop,從下載的DMG文件拷貝到你自己的文件系統(tǒng)(最好的地方是“應(yīng)用程序”文件夾)永乌。在附加的DMG本身上運(yùn)行Appium不受支持惑申,也不會(huì)起作用。


使用說(shuō)明

這些說(shuō)明假定您已經(jīng)熟悉Appium和Appium相關(guān)的概念翅雏。如果您對(duì)Appium所知甚少圈驼,請(qǐng)?jiān)L問(wèn)appium.io/,閱讀介紹性材料望几。

這個(gè)App提供了一個(gè)方便的方法下載和運(yùn)行Appium自動(dòng)化服務(wù)器绩脆,以及一個(gè)檢查你的Android或iOS應(yīng)用程序的工具。它的各種功能在以下小節(jié)中描述橄抹。

服務(wù)器啟動(dòng)窗口

開始一個(gè)簡(jiǎn)單的服務(wù)器(Simple)

當(dāng)您打開Appium Desktop時(shí)靴迫,您會(huì)受到服務(wù)器啟動(dòng)窗口的歡迎÷ナ模基本選項(xiàng)是啟動(dòng)一個(gè)帶有所有默認(rèn)值的Appium服務(wù)器玉锌,以及修改主機(jī)和端口的能力。start按鈕還將讓您知道您正在運(yùn)行的Appium服務(wù)器的哪個(gè)版本疟羹,當(dāng)向Appium團(tuán)隊(duì)報(bào)告問(wèn)題時(shí)芬沉,它是有用的。


使用“高級(jí)選項(xiàng)”啟動(dòng)服務(wù)器(Advance)

通過(guò)單擊“高級(jí)”選項(xiàng)卡阁猜,您可以設(shè)置Appium中可用的所有服務(wù)器標(biāo)志丸逸。這是針對(duì)高級(jí)用戶的,應(yīng)該在咨詢了Appium文檔之后進(jìn)行修改剃袍。


服務(wù)器預(yù)設(shè)(Presets)

如果您使用高級(jí)服務(wù)器選項(xiàng)黄刚,您就可以保存配置以備以后使用。只需將preset保存在“Advanced”選項(xiàng)卡上民效,然后您將能夠在“preset”選項(xiàng)卡中回憶并啟動(dòng)服務(wù)器憔维。


服務(wù)器控制臺(tái)輸出窗口

(如果你通過(guò)上面所說(shuō)的方式)啟動(dòng)服務(wù)器后,它將在指定的主機(jī)和端口上啟動(dòng)畏邢,并打開顯示服務(wù)器日志輸出的新窗口业扒。

這是相當(dāng)簡(jiǎn)單的,除了使用按鈕來(lái)停止服務(wù)器之外舒萎,沒(méi)有任何實(shí)際的交互程储。您還可以從這個(gè)窗口復(fù)制并粘貼日志,這在報(bào)告Appium問(wèn)題時(shí)非常有用。

另一個(gè)按鈕可用:“啟動(dòng)新會(huì)話”章鲤。單擊它將打開新的會(huì)話窗口摊灭,使您可以在當(dāng)前運(yùn)行的服務(wù)器上啟動(dòng)一個(gè)檢查器會(huì)話。


新會(huì)話窗口(Start New Session )

新的會(huì)話窗口允許您構(gòu)造一組desired capabilities败徊,用于啟動(dòng)Appium會(huì)話帚呼。您可以針對(duì)當(dāng)前運(yùn)行的Appium Desktop服務(wù)器(默認(rèn)的)啟動(dòng)一個(gè)會(huì)話,或者您可以針對(duì)各種其他端點(diǎn)啟動(dòng)一個(gè)會(huì)話皱蹦。

由于不需要使用Appium Desktop自己的服務(wù)器煤杀,您可以在不啟動(dòng)Appium Desktop服務(wù)器的情況下進(jìn)入新的會(huì)話窗口。只需點(diǎn)擊“File”(Windows / Linux)或“Appium”(Mac)沪哺,然后選擇“New Session…”沈自,它將打開新的會(huì)話窗口,而不必啟動(dòng)本地服務(wù)器凤粗。在這種情況下,將禁用附加到本地服務(wù)器今豆。


Appium端點(diǎn)(Appium Endpoints)

以下是針對(duì)非本地Appium服務(wù)器啟動(dòng)會(huì)話的選項(xiàng):

自定義主機(jī)/端口配置:如果您想要在您的網(wǎng)絡(luò)中的另一臺(tái)機(jī)器上運(yùn)行一個(gè)Appium服務(wù)器嫌拣,這是非常有用的。

Sauce實(shí)驗(yàn)室:如果你無(wú)法訪問(wèn)你的機(jī)器上的iOS模擬器呆躲,你可以利用你的Sauce實(shí)驗(yàn)室?guī)粼谠浦袉?dòng)一個(gè)Appium會(huì)話异逐。

TestObject:您還可以使用TestObject的真實(shí)設(shè)備云來(lái)進(jìn)行真正的基于設(shè)備的檢查。

要設(shè)置這些選項(xiàng)插掂,應(yīng)該很簡(jiǎn)單灰瞻。只需在輸入字段中輸入您的詳細(xì)信息。


所需的功能(Desired Capabilities)

Desired capabilities是如何配置Appium會(huì)話辅甥。他們告訴Appium服務(wù)器你想要自動(dòng)化的平臺(tái)和應(yīng)用程序酝润。如果您不熟悉Desired capabilities的概念,或者需要具備各種類型的Appium會(huì)話Desired capabilities璃弄,您應(yīng)該咨詢Appium文檔要销。

Appium Desktop不限制您以任何方式創(chuàng)建desired capabilities,也不會(huì)為您驗(yàn)證它們夏块。它只是提供了一個(gè)很好的UI來(lái)輸入它們疏咐,并保存它們供以后使用。在“desired capabilities”選項(xiàng)卡下脐供,您可以使用表單字段和“+”按鈕來(lái)輸入許多你需要的desired capabilities浑塞。您還將看到產(chǎn)生的JSON的表示,這是實(shí)際發(fā)送給Appium服務(wù)器的內(nèi)容政己。這對(duì)于驗(yàn)證您的capabilities酌壕,或者在報(bào)告問(wèn)題時(shí)進(jìn)行復(fù)制粘貼非常有用。

一旦您設(shè)置了desired capabilities,您可能希望保存它們仅孩,以便以后可以運(yùn)行相同類型的會(huì)話托猩。只需單擊“Save As...”“給你的capability設(shè)定一個(gè)名字的按鈕×赡剑”然后您可以在“Saved Capability Sets”選項(xiàng)卡下訪問(wèn)它京腥,以便以后編輯或會(huì)話啟動(dòng)。

設(shè)置好服務(wù)器type和capabilities后溅蛉,單擊“Start Session”啟動(dòng)Appium Desktop Inspector(Appium Desktop檢查器)公浪。


附加到一個(gè)現(xiàn)有的會(huì)話(Attach to an Existing Session)

如果你點(diǎn)擊“Attach to Session...”選項(xiàng)卡,您可以從當(dāng)前正在運(yùn)行的會(huì)話列表中選擇一個(gè)當(dāng)前會(huì)話船侧,或者您可以輸入一個(gè)當(dāng)前運(yùn)行會(huì)話的會(huì)話ID欠气。該會(huì)話應(yīng)該在上述服務(wù)器類型部分中指定的服務(wù)器細(xì)節(jié)上運(yùn)行。附加到現(xiàn)有會(huì)話是可能的镜撩,因?yàn)闄z查器只是一個(gè)Appium客戶端预柒。如果您想調(diào)試正在運(yùn)行的測(cè)試的中間,這將非常有用袁梗。當(dāng)您退出現(xiàn)有會(huì)話的Inspector窗口時(shí)宜鸯,Appium Desktop不會(huì)像往常一樣退出會(huì)話。


The Inspector

?Inspector是應(yīng)用程序狀態(tài)的可視化表示遮怜,以及通過(guò)Appium在應(yīng)用程序中執(zhí)行某些交互的能力淋袖。

Appium會(huì)話可能需要一些時(shí)間來(lái)加載,尤其是在云服務(wù)上锯梁,所以請(qǐng)耐心等待即碗。當(dāng)會(huì)話加載時(shí),您的應(yīng)用程序的屏幕截圖將出現(xiàn)在左邊陌凳。您可以在應(yīng)用程序中使用鼠標(biāo)來(lái)處理各種UI元素剥懒,并看到它們突出顯示。

在Inspector窗口的中間是您的應(yīng)用程序的層次結(jié)構(gòu)合敦,表示為XML蕊肥。您可以通過(guò)單擊它,或者通過(guò)點(diǎn)擊屏幕快照視圖中的元素來(lái)導(dǎo)航這棵樹蛤肌。然后他們將被強(qiáng)調(diào)壁却。

當(dāng)一個(gè)元素被突出顯示時(shí),它的信息會(huì)出現(xiàn)在檢查器右側(cè)的細(xì)節(jié)視圖中裸准。這個(gè)細(xì)節(jié)視圖包括對(duì)元素的潛在操作展东,以及元素屬性的表。這些屬性在決定如何使用特定的Appium定位策略訪問(wèn)元素時(shí)是有價(jià)值的炒俱。選擇一個(gè)元素盐肃,您還可以“Tap”元素爪膊,或者“發(fā)送鍵”到元素(如果它是一個(gè)文本字段)。

當(dāng)您使用一個(gè)元素執(zhí)行這樣的操作時(shí)砸王,檢查器將發(fā)送命令到Appium推盛,它將執(zhí)行它。如果操作成功谦铃,將生成一個(gè)新的屏幕截圖耘成,您將看到應(yīng)用程序的更新?tīng)顟B(tài)和XML。如果不成功驹闰,您將有機(jī)會(huì)看到錯(cuò)誤消息瘪菌。


檢查器窗口的頂部包含一個(gè)小工具欄,上面有代表在檢查器中采取某些動(dòng)作的能力的圖標(biāo):

(調(diào)用driver.back)

刷新(刷新源和屏幕截圖)

開始錄音(打開錄音機(jī)嘹朗,查看下一節(jié)师妙,了解更多關(guān)于錄音機(jī)的信息)

退出會(huì)話(調(diào)用驅(qū)動(dòng)程序)。退出并關(guān)閉檢查器(Inspector))


記錄器(The Recorder)

Appium Desktop有一個(gè)非骋倥啵基本的動(dòng)作記錄器默穴,它監(jiān)視使用Appium Desktop的操作,并顯示特定于語(yǔ)言和框架的代碼褪秀,這些代碼代表這些動(dòng)作蓄诽。然后,代碼可以復(fù)制粘貼到適當(dāng)?shù)腁ppium客戶機(jī)代碼中溜歪,并用于測(cè)試若专。

NB:記錄器的目標(biāo)不是產(chǎn)生生產(chǎn)就緒的測(cè)試代碼许蓖。它被設(shè)計(jì)為幫助探索Appium API的工具蝴猪,并演示特定語(yǔ)言和Appium庫(kù)中特定的自動(dòng)化行為如何與方法調(diào)用相對(duì)應(yīng)〔沧Γ總之自阱,它是一個(gè)學(xué)習(xí)工具,而不是一個(gè)健壯的代碼生成特性米酬,應(yīng)該這樣使用沛豌。

當(dāng)您開始記錄時(shí),Inspector(檢查器)將顯示一個(gè)額外的窗口:

起初赃额,記錄器沒(méi)有顯示任何代碼加派。首先需要采取一些行動(dòng),比如在層次結(jié)構(gòu)中找到一個(gè)元素跳芳,然后點(diǎn)擊它芍锦,或者向它發(fā)送擊鍵。當(dāng)你這樣做的時(shí)候飞盆,代碼會(huì)出現(xiàn)在記錄窗口中娄琉,對(duì)應(yīng)于你所選擇的特定語(yǔ)言和框架(可以在錄音機(jī)的右上角的下拉菜單中調(diào)整):

可以使用記錄器窗格右上方的適當(dāng)按鈕將此代碼復(fù)制到剪貼板次乓。注意,默認(rèn)情況下孽水,所顯示的只是與您在記錄時(shí)所采取的特定操作相對(duì)應(yīng)的代碼行——一般情況下票腰,您不能將這些行粘貼到一個(gè)空文本文件中并運(yùn)行代碼。要在代碼中運(yùn)行Appium測(cè)試腳本女气,需要安裝各種依賴關(guān)系(如Appium客戶程序庫(kù))杏慰,以及腳本樣板文件(如實(shí)例化一個(gè)驅(qū)動(dòng)程序和初始化會(huì)話)。要顯示此額外的代碼主卫,您可以單擊“show Boilerplate”按鈕逃默。通過(guò)顯示的樣板代碼,可以將代碼復(fù)制并粘貼到新文件中并運(yùn)行它簇搅。

隨著我們向Appium桌面添加更多的語(yǔ)言完域、框架和操作,記錄器的力量將繼續(xù)增長(zhǎng)瘩将。


Conclusion

這是你成功使用Appium Desktop所需要知道的所有知識(shí)!記住吟税,Appium Desktop并不是理解Appium本身的替代品——它只是一個(gè)方便的工具,可以在你的桌面上使用Appium姿现,以及一個(gè)檢查你應(yīng)用程序的檢查器肠仪。


Reporting Issues and Requesting Features

Appium Desktop是開源的,我們使用GitHub來(lái)跟蹤問(wèn)題备典。請(qǐng)簡(jiǎn)單地在我們的問(wèn)題跟蹤器報(bào)告問(wèn)題异旧。我們將努力確定您所報(bào)告的問(wèn)題是否與Appium Desktop或Appium服務(wù)器有關(guān)。如果它與Appium Desktop無(wú)關(guān)提佣,我們將關(guān)閉這個(gè)問(wèn)題吮蛹,并要求您在Appium的主要問(wèn)題跟蹤器中打開一個(gè)通用的Appium問(wèn)題。請(qǐng)注意拌屏,在你所經(jīng)歷的問(wèn)題是否與Appium Desktop有關(guān)潮针,或者是一個(gè)一般性的Appium問(wèn)題的時(shí)候,可以節(jié)省自己和我們的寶貴時(shí)間倚喂。您可以通過(guò)查看這個(gè)問(wèn)題是否與Appium命令行服務(wù)器進(jìn)行重新生成每篷。如果是的話,直接向Appium的問(wèn)題追蹤報(bào)告端圈。

有特性請(qǐng)求嗎?遵循相同的過(guò)程焦读,向適當(dāng)?shù)母櫰魈峤灰粋€(gè)問(wèn)題!(如果這個(gè)請(qǐng)求是專門用于Appium Desktop的,或者Appium的主跟蹤程序舱权,如果請(qǐng)求是更一般的應(yīng)用程序矗晃,則在這個(gè)repo中。)

Advanced Topics and Troubleshooting

Appium can't detect environment variables on Mac

Appium使用像ANDROID_HOME這樣的環(huán)境變量刑巧,并依賴于路徑中的各種二進(jìn)制文件等等喧兄。當(dāng)您在一個(gè)環(huán)境中從命令行運(yùn)行時(shí)无畔,您已經(jīng)適當(dāng)?shù)卦O(shè)置了這些變量,Appium在選擇它們時(shí)沒(méi)有任何問(wèn)題吠冤。然而浑彰,Appium Desktop不會(huì)在shell或命令行環(huán)境中運(yùn)行,因此默認(rèn)情況下拯辙,它無(wú)法訪問(wèn)您在shell啟動(dòng)腳本或概要文件中設(shè)置的環(huán)境變量郭变。為了解決這個(gè)問(wèn)題,我們使用shell - env包來(lái)獲取shell中定義的環(huán)境變量涯保。這個(gè)包只在某些常見(jiàn)的init腳本中查找诉濒,但是,比如~ /.bashrc,(~ /.bash_profile夕春、~ / . zshrc未荒。如果您以其他方式設(shè)置Appium環(huán)境變量,則需要?jiǎng)?chuàng)建這些默認(rèn)的init腳本中的一個(gè)及志,并將環(huán)境變量設(shè)置在那里片排,以便Appium Desktop能夠成功地將它們提取出來(lái)。

關(guān)于在只讀文件系統(tǒng)上的警告

這可能意味著您試圖從下載的磁盤映像中啟動(dòng)Appium Desktop(.dmg文件)速侈。這不是運(yùn)行Appium Desktop的支持模式率寡。要正確安裝Appium Desktop,將應(yīng)用程序從磁盤映像復(fù)制到您的本地文件系統(tǒng)倚搬,到類似/應(yīng)用程序冶共。然后,從新的位置運(yùn)行應(yīng)用程序每界。

文章來(lái)自github:github.com/appium/appium-desktop

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捅僵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盆犁,更是在濱河造成了極大的恐慌命咐,老刑警劉巖篡九,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谐岁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡榛臼,警方通過(guò)查閱死者的電腦和手機(jī)伊佃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沛善,“玉大人航揉,你說(shuō)我怎么就攤上這事〗鸬螅” “怎么了帅涂?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵议薪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我媳友,道長(zhǎng)斯议,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任醇锚,我火速辦了婚禮哼御,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焊唬。我一直安慰自己恋昼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布赶促。 她就那樣靜靜地躺著液肌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸥滨。 梳的紋絲不亂的頭發(fā)上矩屁,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音爵赵,去河邊找鬼吝秕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛空幻,可吹牛的內(nèi)容都是我干的烁峭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秕铛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼约郁!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起但两,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鬓梅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后谨湘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绽快,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年紧阔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坊罢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡擅耽,死狀恐怖活孩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乖仇,我是刑警寧澤憾儒,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布询兴,位于F島的核電站,受9級(jí)特大地震影響起趾,放射性物質(zhì)發(fā)生泄漏蕉朵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一阳掐、第九天 我趴在偏房一處隱蔽的房頂上張望始衅。 院中可真熱鬧,春花似錦缭保、人聲如沸汛闸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诸老。三九已至,卻和暖如春钳恕,著一層夾襖步出監(jiān)牢的瞬間别伏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工忧额, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留厘肮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓睦番,卻偏偏與公主長(zhǎng)得像类茂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子托嚣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

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