什么網(wǎng)站可以自己做房子設(shè)計(jì)圖搜索關(guān)鍵詞排名
下載及安裝
下載地址:
github.com/appium/appi…
下載對(duì)應(yīng)系統(tǒng)的 Appium 版本,安裝完成之后,點(diǎn)擊 “Start Server”,就啟動(dòng)了 Appium Server。
在啟動(dòng)成功頁(yè)面點(diǎn)擊右上角的放大鏡,進(jìn)入到創(chuàng)建 Session 頁(yè)面。配置好 desirecapability 信息之后,點(diǎn)擊“Start Session”啟動(dòng)會(huì)話就展示出下面的頁(yè)面。Appium Inspector 元素定位頁(yè)面:
左側(cè)為屏幕快照:可以在左側(cè)使用鼠標(biāo)選擇 UI 元素,會(huì)看到它們高亮顯示。
中間為頁(yè)面 DOM 樹(shù)結(jié)構(gòu):在應(yīng)用層次結(jié)構(gòu)中會(huì)直接將元素的屬性值標(biāo)記在樹(shù)上,這對(duì)于 Appium 定位元素很方便。
右側(cè)為元素的詳細(xì)信息:當(dāng)元素被選中,右側(cè)會(huì)展示出元素的詳細(xì)屬性信息列表。這些屬性將決定 Appium 定位元素的策略。
另外 Appium Inspector 還提供了頁(yè)面刷新,頁(yè)面操作,錄制,元素的點(diǎn)擊、輸入等功能。
Appium自動(dòng)化用例錄制
Appium Inspect 提供了定位元素與錄制用例的功能,使用 Appium Inspect 可以查看移動(dòng)設(shè)備的 UI 布局結(jié)構(gòu),方便腳本的編寫(xiě)和生成。下面以 Android 系統(tǒng)為例。在 Android 模擬器上安裝 ApiDemos-debug.apk 應(yīng)用。
測(cè)試應(yīng)用下載地址:
github.com/appium/samp…
下載該 apk 并安裝到測(cè)試設(shè)備,之后會(huì)基于該 app 進(jìn)行自動(dòng)化測(cè)試。
在錄制腳本前啟動(dòng)測(cè)試設(shè)備,并且通過(guò)命令行查看該設(shè)備已連接成功。使用下面的命令查看設(shè)備是否連接,展示出下面的內(nèi)容,即說(shuō)明設(shè)備已連接。
$ adb devices List of devices attached emulator-5554 device
上面的結(jié)果中,“emulator-5554” 代表設(shè)備的名稱,“device” 代表設(shè)備的狀態(tài),說(shuō)明設(shè)備已連接。如果是其它狀態(tài),需要重新連接設(shè)備,或者在設(shè)備上檢查是否開(kāi)啟開(kāi)發(fā)者模式,以及打開(kāi) USB 調(diào)試模式。
獲取應(yīng)用包名和頁(yè)面名稱
移動(dòng)端的包名(也就是 Package)作為每個(gè) app 的唯一標(biāo)識(shí),每個(gè) APP 都有自己的 Package Name,且每個(gè)設(shè)備上相同的包名的 APP,只允許安裝一個(gè)。
頁(yè)面(也就是 Activity)是 Android 組件中最基本,也是常見(jiàn)的四大組件之一,可以理解為一個(gè)頁(yè)面就是一個(gè) Activity,移動(dòng)端打開(kāi)一個(gè) app 的頁(yè)面,在操作頁(yè)面的時(shí)候會(huì)發(fā)生頁(yè)面的跳轉(zhuǎn),也就是 Activity 之間發(fā)生了切換。在編寫(xiě)測(cè)試腳本之前,首先要獲取應(yīng)用的包名以及啟動(dòng)頁(yè)的 Activity 名字。
獲取包名,終端進(jìn)入 aapt 工具所在目錄(Android SDK 的 build-tools 目錄下),輸入:
aapt dump badging [app名稱].apk
運(yùn)行結(jié)果:
圖中“package:name”對(duì)應(yīng)的結(jié)果是包名,“Lauchable-activity:name”對(duì)應(yīng)的結(jié)果是“包名+頁(yè)面名”。但是有些不符合規(guī)范的應(yīng)用,通過(guò) aapt 命令無(wú)法獲取到 “Lauchable-activity:name” 這部分內(nèi)容。
針對(duì)上面的問(wèn)題,就需要在測(cè)試設(shè)備上啟動(dòng) APP,然后在終端輸入如下命令(Mac OS / Linux 系統(tǒng)):
adb logcat | grep ActivityManager
運(yùn)行結(jié)果如下圖:
Appium-desktop自動(dòng)化用例錄制
1. 啟動(dòng) Appium Server
使用 Appium Inspector 錄制測(cè)試腳本,首先需要啟動(dòng) Appium-desktop,點(diǎn)擊“Start Server”,如下圖:
2. 打開(kāi) Appium Inspect 工具
點(diǎn)擊右上角“Start inspector Session”按鈕,打開(kāi) inspector 工具,圖形頁(yè)面如下:
Inspector 就是探測(cè)器,給它相應(yīng)的參數(shù),啟動(dòng) app 幫你分析移動(dòng)端 APP 的 UI 界面,還可以使用它錄制腳本,支持導(dǎo)出多種語(yǔ)言的測(cè)試腳本。
3. 配置 Desired Capabilities 信息
-
platfromName:使用哪個(gè)移動(dòng)操作系統(tǒng)平臺(tái),這里可以填 Android、iOS
-
deviceName:設(shè)備名稱,可以隨便填,但必須得有此項(xiàng)
-
appPackage:要啟動(dòng)的 android 應(yīng)用程序包(“io.appium.android.apis”)
-
appActivity:App 啟動(dòng)的首頁(yè) Activity(“.ApiDemos”或者“io.appium.android.apis/.ApiDemos”)
4. 啟動(dòng) Session
點(diǎn)擊 “Start Session”,錄制腳本。
對(duì)于 Appium 的初學(xué)者,可以通過(guò)錄制功能,了解編寫(xiě)用例的時(shí)候需要使用哪些 API,有哪些編寫(xiě)規(guī)范等,可以作為一個(gè)很好的參考。
點(diǎn)擊“開(kāi)始錄制”按鈕(小眼睛圖標(biāo)):
左側(cè)選擇要操作的頁(yè)面元素,在右側(cè)選擇要做的操作:
Tap 為點(diǎn)擊元素 Send keys 為文本框錄入 Clear 為清空文本框
利用上圖 1,2 步組合,就可以實(shí)現(xiàn)對(duì) app 的操作。比如在截取的頁(yè)面中鼠標(biāo)點(diǎn)擊“Views”->點(diǎn)擊 Tap,再點(diǎn)擊“Buttons”->點(diǎn)擊 Tap。每操作一步,都會(huì)自動(dòng)生成腳本,如圖:
默認(rèn)生成的語(yǔ)言為 Java-unit,如果想生成其他語(yǔ)言,只要點(diǎn)擊下拉欄選擇相應(yīng)選項(xiàng)即可,這里切換成 Python 語(yǔ)言。
把代碼復(fù)制粘貼到編輯器中,就可以運(yùn)行。代碼如下:
from appium import webdrivercaps = {}
caps["platformName"] = "android"
caps["deviceName"] = "demo"
caps["appPackage"] = "io.appium.android.apis"
caps["appActivity"] = ".ApiDemos"
caps["autoGrantPermissions"] = "true"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)el2 = driver.find_element_by_id("tv.danmaku.bili:id/expand_search")
el2.click()
el3 = driver.find_element_by_accessibility_id("搜索查詢")
el3.send_keys("霍格沃茲測(cè)試學(xué)院")
driver.quit()
上面是錄制出來(lái)的代碼,錄制生成的代碼需要手動(dòng)優(yōu)化,添加需要的單元測(cè)試框架(比如 Pytest,Unittest)使代碼更優(yōu)雅。代碼錄制對(duì)剛?cè)腴T的人來(lái)說(shuō)還是比較實(shí)用的,它的缺點(diǎn)也是很明顯:
-
所有的代碼都會(huì)在一個(gè)文件里,顯得代碼非常的冗余
-
不能解決工作中大部分的場(chǎng)景
行動(dòng)吧,在路上總比一直觀望的要好,未來(lái)的你肯定會(huì)感 謝現(xiàn)在拼搏的自己!如果想學(xué)習(xí)提升找不到資料,沒(méi)人答疑解惑時(shí),請(qǐng)及時(shí)加入扣群: 320231853,里面有各種軟件測(cè)試+開(kāi)發(fā)資料和技術(shù)可以一起交流學(xué)習(xí)哦。
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!