0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙語言基礎(chǔ)類庫:ohos.uitest UiTest測(cè)試

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-12 17:38 ? 次閱讀

UiTest

UiTest提供模擬UI操作的能力,供開發(fā)者在測(cè)試場(chǎng)景使用,主要支持如點(diǎn)擊、雙擊、長按、滑動(dòng)等UI操作能力。

該模塊提供以下功能:

  • [By]:提供控件特征描述能力,用于控件篩選匹配查找。
  • [UiComponent]:代表UI界面上的指定控件,提供控件屬性獲取,控件點(diǎn)擊,滑動(dòng)查找,文本注入等能力。
  • [UiDriver]:入口類,提供控件匹配/查找,按鍵注入,坐標(biāo)點(diǎn)擊/滑動(dòng),截圖等能能力。

說明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

import {UiDriver,BY,MatchPattern} from '@ohos.uitest'

By

UiTest框架通過By類提供了豐富的控件特征描述API,用以進(jìn)行控件篩選來匹配/查找出目標(biāo)控件。
By提供的API能力具有以下幾個(gè)特點(diǎn):
1、支持單屬性匹配和多屬性組合匹配,例如同時(shí)指定目標(biāo)控件text和id。
2、控件屬性支持多種匹配模式。
3、支持控件絕對(duì)定位,相對(duì)定位,可通過[By.isBefore]和[By.isAfter]等API限定鄰近控件特征進(jìn)行輔助定位。
By類提供的所有API均為同步接口,建議使用者通過靜態(tài)構(gòu)造器BY來鏈?zhǔn)絼?chuàng)建By對(duì)象。

BY.text('123').type('button')

text

text(txt: string, pattern?: MatchPattern): By

指定目標(biāo)控件文本屬性,支持多種匹配模式,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù)

參數(shù)名類型必填說明
txtstring指定控件文本,用于匹配目標(biāo)控件文本。
patternMatchPattern指定的文本匹配模式,默認(rèn)為[EQUALS]

返回值:

類型說明
By返回By對(duì)象自身

示例:

let by = BY.text('123') //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的text屬性。

key

key(key: string): By

指定目標(biāo)控件key值屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
keystring指定控件的Key值。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.key('123') //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的key值屬性。

id

id(id: number): By

指定目標(biāo)控件id屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
idnumber指定控件的id值。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.id(123) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的id屬性。

type

type(tp: string): By

指定目標(biāo)控件的控件類型屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
tpstring指定控件類型。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.type('button') //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的控件類型屬性。

clickable

clickable(b?: bool): By

