鴻蒙OS AbilityDelegation

2020-09-21 14:27 更新

應(yīng)用程序的測(cè)試實(shí)用程序類。

此類提供了用于獲取應(yīng)用程序內(nèi)部對(duì)象的方法,并且可以操作這些對(duì)象。例如,它可以控制 Ability 的生命周期調(diào)度,控制 AbilitySlice 的轉(zhuǎn)換和返回以及向 UI 發(fā)送指定的輸入事件。

您可以基于該類實(shí)現(xiàn)自己的測(cè)試類。您的測(cè)試類必須繼承 AbilityTestCase 類,并且與要測(cè)試的應(yīng)用程序處于同一過(guò)程中。AbilityDelegation 充當(dāng)觀察者,以監(jiān)視應(yīng)用程序的運(yùn)行狀態(tài)。它還可以控制應(yīng)用程序的行為以模擬用戶行為以進(jìn)行測(cè)試。

領(lǐng)域摘要

修飾符和類型 領(lǐng)域 描述
靜態(tài)整數(shù) 活性 定義活動(dòng)生命周期狀態(tài)。
靜態(tài)整數(shù) 背景 定義背景生命周期狀態(tài)。
靜態(tài)整數(shù) 不活躍 定義非活動(dòng)生命周期狀態(tài)。
靜態(tài)整數(shù) 初始 定義INITIAL生命周期狀態(tài)。
靜態(tài)字符串 LIB_PATH 定義包含測(cè)試用例資源的JAR包的絕對(duì)路徑。
靜態(tài)字符串 RUN_TEST 定義用于啟動(dòng)測(cè)試用例的類,該類在啟動(dòng) Ability 時(shí)由 Intent 傳遞。
靜態(tài)整數(shù) 未定義 定義未定義的生命周期狀態(tài)。

構(gòu)造器摘要

建設(shè)者 描述
AbilityDelegation()

方法總結(jié)

修飾符和類型 方法 描述
abstract void doAbilityActive() 將能力的生命周期狀態(tài)從不活動(dòng)更改為活動(dòng)。
abstract void doAbilityBackground() 將能力的生命周期狀態(tài)從不活動(dòng)更改為背景。
abstract void doAbilityForeground意圖意圖) 將能力的生命周期狀態(tài)從背景更改為不活動(dòng)。
abstract void doAbilityInactive() 將能力的生命周期狀態(tài)從活動(dòng)更改為不活動(dòng)。
abstract void doAbilitySliceActive() 將能力切片的生命周期狀態(tài)從不活動(dòng)更改為活動(dòng)。
abstract void doAbilitySliceBackground() 將能力切片的生命周期狀態(tài)從不活動(dòng)更改為背景。
abstract void doAbilitySliceForeground意圖意圖) 將能力切片的生命周期狀態(tài)從“背景”更改為“不活動(dòng)”。
abstract void doAbilitySliceInactive() 將能力切片的生命周期狀態(tài)從“活動(dòng)”更改為“不活動(dòng)”。
abstract void doAbilitySliceStart意圖意圖) 將能力切片的生命周期狀態(tài)從 INITIAL 更改為 INACTIVE。
abstract void doAbilitySliceStop() 將能力切片的生命周期狀態(tài)從背景更改為初始。
abstract void doAbilityStart意圖意圖) 將能力的生命周期狀態(tài)從初始更改為不活動(dòng)。
abstract void doAbilityStop() 將能力的生命周期狀態(tài)從背景更改為初始。
抽象能力 getAbility() 在當(dāng)前進(jìn)程中獲得前臺(tái)的功能。
抽象能力信息 getAbilityInfo() 獲取一個(gè)功能的內(nèi)部 AbilityInfo 對(duì)象。
抽象列表 < AbilitySlice > getAbilitySlice字符串名稱) 從當(dāng)前能力中獲得具有給定名稱的能力切片。
抽象整數(shù) getAbilitySliceStateAbilitySlice targetSlice) 獲取能力切片的生命周期狀態(tài)。
抽象整數(shù) getAbilityState() 獲得能力的生命周期狀態(tài)。
抽象列表 < AbilitySlice > getAllAbilitySlice() 獲取當(dāng)前能力中包含的所有能力切片。
抽象AbilitySlice getCurrentAbilitySlice() 在當(dāng)前能力中獲得前景能力切片。
抽象能力 getCurrentTopAbility() 返回此應(yīng)用程序的頂級(jí)功能
抽象意圖 getIntent() 獲取包含有關(guān)當(dāng)前功能的啟動(dòng)信息的 Intent 對(duì)象。
abstract void 輸出字符串msg) 打印出測(cè)試用例執(zhí)行的詳細(xì)信息。
abstract void runOnUIThreadSyncRunnable的任務(wù)) 在 UI 線程上執(zhí)行同步任務(wù)。
抽象布爾 triggerClickEvent組件視圖) 觸發(fā)單擊事件,并將其發(fā)送到指定的 UI 組件以模擬用戶輸入。
抽象布爾 triggerKeyEventKeyEvent 鍵) 觸發(fā)按鍵事件并將其發(fā)送到前臺(tái)功能。
抽象布爾 triggerTouchEventTouchEvent touchEvent) 觸發(fā)觸摸事件并將其發(fā)送到前臺(tái)功能。
從類 java.lang 繼承的方法。目的
clone,equals,finalize,getClasshashCode,notifynotifyAll,toString,wait,wait,wait

