Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
9e15faa0
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
750
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
9e15faa0
编写于
5月 23, 2024
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore(uts): 自动化测试支持 trigger input focus and blur
上级
1708ad52
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
47 addition
and
31 deletion
+47
-31
packages/uni-app-uts/lib/automator/android/apis/Element.uts
packages/uni-app-uts/lib/automator/android/apis/Element.uts
+44
-28
packages/uni-app-uts/lib/automator/ios/automator.js
packages/uni-app-uts/lib/automator/ios/automator.js
+1
-1
packages/uni-app-vite/lib/template/__uniappautomator.js
packages/uni-app-vite/lib/template/__uniappautomator.js
+1
-1
packages/uni-h5/lib/automator.js
packages/uni-h5/lib/automator.js
+1
-1
未找到文件。
packages/uni-app-uts/lib/automator/android/apis/Element.uts
浏览文件 @
9e15faa0
// @ts-
ignore
// @ts-
expect-error
import type { Callback } from '../index.uts'
import {
getElementById,
getElementByNodeIdOrElementId,
getComponentVmBySelector,
getValidNodes,
getComponentVmByNodeId,
componentGetData,
componentSetData,
getComponentVmByNodeId,
getComponentVmBySelector,
getElementById,
getElementByIdOrNodeId,
getElementByNodeIdOrElementId,
getValidNodes,
removeUniPrefix
// @ts-
ignore
// @ts-
expect-error
} from './util.uts'
// @ts-
ignore
// @ts-
expect-error
import { getChildrenText, toCamelCase } from './util.uts'
export type GetElementParams = {
...
...
@@ -49,7 +49,7 @@ export const getElement = (
callback(result, null)
return
}
// @ts-
ignore
// @ts-
expect-error
const list: UTSJSONObject[] = []
getValidNodes(element, params.selector, list)
if (list.length > 0) {
...
...
@@ -71,7 +71,7 @@ export const getElements = (
callback
)
if (element != null) {
// @ts-
ignore
// @ts-
expect-error
const list: UTSJSONObject[] = []
getValidNodes(element, removeUniPrefix(params.selector), list, true)
callback({ elements: list }, null)
...
...
@@ -137,7 +137,7 @@ export const getProperties = (
params.nodeId,
callback
)
// @ts-
ignore
// @ts-
expect-error
let component: ComponentPublicInstance | null = null
if (params.nodeId != null) {
component = getComponentVmByNodeId(params.pageId, params.nodeId!, callback)
...
...
@@ -203,10 +203,9 @@ export const callFunction = (
case 'input.input':
element.dispatchEvent(
'input',
// @ts-ignore
new InputEvent(
'input',
// @ts-
ignore
// @ts-
expect-error
InputEventDetail(params.args[0] as string, 0, 0)
)
)
...
...
@@ -215,10 +214,9 @@ export const callFunction = (
case 'textarea.input':
element.dispatchEvent(
'input',
// @ts-ignore
new InputEvent(
'input',
// @ts-
ignore
// @ts-
expect-error
InputEventDetail(params.args[0] as string, 0, 0)
)
)
...
...
@@ -311,14 +309,14 @@ export const tap = (params: TapParams, callback: Callback): void => {
)
if (dom != null) {
const num = 0
// @ts-
ignore
// @ts-
expect-error
const _float = num.toFloat()
dom.dispatchEvent(
'click',
new MouseEvent(
'click',
_float,
// @ts-
ignore
// @ts-
expect-error
_float,
_float,
_float,
...
...
@@ -353,7 +351,7 @@ export const callMethod = (
params.args.length > 0
? component.$callMethod(params.method, params.args[0])
: component.$callMethod(params.method)
// @ts-
ignore
// @ts-
expect-error
if (result instanceof Promise<unknown>) {
(result as Promise<any>).then((res: any) => {
callback({ result: res }, null)
...
...
@@ -445,7 +443,7 @@ export const longpress = (
const y: number = 0
dom.dispatchEvent(
'longpress',
// @ts-
ignore
// @ts-
expect-error
new TouchEvent(null, 'longpress', getTouches([]), getTouches([]))
)
callback({ result: `Element.longpress success` }, null)
...
...
@@ -476,7 +474,7 @@ export const handleTouchEvent = (
const changedTouches = getTouches(params.changedTouches)
dom.dispatchEvent(
eventName,
// @ts-
ignore
// @ts-
expect-error
new TouchEvent(null, eventName, touches, changedTouches)
)
callback({ result: `Element.${eventName} success` }, null)
...
...
@@ -495,9 +493,9 @@ type TypeTouch = {
function getTouches(touches: any[]): Touch[] {
return touches.map((touch): Touch => {
// @ts-
ignore
// @ts-
expect-error
const touchObj = JSON.parse<TypeTouch>(JSON.stringify(touch))!
// @ts-
ignore
// @ts-
expect-error
const result = Touch()
result.identifier = touchObj.identifier.toFloat()
result.pageX = touchObj.pageX.toFloat()
...
...
@@ -552,7 +550,7 @@ export type TriggerEventParams = {
elementId?: string | null
nodeId?: number | null
type: string;
detail
: CustomEventDetai
l;
detail
?: CustomEventDetail | nul
l;
}
export const triggerEvent = (params: TriggerEventParams, callback: Callback) => {
...
...
@@ -571,11 +569,30 @@ export const triggerEvent = (params: TriggerEventParams, callback: Callback) =>
case 'input.input':
dom.dispatchEvent(
type,
// @ts-ignore
new UniInputEvent(
type,
// @ts-expect-error
UniInputEventDetail(detail.value!, 0, 0)
UniInputEventDetail(detail === null ? '' : detail.value!, 0, 0)
)
)
callback({ result: `${functionName} success` }, null)
break
case 'input.focus':
dom.dispatchEvent(
type,
new UniInputFocusEvent(
type,
new InputFocusEventDetail(300, '')
)
)
callback({ result: `${functionName} success` }, null)
break
case 'input.blur':
dom.dispatchEvent(
type,
new UniInputBlurEvent(
type,
new UniInputBlurEventDetail('', 10)
)
)
callback({ result: `${functionName} success` }, null)
...
...
@@ -583,11 +600,10 @@ export const triggerEvent = (params: TriggerEventParams, callback: Callback) =>
case 'textarea.input':
dom.dispatchEvent(
type,
// @ts-ignore
new UniInputEvent(
type,
// @ts-
ignore
UniInputEventDetail(detail.value!, 0, 0)
// @ts-
expect-error
UniInputEventDetail(detail
=== null ? '' : detail
.value!, 0, 0)
)
)
callback({ result: `${functionName} success` }, null)
...
...
packages/uni-app-uts/lib/automator/ios/automator.js
浏览文件 @
9e15faa0
此差异已折叠。
点击以展开。
packages/uni-app-vite/lib/template/__uniappautomator.js
浏览文件 @
9e15faa0
此差异已折叠。
点击以展开。
packages/uni-h5/lib/automator.js
浏览文件 @
9e15faa0
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录