指定目標(biāo)控件的可點(diǎn)擊狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件可點(diǎn)擊狀態(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.clickable(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的可點(diǎn)擊狀態(tài)屬性。

longClickable9+

longClickable(b?: bool): By

指定目標(biāo)控件的可長按點(diǎn)擊狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件可長按點(diǎn)擊狀態(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.longClickable(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的可長按點(diǎn)擊狀態(tài)屬性。

scrollable

scrollable(b?: bool): By

指定目標(biāo)控件的可滑動(dòng)狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool控件可滑動(dòng)狀態(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.scrollable(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的可滑動(dòng)狀態(tài)屬性。

enabled

enabled(b?: bool): By

指定目標(biāo)控件的使能狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件使能狀態(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.enabled(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的使能狀態(tài)屬性。

focused

focused(b?: bool): By

指定目標(biāo)控件的獲焦?fàn)顟B(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool控件獲焦?fàn)顟B(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.focused(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的獲焦?fàn)顟B(tài)屬性。

selected

selected(b?: bool): By

指定目標(biāo)控件的被選中狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件被選中狀態(tài),默認(rèn)為true。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.selected(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的被選中狀態(tài)屬性。

checked9+

checked(b?: bool): By

指定目標(biāo)控件的被勾選狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件被勾選狀態(tài),默認(rèn)為false。

返回值:

類型說明
By返回By對(duì)象自身

示例:

let by = BY.checked(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的被勾選狀態(tài)屬性

checkable9+

checkable(b?: bool): By

指定目標(biāo)控件能否被勾選狀態(tài)屬性,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
bbool指定控件能否被勾選狀態(tài),默認(rèn)為false。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.checkable(true) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件的能否被勾選狀態(tài)屬性。

isBefore

isBefore(by: By): By

指定目標(biāo)控件位于給出的特征屬性控件之前,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy特征控件的屬性。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.isBefore(BY.text('123')) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件位于給出的特征屬性控件之前。

isAfter

isAfter(by: By): By

指定目標(biāo)控件位于給出的特征屬性控件之后,返回By對(duì)象自身。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy特征控件的屬性。

返回值:

類型說明
By返回By對(duì)象自身。

示例:

let by = BY.isAfter(BY.text('123')) //使用靜態(tài)構(gòu)造器BY創(chuàng)建by對(duì)象,指定目標(biāo)控件位于給出的特征屬性控件之后。

UiComponent

UiTest中,UiComponent類代表了UI界面上的一個(gè)控件,提供控件屬性獲取,控件點(diǎn)擊,滑動(dòng)查找,文本注入等API。 該類提供的所有方法都使用Promise方式作為異步方法,需使用await調(diào)用。

Rect9+

控件的邊框信息。

名稱參數(shù)類型可讀可寫描述
leftXnumber控件邊框的左上角的X坐標(biāo)。
topYnumber控件邊框的左上角的Y坐標(biāo)。
rightXnumber控件邊框的右下角的X坐標(biāo)。
bottomYnumber控件邊框的右下角的Y坐標(biāo)。

click

click(): Promise

控件對(duì)象進(jìn)行點(diǎn)擊操作。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    await button.click()
}

doubleClick

doubleClick(): Promise

控件對(duì)象進(jìn)行雙擊操作。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    await button.doubleClick()
}

longClick

longClick(): Promise

控件對(duì)象進(jìn)行長按操作。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    await button.longClick()
}

getId

getId(): Promise

獲取控件對(duì)象的id值。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回的控件的id值。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let num = await button.getId()
}

getKey

getKey(): Promise

獲取控件對(duì)象的key值。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件的key值。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let str_key = await button.getKey()
}

getText

getText(): Promise

獲取控件對(duì)象的文本信息。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件的文本信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let text = await button.getText()
}

getType

getType(): Promise

獲取控件對(duì)象的控件類型。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件的類型。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let type = await button.getType()
}

getBounds9+

getBounds(): Promise

獲取控件對(duì)象的邊框信息。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象的邊框信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let rect = await button.getBounds()
}

isClickable

isClickable(): Promise

獲取控件對(duì)象可點(diǎn)擊狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象可點(diǎn)擊狀態(tài)。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    if(await button.isClickable()) {
        console.info('This button can be Clicked')
    }
    else{
        console.info('This button can not be Clicked')
    }
}

isLongClickable9+

isLongClickable(): Promise

獲取控件對(duì)象可長按點(diǎn)擊狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象能否長按點(diǎn)擊狀態(tài)。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    if(await button.isLongClickable()) {
        console.info('This button can longClick')
    }
    else{
        console.info('This button can not longClick')
    }
}

isChecked9+

isChecked(): Promise

獲取控件對(duì)象被勾選狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象被勾選狀態(tài)。

示例:

async function demo() {
    let driver = UiDriver.create()
    let checkBox = await driver.findComponent(BY.type('Checkbox'))
    if(await checkBox.isChecked) {
        console.info('This checkBox is checked')
    }
    else{
        console.info('This checkBox is not checked')
    }
}

isCheckable9+

isCheckable(): Promise

獲取控件對(duì)象能否被勾選的屬性。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象能否被勾選的屬性。

示例:

async function demo() {
    let driver = UiDriver.create()
    let checkBox = await driver.findComponent(BY.type('Checkbox'))
    if(await checkBox.isCheckable) {
        console.info('This checkBox is checkable')
    }
    else{
        console.info('This checkBox is not checkable')
    }
}

