Fiori/SAPUI5 App的SAP iRPA自动化:模拟按键事件和更改事件不触发

2020-08-21 03:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使SAPUI5应用程序自动化,并且遇到以下问题:

我想为输入字段设置一个值(带有建议),并让change事件处理逻辑。 该应用程序很大程度上取决于触发输入字段的更改事件,以便可以直接执行验证。

我现在的问题是,无论我尝试什么,更改事件都不会被触发。

我尝试过:

  • 通过字段上的 ctx.item.keyStroke 设置值
  • 通过 ctx.item.set
  • 进行设置
  • 通过 ctx.apiui5.setValue
  • 进行设置

删除旧值并设置新值可以正常工作,就像在DOM Tree中更改value属性一样,但是即使使用keyStroke,似乎也无法识别sapui5视图中的实际输入。

所有3个都不会触发更改事件。

首先,我尝试使用击键(设置值后按 e.key.Enter ),但是在页面级别(甚至是核心级别: ctx.keystroke )上 )方法无效。

我尝试设置焦点(ctx.item.setFocus())并使用 anotherField.clickMouse()从字段中单击(因为SAPUI5文档指出,更改后的Value和Focus离开了 该字段也会触发更改事件,这似乎是一种解决方法)

此外,我尝试使用框架的ctx.apiui5.suggestionSearch方法,但它给我" SAPUI5SuggestionSearch未定义"。 尝试将代码中的ctx.item初始化为customType ctx.customTypes.SAPUI5.SF.suggestionSearchField 也不起作用。

我最后尝试的方法是使用通用的callFunc方法:

ctx.apiui5.callFunc(myInput," fireChange");

它不会引发异常或错误,但是不会触发change事件。

我在控制台中检查了一下,如果我在Input上调用fireChange函数,则可以正常运行。 尽管解决此问题的方法对我有帮助,但对我来说似乎有点奇怪,因为没有使用通用的设置值/模拟击键的方法触发更改事件。

您能否详细说明如何触发正常事件?

PS .:太好了,如果有人可以提供有关何时在API文档中更新此部分的信息,因为此部分看起来很新,因此缺少一些有用的信息

感谢您的努力。
最诚挚的问候
帕斯卡

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使SAPUI5应用程序自动化,并且遇到以下问题:

我想为输入字段设置一个值(带有建议),并让change事件处理逻辑。 该应用程序很大程度上取决于触发输入字段的更改事件,以便可以直接执行验证。

我现在的问题是,无论我尝试什么,更改事件都不会被触发。

我尝试过:

  • 通过字段上的 ctx.item.keyStroke 设置值
  • 通过 ctx.item.set
  • 进行设置
  • 通过 ctx.apiui5.setValue
  • 进行设置

删除旧值并设置新值可以正常工作,就像在DOM Tree中更改value属性一样,但是即使使用keyStroke,似乎也无法识别sapui5视图中的实际输入。

所有3个都不会触发更改事件。

首先,我尝试使用击键(设置值后按 e.key.Enter ),但是在页面级别(甚至是核心级别: ctx.keystroke )上 )方法无效。

我尝试设置焦点(ctx.item.setFocus())并使用 anotherField.clickMouse()从字段中单击(因为SAPUI5文档指出,更改后的Value和Focus离开了 该字段也会触发更改事件,这似乎是一种解决方法)

此外,我尝试使用框架的ctx.apiui5.suggestionSearch方法,但它给我" SAPUI5SuggestionSearch未定义"。 尝试将代码中的ctx.item初始化为customType ctx.customTypes.SAPUI5.SF.suggestionSearchField 也不起作用。

我最后尝试的方法是使用通用的callFunc方法:

ctx.apiui5.callFunc(myInput," fireChange");

它不会引发异常或错误,但是不会触发change事件。

我在控制台中检查了一下,如果我在Input上调用fireChange函数,则可以正常运行。 尽管解决此问题的方法对我有帮助,但对我来说似乎有点奇怪,因为没有使用通用的设置值/模拟击键的方法触发更改事件。

您能否详细说明如何触发正常事件?

PS .:太好了,如果有人可以提供有关何时在API文档中更新此部分的信息,因为此部分看起来很新,因此缺少一些有用的信息

感谢您的努力。
最诚挚的问候
帕斯卡

付费偷看设置
发送
2条回答
愤怒的猪头君
1楼-- · 2020-08-21 03:39

尝试了类似的尝试但没有成功:ctx.apiui5.callFunc(SamplesDemoKit.pSamplesDemoKit.oInput," removeAllTokens",[]); 与同事一起寻找答案。

闻人可可
2楼-- · 2020-08-21 03:39

这个问题解决了吗? 我有同样的问题。

一周热门 更多>