鴻蒙OS AbilityDelegation

2020-09-21 14:27 更新

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

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

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

領(lǐng)域摘要

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

構(gòu)造器摘要

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

方法總結(jié)

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

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

活性

public static final int 活動

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

也可以看看:

常數(shù)欄位值

背景

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

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

也可以看看:

常數(shù)欄位值

不活躍

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

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

也可以看看:

常數(shù)欄位值

初始

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

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

也可以看看:

常數(shù)欄位值

LIB_PATH

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

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

也可以看看:

常數(shù)欄位值

RUN_TEST

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

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

也可以看看:

常數(shù)欄位值

未定義

public static final int 未定義

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

也可以看看:

常數(shù)欄位值

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

能力委托

公共能力委托()

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

runOnUIThreadSync

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

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

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

參數(shù):

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

輸出

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

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

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

參數(shù):

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

獲得意圖

公共抽象意圖 getIntent()

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

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

返回值:

返回包含能力啟動信息的 Intent 對象。

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

公共抽象 AbilitySlice getCurrentAbilitySlice()

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

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

返回值:

返回前景中的異能切片。

也可以看看:

getAbilitySlice(String),getAllAbilitySlice()

獲得能力切片

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

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

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

參數(shù):

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

返回值:

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

獲得全能切片

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

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

返回值:

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

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

公共抽象 int getAbilitySliceState(AbilitySlice targetSlice)

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

參數(shù):

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

返回值:

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

做能力切片開始

公共抽象 void doAbilitySliceStart(Intent intent)

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

參數(shù):

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

做能力切片

公共抽象無效 doAbilitySliceActive()

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

做能力切片無效

公共抽象無效 doAbilitySliceInactive()

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

做能力切片背景

公共抽象無效 doAbilitySliceBackground()

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

做能力切片前景

公共抽象 void doAbilitySliceForeground(Intent intent)

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

參數(shù):

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

做能力切片停止

公共抽象無效 doAbilitySliceStop()

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

獲得能力

公共抽象能力 getAbility()

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

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

返回值:

返回前景中的異能。

獲得能力狀態(tài)

公共抽象int getAbilityState()

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

返回值:

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

獲得能力信息

公共抽象AbilityInfo getAbilityInfo()

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

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

返回值:

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

做能力開始

公共抽象void doAbilityStart(Intent intent)

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

參數(shù):

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

做能力活躍

公共抽象無效 doAbilityActive()

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

做能力不活躍

公共抽象無效 doAbilityInactive()

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

做能力背景

公共抽象無效 doAbilityBackground()

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

做能力前景

公共抽象 void doAbilityForeground(Intent intent)

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

參數(shù):

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

做能力停止

公共抽象無效 doAbilityStop()

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

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

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

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

參數(shù):

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

返回值:

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

觸發(fā)按鍵事件

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

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

參數(shù):

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

返回值:

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

觸發(fā)觸摸事件

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

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

參數(shù):

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

返回值:

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

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

公共抽象能力 getCurrentTopAbility()

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

返回值:

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號