isScrollable

isScrollable(): Promise

獲取控件對(duì)象可滑動(dòng)狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象可滑動(dòng)狀態(tài)。

示例:

async function demo() {
    let driver = UiDriver.create()
    let scrollBar = await driver.findComponent(BY.scrollable(true))
    if(await scrollBar.isScrollable()) {
        console.info('This scrollBar can be operated')
    }
    else{
        console.info('This scrollBar can not be operated')
    }
}

isEnabled

isEnabled(): Promise

獲取控件使能狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件使能狀態(tài)。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    if(await button.isEnabled()) {
        console.info('This button can be operated')
    }
    else{
        console.info('This button can not be operated')
    }
}

isFocused

isFocused(): Promise

判斷控件對(duì)象是否獲焦。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise以Promise形式返回控件對(duì)象是否獲焦。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    if(await button.isFocused()) {
        console.info('This button is focused')
	}
    else{
        console.info('This button is not focused')
	}
}

isSelected

isSelected(): Promise

獲取控件對(duì)象被選中狀態(tài)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
Promise控件對(duì)象被選中的狀態(tài)

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    if(await button.isSelected()) {
        console.info('This button is selected')
	}
    else{
        console.info('This button is not selected')
    }
}

inputText

inputText(text: string): Promise

向控件中輸入文本(適用于文本框控件)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
textstring輸入的文本信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    let text = await driver.findComponent(BY.text('hello world'))
    await text.inputText('123')
}

clearText9+

clearText(): Promise

清除控件的文本信息(適用于文本框控件)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let text = await driver.findComponent(BY.text('hello world'))
    await text.clearText()
}

scrollSearch

scrollSearch(by: By): Promise

在控件上滑動(dòng)查找目標(biāo)控件(適用于List等支持滑動(dòng)的控件)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy目標(biāo)控件的屬性要求。

返回值:

類型說明
Promise以Promise形式返回找到的目標(biāo)控件對(duì)象。

示例:

async function demo() {
    let driver = UiDriver.create()
    let scrollBar = await driver.findComponent(BY.type('Scroll'))
    let button = await scrollBar.scrollSearch(BY.text('next page'))
}

scrollToTop9+

scrollToTop(): Promise

在控件上滑動(dòng)到頂部(適用于List等支持滑動(dòng)的控件)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let scrollBar = await driver.findComponent(BY.type('Scroll'))
    await scrollBar.scrollToTop()
}

scrollToBottom9+

scrollToBottom(): Promise

在控件上滑動(dòng)到底部(適用于List等支持滑動(dòng)的控件)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    let scrollBar = await driver.findComponent(BY.type('Scroll'))
    await scrollBar.scrollToBottom()
}

dragTo9+

dragTo(target: UiComponent): Promise

將控件拖拽至目標(biāo)控件處。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
targetUiComponent目標(biāo)控件。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.type('button'))
    let text = await driver.findComponent(BY.text('hello world'))
    await button.dragTo(text)
    }

UiDriver

UiDriver類為uitest測(cè)試框架的總?cè)肟?,提供控件匹?查找,按鍵注入,坐標(biāo)點(diǎn)擊/滑動(dòng),截圖等API。 該類提供的方法除UiDriver.create()以外的所有方法都使用Promise方式作為異步方法,需使用await調(diào)用。

create

static create(): UiDriver

靜態(tài)方法,構(gòu)造一個(gè)UiDriver對(duì)象,并返回該對(duì)象。

系統(tǒng)能力 :SystemCapability.Test.UiTest

返回值:

類型說明
UiDrive返回構(gòu)造的UiDriver對(duì)象。

示例:

async function demo() {
    let driver = UiDriver.create()
}

delayMs

delayMs(duration: number): Promise

UiDriver對(duì)象在給定的時(shí)間內(nèi)延時(shí)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
durationnumber給定的時(shí)間。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.delayMs(1000)
}

findComponent

findComponent(by: By): Promise

