!425 uitest MockAPI接口增加

Merge pull request !425 from flcr/master
This commit is contained in:
openharmony_ci
2022-07-20 01:49:13 +00:00
committed by Gitee
2 changed files with 496 additions and 0 deletions
@@ -172,6 +172,7 @@ import { mockMouseEvent } from './ohos_multimodalInput_mouseEvent'
import { mockTouchEvent } from './ohos_multimodalInput_touchEvent'
import { mockUiAppearance } from './ohos_uiAppearance'
import { mockContinationManager } from './ohos_continuation_continuationManager'
import { mockUiTest } from './ohos_uitest'
export function mockRequireNapiFun() {
global.requireNapi = function (...args) {
switch (args[0]) {
@@ -493,6 +494,8 @@ export function mockRequireNapiFun() {
return mockTouchEvent();
case "continuation.continuationManager":
return mockContinationManager();
case "uitest":
return mockUiTest();
default:
return global.requireNapiPreview(...args);
}
@@ -0,0 +1,493 @@
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {paramMock} from '../utils'
const warnMessage =
' interface mocked in the Previewer. How this interface works on the' +
' Previewer may be different from that on a real device.'
export const ResizeDirection = {
LEFT: 0,
RIGHT: 1,
UP: 2,
DOWN: 3,
LEFT_UP: 4,
LEFT_DOWN: 5,
RIGHT_UP: 6,
RIGHT_DOWN: 7
}
export const MatchPattern = {
EQUALS: 0,
CONTAINS: 1,
STARTS_WITH: 2,
ENDS_WITH: 3
}
export const WindowMode = {
FULLSCREEN: 0,
PRIMARY: 1,
SECONDARY: 2,
FLOATING: 3
}
export const Point = {
X: '[PC Preview] unknown X',
Y: '[PC Preview] unknown Y'
}
export const Rect = {
leftX: '[PC Preview] unknown leftX',
topY: '[PC Preview] unknown topY',
rightX: '[PC Preview] unknown rightX',
bottomY: '[PC Preview] unknown bottomY'
}
export const WindowFilter = {
bundleName: '[PC Preview] unknown bundleName',
title: '[PC Preview] unknown title',
focused: '[PC Preview] unknown focused',
actived: '[PC Preview] unknown actived'
}
const ByClass = class ByMock {
constructor() {
console.warn('uitest.By.constructor' + warnMessage);
this.id = function(...args) {
console.warn('uitest.By.id' + warnMessage)
return new ByClass()
};
this.text = function(...args) {
console.warn('uitest.By.text' + warnMessage)
return new ByClass()
};
this.key = function(...args) {
console.warn('uitest.By.key' + warnMessage)
return new ByClass()
};
this.type = function(...args) {
console.warn('uitest.By.type' + warnMessage)
return new ByClass()
};
this.enabled = function(...args) {
console.warn('uitest.By.enabled' + warnMessage)
return new ByClass()
};
this.focused = function(...args) {
console.warn('uitest.By.focused' + warnMessage)
return new ByClass()
};
this.selected = function(...args) {
console.warn('uitest.By.selected' + warnMessage)
return new ByClass()
};
this.clickable = function(...args) {
console.warn('uitest.By.clickable' + warnMessage)
return new ByClass()
};
this.enabled = function(...args) {
console.warn('uitest.By.enabled' + warnMessage)
return new ByClass()
};
this.longClickable = function(...args) {
console.warn('uitest.By.longClickable' + warnMessage)
return new ByClass()
};
this.scrollable = function(...args) {
console.warn('uitest.By.scrollable' + warnMessage)
return new ByClass()
};
this.checkable = function(...args) {
console.warn('uitest.By.checkable' + warnMessage)
return new ByClass()
};
this.checked = function(...args) {
console.warn('uitest.By.checked' + warnMessage)
return new ByClass()
};
this.isBefore = function(...args) {
console.warn('uitest.By.isBefore' + warnMessage)
return new ByClass()
};
this.isAfter = function(...args) {
console.warn('uitest.By.isAfter' + warnMessage)
return new ByClass()
};
}
}
const UiDriverClass = class UiDriverMock {
constructor() {
console.warn('uitest.UiDriver.constructor' + warnMessage);
this.delayMs = function(...args) {
console.warn('uitest.UiDriver.delayMs' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.findComponent = function(...args) {
console.warn('uitest.UiDriver.findComponent' + warnMessage)
return new Promise((resolve) => {
resolve(new UiComponentClass())
});
};
this.findWindow = function(...args) {
console.warn('uitest.UiDriver.findWindow' + warnMessage)
return new Promise((resolve) => {
resolve(new UiWindowClass())
});
};
this.findComponents = function(...args) {
console.warn('uitest.UiDriver.findComponents' + warnMessage)
return new Promise((resolve) => {
resolve(new Array(new UiComponentClass()))
});
};
this.waitForComponent = function(...args) {
console.warn('uitest.UiDriver.waitForComponent' + warnMessage)
return new Promise((resolve) => {
resolve(new UiComponentClass())
});
};
this.screenCap = function(...args) {
console.warn('uitest.UiDriver.screenCap' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.assertComponentExist = function(...args) {
console.warn('uitest.UiDriver.assertComponentExist' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.pressBack = function(...args) {
console.warn('uitest.UiDriver.pressBack' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.triggerKey = function(...args) {
console.warn('uitest.UiDriver.triggerKey' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.triggerCombineKeys = function(...args) {
console.warn('uitest.UiDriver.triggerCombineKeys' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.click = function(...args) {
console.warn('uitest.UiDriver.click' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.longClick = function(...args) {
console.warn('uitest.UiDriver.longClick' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.doubleClick = function(...args) {
console.warn('uitest.UiDriver.doubleClick' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.swipe = function(...args) {
console.warn('uitest.UiDriver.swipe' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.drag = function(...args) {
console.warn('uitest.UiDriver.drag' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
}
}
UiDriverClass.create = function () {
console.warn('uitest.UiDriver.create' + warnMessage)
return new UiDriverClass()
}
const UiComponentClass = class UiComponentMock {
constructor() {
console.warn('uitest.UiComponent.constructor' + warnMessage);
this.getId = function(...args) {
console.warn('uitest.UiComponent.getId' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramNumberMock)
});
};
this.getText = function(...args) {
console.warn('uitest.UiComponent.getText' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramStringMock)
});
};
this.getKey = function(...args) {
console.warn('uitest.UiComponent.getKey' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramStringMock)
});
};
this.getType = function(...args) {
console.warn('uitest.UiComponent.getType' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramStringMock)
});
};
this.isEnabled = function(...args) {
console.warn('uitest.UiComponent.isEnabled' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isFocused = function(...args) {
console.warn('uitest.UiComponent.isFocused' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isSelected = function(...args) {
console.warn('uitest.UiComponent.isSelected' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isClickable = function(...args) {
console.warn('uitest.UiComponent.isClickable' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isLongClickable = function(...args) {
console.warn('uitest.UiComponent.isLongClickable' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isScrollable = function(...args) {
console.warn('uitest.UiComponent.isScrollable' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isCheckable = function(...args) {
console.warn('uitest.UiComponent.isCheckable' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isChecked = function(...args) {
console.warn('uitest.UiComponent.isChecked' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.getBounds = function(...args) {
console.warn('uitest.UiComponent.getBounds' + warnMessage)
return new Promise((resolve) => {
resolve(Rect)
});
};
this.getBoundsCenter = function(...args) {
console.warn('uitest.UiComponent.getBoundsCenter' + warnMessage)
return new Promise((resolve) => {
resolve(Point)
});
};
this.click = function(...args) {
console.warn('uitest.UiComponent.click' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.longClick = function(...args) {
console.warn('uitest.UiComponent.longClick' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.doubleClick = function(...args) {
console.warn('uitest.UiComponent.doubleClick' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.scrollToTop = function(...args) {
console.warn('uitest.UiComponent.scrollToTop' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.scrollToBottom = function(...args) {
console.warn('uitest.UiComponent.scrollToBottom' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.inputText = function(...args) {
console.warn('uitest.UiComponent.inputText' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.clearText = function(...args) {
console.warn('uitest.UiComponent.clearText' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.scrollSearch = function(...args) {
console.warn('uitest.UiComponent.scrollSearch' + warnMessage)
return new Promise((resolve) => {
resolve(new UiComponentClass())
});
};
this.dragTo = function(...args) {
console.warn('uitest.UiComponent.dragTo' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.pinchOut = function(...args) {
console.warn('uitest.UiComponent.pinchOut' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
this.pinchIn = function(...args) {
console.warn('uitest.UiComponent.pinchIn' + warnMessage)
return new Promise((resolve) => {
resolve()
});
};
}
}
const UiWindowClass = class UiWindowMock {
constructor() {
console.warn('uitest.UiWindow.constructor' + warnMessage);
this.getBundleName = function(...args) {
console.warn('uitest.UiWindow.getBundleName' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramStringMock)
});
};
this.getBounds = function(...args) {
console.warn('uitest.UiWindow.getBounds' + warnMessage)
return new Promise((resolve) => {
resolve(Rect)
});
};
this.getTitle = function(...args) {
console.warn('uitest.UiWindow.getTitle' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramStringMock)
});
};
this.getWindowMode = function(...args) {
console.warn('uitest.UiWindow.getWindowMode' + warnMessage)
return new Promise((resolve) => {
resolve(WindowMode)
});
};
this.isFocused = function(...args) {
console.warn('uitest.UiWindow.isFocused' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.isActived = function(...args) {
console.warn('uitest.UiWindow.isActived' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.focus = function(...args) {
console.warn('uitest.UiWindow.focus' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.moveTo = function(...args) {
console.warn('uitest.UiWindow.moveTo' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.resize = function(...args) {
console.warn('uitest.UiWindow.resize' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.split = function(...args) {
console.warn('uitest.UiWindow.split' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.maximize = function(...args) {
console.warn('uitest.UiWindow.maximize' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.resume = function(...args) {
console.warn('uitest.UiWindow.resume' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.minimize = function(...args) {
console.warn('uitest.UiWindow.minimize' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
this.close = function(...args) {
console.warn('uitest.UiWindow.close' + warnMessage)
return new Promise((resolve) => {
resolve(paramMock.paramBooleanMock)
});
};
};
}
export function mockUiTest() {
const module = {
ResizeDirection: ResizeDirection,
MatchPattern: MatchPattern,
WindowMode: WindowMode,
Point: Point,
Rect: Rect,
WindowFilter: WindowFilter,
BY: new ByClass(),
UiDriver: UiDriverClass,
UiComponent: UiComponentClass,
UiWindow: UiWindowClass
};
return module
}