領(lǐng)域細(xì)節(jié)

活性

public static final int 活動(dòng)

定義活動(dòng)生命周期狀態(tài)。

也可以看看:

常數(shù)欄位值

背景

公共靜態(tài)最終int背景

定義背景生命周期狀態(tài)。

也可以看看:

常數(shù)欄位值

不活躍

公共靜態(tài)最終詮釋 INACTIVE

定義非活動(dòng)生命周期狀態(tài)。

也可以看看:

常數(shù)欄位值

初始

公共靜態(tài)最終詮釋 INITIAL

定義 INITIAL 生命周期狀態(tài)。

也可以看看:

常數(shù)欄位值

LIB_PATH

公共靜態(tài)最終字符串 LIB_PATH

定義包含測(cè)試用例資源的JAR包的絕對(duì)路徑。當(dāng)能力開始時(shí),路徑由意圖傳遞 。

也可以看看:

常數(shù)欄位值

RUN_TEST

公共靜態(tài)最終字符串 RUN_TEST

定義用于啟動(dòng)測(cè)試用例的類,該類在啟動(dòng) Ability 時(shí)由 Intent 傳遞 。

也可以看看:

常數(shù)欄位值

未定義

public static final int 未定義

定義未定義的生命周期狀態(tài)。

也可以看看:

常數(shù)欄位值

構(gòu)造器詳細(xì)信息

能力委托

公共能力委托()

方法細(xì)節(jié)

runOnUIThreadSync

公共抽象無(wú)效 runOnUIThreadSync(Runnable的任務(wù))

在 UI 線程上執(zhí)行同步任務(wù)。

應(yīng)該調(diào)用此方法來(lái)執(zhí)行必須在 UI 線程上執(zhí)行的操作,例如,窗口上的操作。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
任務(wù) 指示要在 UI 線程上執(zhí)行的任務(wù)。

輸出

公共抽象無(wú)效輸出(String msg)

打印出測(cè)試用例執(zhí)行的詳細(xì)信息。

您可以調(diào)用此方法以打印出一些有關(guān)測(cè)試用例執(zhí)行的必要信息,例如測(cè)試時(shí)間和結(jié)果。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
msg 指示測(cè)試用例執(zhí)行的詳細(xì)信息。

獲得意圖

公共抽象意圖 getIntent()

獲取包含有關(guān)當(dāng)前功能的啟動(dòng)信息的 Intent 對(duì)象。

Intent 對(duì)象包含與在功能啟動(dòng)時(shí)設(shè)置的參數(shù)和屬性匹配的鍵,例如功能名稱和模板類型。您可以調(diào)用此方法以獲取 Intent 對(duì)象,然后使用 Intent 提供的方法獲取所需的啟動(dòng)信息。

返回值:

返回包含能力啟動(dòng)信息的 Intent 對(duì)象。

獲得當(dāng)前能力切片

公共抽象 AbilitySlice getCurrentAbilitySlice()

在當(dāng)前能力中獲得前景能力切片。

一個(gè)功能可能包含多個(gè)功能片。您可以調(diào)用此方法以獲得當(dāng)前在前臺(tái)的能力切片。要在后臺(tái)獲取能力切片,請(qǐng)使用getAbilitySlice(java.lang.String)方法。

返回值:

返回前景中的異能切片。

也可以看看:

getAbilitySlice(String)getAllAbilitySlice()

獲得能力切片

公共摘要列表 < AbilitySlice > getAbilitySlice(字符串名稱)

從當(dāng)前能力中獲得具有給定名稱的能力切片。

一個(gè)功能可能包含多個(gè)具有相同名稱的功能片。您可以調(diào)用此方法以獲取具有指定名稱的能力切片實(shí)例。請(qǐng)注意,只能獲得實(shí)例化的對(duì)象。如果未實(shí)例化指定的類,則返回一個(gè)空列表。獲取 AbilitySlice 對(duì)象后,可以調(diào)用其所有外部方法。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
名稱 待獲取的能力切片的全名,例如:com.huawei.hiworld.MyAbilitySlice。

返回值:

返回具有給定名稱的能力切片列表;如果找不到能力切片,則返回一個(gè)空列表。

獲得全能切片

公共摘要列表 < AbilitySlice > getAllAbilitySlice()

獲取當(dāng)前能力中包含的所有能力切片。

返回值:

返回所有能力切片的列表;如果找不到能力切片,則返回一個(gè)空列表。

獲得能力切片狀態(tài)