在UiDriver對(duì)象中,根據(jù)給出的目標(biāo)控件屬性要求查找目標(biāo)控件。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy目標(biāo)控件的屬性要求。

返回值:

類型說明
Promise以Promise形式返回找到的控件對(duì)象。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.findComponent(BY.text('next page'))
}

findComponents

findComponents(by: By): Promise>

在UiDriver對(duì)象中,根據(jù)給出的目標(biāo)控件屬性要求查找出所有匹配控件,以列表保存。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy目標(biāo)控件的屬性要求。

返回值:

類型說明
Promise>以Promise形式返回找到的控件對(duì)象的列表。

示例:

async function demo() {
    let driver = UiDriver.create()
    let buttonList = await driver.findComponents(BY.text('next page'))
}

waitForComponent9+

waitForComponent(by: By, time: number): Promise

在UiDriver對(duì)象中,在用戶給定的時(shí)間內(nèi),持續(xù)查找滿足控件屬性要求的目標(biāo)控件。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy目標(biāo)控件的屬性要求。
timenumber查找目標(biāo)控件的持續(xù)時(shí)間。單位ms。

返回值:

類型說明
Promise以Promise形式返回找到的控件對(duì)象。

示例:

async function demo() {
    let driver = UiDriver.create()
    let button = await driver.waitForComponent(BY.text('next page'),500)
}

assertComponentExist

assertComponentExist(by: By): Promise

斷言API,用于斷言當(dāng)前界面存在滿足給出的目標(biāo)控件屬性的控件; 如果控件不存在,該API將拋出JS異常,使當(dāng)前測(cè)試用例失敗。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
byBy目標(biāo)控件的屬性要求。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.assertComponentExist(BY.text('next page'))
}

pressBack

pressBack(): Promise

UiDriver對(duì)象進(jìn)行點(diǎn)擊BACK鍵的操作。

系統(tǒng)能力 :SystemCapability.Test.UiTest

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.pressBack()
}

triggerKey

triggerKey(keyCode: number): Promise

UiDriver對(duì)象采取如下操作:通過key值找到對(duì)應(yīng)鍵并點(diǎn)擊。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
keyCodenumber指定的key值。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.triggerKey(123)
}

click

click(x: number, y: number): Promise

UiDriver對(duì)象采取如下操作:在目標(biāo)坐標(biāo)點(diǎn)單擊。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
xnumber以number的形式傳入目標(biāo)點(diǎn)的橫坐標(biāo)信息。
ynumber以number的形式傳入目標(biāo)點(diǎn)的縱坐標(biāo)信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.click(100,100)
}

doubleClick

doubleClick(x: number, y: number): Promise

UiDriver對(duì)象采取如下操作:在目標(biāo)坐標(biāo)點(diǎn)雙擊。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
xnumber以number的形式傳入目標(biāo)點(diǎn)的橫坐標(biāo)信息。
ynumber以number的形式傳入目標(biāo)點(diǎn)的縱坐標(biāo)信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.doubleClick(100,100)
}

longClick

longClick(x: number, y: number): Promise

UiDriver對(duì)象采取如下操作:在目標(biāo)坐標(biāo)點(diǎn)長按下鼠標(biāo)左鍵。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
xnumber以number的形式傳入目標(biāo)點(diǎn)的橫坐標(biāo)信息。
ynumber以number的形式傳入目標(biāo)點(diǎn)的縱坐標(biāo)信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.longClick(100,100)
}

swipe

swipe(startx: number, starty: number, endx: number, endy: number): Promise

UiDriver對(duì)象采取如下操作:從給出的起始坐標(biāo)點(diǎn)滑向給出的目的坐標(biāo)點(diǎn)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
startxnumber以number的形式傳入起始點(diǎn)的橫坐標(biāo)信息。
startynumber以number的形式傳入起始點(diǎn)的縱坐標(biāo)信息。
endxnumber以number的形式傳入目的點(diǎn)的橫坐標(biāo)信息。
endynumber以number的形式傳入目的點(diǎn)的縱坐標(biāo)信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.swipe(100,100,200,200)
}