公共抽象 int getAbilitySliceState(AbilitySlice targetSlice)

獲取能力切片的生命周期狀態(tài)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
targetSlice 指示目標(biāo)能力切片。

返回值:

返回能力切片的生命周期狀態(tài),可以是 INITIAL(0),INACTIVE(1),ACTIVE(2)或 Background(3)。

做能力切片開始

公共抽象 void doAbilitySliceStart(Intent intent)

將能力切片的生命周期狀態(tài)從 INITIAL 更改為 INACTIVE。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示能力切片開始時(shí)攜帶的信息。

做能力切片

公共抽象無(wú)效 doAbilitySliceActive()

將能力切片的生命周期狀態(tài)從不活動(dòng)更改為活動(dòng)。

做能力切片無(wú)效

公共抽象無(wú)效 doAbilitySliceInactive()

將能力切片的生命周期狀態(tài)從“活動(dòng)”更改為“不活動(dòng)”。

做能力切片背景

公共抽象無(wú)效 doAbilitySliceBackground()

將能力切片的生命周期狀態(tài)從不活動(dòng)更改為背景。

做能力切片前景

公共抽象 void doAbilitySliceForeground(Intent intent)

將能力切片的生命周期狀態(tài)從“背景”更改為“不活動(dòng)”。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示能力切片開始時(shí)攜帶的信息。

做能力切片停止

公共抽象無(wú)效 doAbilitySliceStop()

將能力切片的生命周期狀態(tài)從背景更改為初始。

獲得能力

公共抽象能力 getAbility()

在當(dāng)前進(jìn)程中獲得前臺(tái)的功能。獲得此功能后,可以調(diào)用其所有外部方法。

要獲取流程中的其他能力,請(qǐng)使用 Ability#startAbility(Intent)方法啟動(dòng)目標(biāo)能力,然后調(diào)用此方法來(lái)獲取它們。

返回值:

返回前景中的異能。

獲得能力狀態(tài)

公共抽象int getAbilityState()

獲得能力的生命周期狀態(tài)。

返回值:

返回功能的生命周期狀態(tài),可以是INITIAL(0),INACTIVE(1),ACTIVE(2)或Background(3)。

獲得能力信息

公共抽象AbilityInfo getAbilityInfo()

獲取一個(gè)功能的內(nèi)部 AbilityInfo對(duì)象。

AbilityInfo對(duì)象包含有關(guān)能力的信息,包括捆綁包名稱,類名稱和類型。

返回值:

返回功能的內(nèi)部AbilityInfo對(duì)象。

做能力開始

公共抽象void doAbilityStart(Intent intent)

將能力的生命周期狀態(tài)從初始更改為不活動(dòng)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示該功能啟動(dòng)時(shí)攜帶的信息。

做能力活躍

公共抽象無(wú)效 doAbilityActive()

將能力的生命周期狀態(tài)從不活動(dòng)更改為活動(dòng)。

做能力不活躍

公共抽象無(wú)效 doAbilityInactive()

將能力的生命周期狀態(tài)從活動(dòng)更改為不活動(dòng)。

做能力背景

公共抽象無(wú)效 doAbilityBackground()

將能力的生命周期狀態(tài)從不活動(dòng)更改為背景。

做能力前景

公共抽象 void doAbilityForeground(Intent intent)

將能力的生命周期狀態(tài)從背景更改為不活動(dòng)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示該功能啟動(dòng)時(shí)攜帶的信息。

做能力停止

公共抽象無(wú)效 doAbilityStop()

將能力的生命周期狀態(tài)從背景更改為初始。

觸發(fā)點(diǎn)擊事件

公共抽象 boolean triggerClickEvent(組件視圖)

觸發(fā)單擊事件,并將其發(fā)送到指定的 UI 組件以模擬用戶輸入。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
視圖 指示 UI 組件,可以是按鈕或圖像。

返回值:

如果事件已消耗,則返回 true;否則,返回 false。否則返回 false。

觸發(fā)按鍵事件

公共抽象布爾布爾 TriggerKeyEvent(KeyEvent 鍵)

觸發(fā)按鍵事件并將其發(fā)送到前臺(tái)功能。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
指示鍵事件的類型。目前只有Back事件可用。

返回值:

如果事件已消耗,則返回true;否則,返回false。否則返回false。

觸發(fā)觸摸事件

公共抽象布爾觸發(fā)器觸發(fā)事件(TouchEvent touchEvent)

觸發(fā)觸摸事件并將其發(fā)送到前臺(tái)功能。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
touchEvent 指定坐標(biāo)和事件類型,例如 ACTION_DOWN 或 ACTION_UP。

返回值:

如果事件已消耗,則返回 true;否則,返回 false。否則返回 false。

獲得當(dāng)前的最高能力

公共抽象能力 getCurrentTopAbility()

返回此應(yīng)用程序的頂級(jí)功能

返回值:

返回此應(yīng)用程序的頂級(jí)功能。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)