drag9+

drag(startx: number, starty: number, endx: number, endy: number): Promise

UiDriver對(duì)象采取如下操作:從給出的起始坐標(biāo)點(diǎn)拖拽至給出的目的坐標(biāo)點(diǎn)。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
startxnumber以number的形式傳入起始點(diǎn)的橫坐標(biāo)信息。
startynumber以number的形式傳入起始點(diǎn)的縱坐標(biāo)信息。
endxnumber以number的形式傳入目的點(diǎn)的橫坐標(biāo)信息。
endynumber以number的形式傳入目的點(diǎn)的縱坐標(biāo)信息。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.drag(100,100,200,200)
}

screenCap

screenCap(savePath: string): Promise

UiDriver對(duì)象采取如下操作:捕獲當(dāng)前屏幕,并保存為PNG格式的圖片至給出的保存路徑中。

系統(tǒng)能力 :SystemCapability.Test.UiTest

參數(shù):

參數(shù)名類型必填說明
savePathstring文件保存路徑。

返回值:

類型說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
Promise截圖操作是否成功完成。成功完成為true。

示例:

async function demo() {
    let driver = UiDriver.create()
    await driver.screenCap('/local/tmp/')
}

MatchPattern

控件屬性支持的匹配模式。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Test.UiTest

名稱說明
EQUALS0等于給定值。
CONTAINS1包含給定值。
STARTS_WITH2從給定值開始。
ENDS_WITH3以給定值結(jié)束。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 測(cè)試
    +關(guān)注

    關(guān)注

    8

    文章

    4927

    瀏覽量

    125949
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42489
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)概述

    ArkTS語言基礎(chǔ)是HarmonyOS系統(tǒng)上為應(yīng)用開發(fā)者提供的常用基礎(chǔ)能力,主要包含能力如下圖所示。 1.提供異步并發(fā)和多線程并發(fā)的能力。 支持Promise和async/await等標(biāo)準(zhǔn)
    發(fā)表于 03-05 15:42

    HamronyOS自動(dòng)化測(cè)試框架使用指南

    } from \'@ohos.UiTest\' 然后是具體測(cè)試代碼編寫,場(chǎng)景較為簡單,就是在啟動(dòng)的應(yīng)用頁面上進(jìn)行點(diǎn)擊操作,然后增加檢查點(diǎn)檢查用例。 export default function
    發(fā)表于 12-19 10:26

    HarmonyOS語言基礎(chǔ)開發(fā)指南上線啦!

    語言基礎(chǔ)提供哪些功能?多線程并發(fā)如何實(shí)現(xiàn)?TaskPool(任務(wù)池)和Worker在實(shí)現(xiàn)和使用場(chǎng)景上有何不同? 針對(duì)開發(fā)者關(guān)注的并發(fā)等語言基礎(chǔ)
    的頭像 發(fā)表于 10-18 16:20 ?428次閱讀
    HarmonyOS<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>開發(fā)指南上線啦!

    鴻蒙OpenHarmony大合集:【語言基礎(chǔ)

    本示例集合語言基礎(chǔ)的各個(gè)子模塊,展示了各個(gè)模塊的基礎(chǔ)功能
    的頭像 發(fā)表于 04-29 16:38 ?404次閱讀
    <b class='flag-5'>鴻蒙</b>OpenHarmony大合集:【<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>】

    鴻蒙語言基礎(chǔ)ohos.convertxml xml轉(zhuǎn)換JavaScript

    轉(zhuǎn)換xml文本為JavaScript對(duì)象。
    的頭像 發(fā)表于 07-08 15:54 ?228次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.convertxml  xml轉(zhuǎn)換JavaScript

    鴻蒙語言基礎(chǔ)ohos.url URL字符串解析

    URLSearchParams的構(gòu)造函數(shù)。
    的頭像 發(fā)表于 07-08 22:31 ?318次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.url URL字符串解析

    鴻蒙語言基礎(chǔ)ohos.util.HashMap 非線性容器HashMap

    HashMap底層使用數(shù)組+鏈表+紅黑樹的方式實(shí)現(xiàn),查詢、插入和刪除的效率都很高。HashMap存儲(chǔ)內(nèi)容基于key-value的鍵值對(duì)映射,不能有重復(fù)的key,且一個(gè)key只能對(duì)應(yīng)一個(gè)value。
    的頭像 發(fā)表于 07-10 16:31 ?257次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.util.HashMap 非線性容器HashMap

    鴻蒙語言基礎(chǔ)ohos.util.TreeSet 非線性容器TreeSet

    TreeSet基于[TreeMap]實(shí)現(xiàn),在TreeSet中,只對(duì)value對(duì)象進(jìn)行處理。TreeSet可用于存儲(chǔ)一系列值的集合,元素中value唯一且有序。
    的頭像 發(fā)表于 07-11 16:25 ?244次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.util.TreeSet 非線性容器TreeSet

    鴻蒙語言基礎(chǔ)ohos.util.Vector 線性容器Vector

    Vector是一種線性數(shù)據(jù)結(jié)構(gòu),底層基于數(shù)組實(shí)現(xiàn)。當(dāng)Vector的內(nèi)存用盡時(shí),會(huì)自動(dòng)分配更大的連續(xù)內(nèi)存區(qū),將原先的元素復(fù)制到新的內(nèi)存區(qū),并釋放舊的內(nèi)存區(qū)。使用Vector能夠高效快速地訪問元素。
    的頭像 發(fā)表于 07-11 09:56 ?163次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.util.Vector 線性容器Vector

    鴻蒙語言基礎(chǔ)ohos.worker 啟動(dòng)一個(gè)Worker

    Worker是與主線程并行的獨(dú)立線程。創(chuàng)建Worker的線程稱之為宿主線程,Worker自身的線程稱之為Worker線程。創(chuàng)建Worker傳入的url文件在Worker線程中執(zhí)行,可以處理耗時(shí)操作但不可以直接操作UI。
    的頭像 發(fā)表于 07-11 17:03 ?264次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.worker 啟動(dòng)一個(gè)Worker

    鴻蒙語言基礎(chǔ)ohos.xml xml解析與生成

    XmlSerializer的構(gòu)造函數(shù)。
    的頭像 發(fā)表于 07-12 09:39 ?180次閱讀

    鴻蒙語言基礎(chǔ)ohos.application.testRunner TestRunner 測(cè)試

    TestRunner模塊提供了框架測(cè)試的能力。包括準(zhǔn)備單元測(cè)試環(huán)境、運(yùn)行測(cè)試用例。
    的頭像 發(fā)表于 07-12 09:32 ?204次閱讀

    鴻蒙語言基礎(chǔ)ohos.bytrace 性能打點(diǎn)

    用來標(biāo)記一個(gè)預(yù)追蹤的數(shù)值變量,該變量的數(shù)值會(huì)不斷變化。
    的頭像 發(fā)表于 07-18 15:41 ?172次閱讀

    鴻蒙語言基礎(chǔ)ohos.data.storage 輕量級(jí)存儲(chǔ)

    輕量級(jí)存儲(chǔ)為應(yīng)用提供key-value鍵值型的文件數(shù)據(jù)處理能力,支持應(yīng)用對(duì)數(shù)據(jù)進(jìn)行輕量級(jí)存儲(chǔ)及查詢。數(shù)據(jù)存儲(chǔ)形式為鍵值對(duì),鍵的類型為字符串型,值的存儲(chǔ)數(shù)據(jù)類型包括數(shù)字型、字符型、布爾型。
    的頭像 發(fā)表于 07-15 18:21 ?783次閱讀

    鴻蒙語言基礎(chǔ):system.configuration 應(yīng)用配置

    獲取應(yīng)用當(dāng)前的語言和地區(qū)。默認(rèn)與系統(tǒng)的語言和地區(qū)同步。
    的頭像 發(fā)表于 07-16 09:34 ?199次閱讀