GUI脚本。 如何不每次遍历对象树?

2020-08-25 12:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有几个问题 1。 ...

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

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


嗨,

我有几个问题

1。 每次我想访问特定字段时,是否都可能不遍历对象树?

到目前为止,我使用Object.children.item()等等。 但是,无论如何,SAP似乎遍历了所有要素。

我认为这样做会更好,但分析后似乎没有。

如何避免这种情况? 保留某种缓存以直接访问元素

2。 某些GUI事件无效:命中,错误。

我从Session对象(Session_Hit等)中捕获了它们。

CreateSession和DestroySession可以正常工作。

这个想法与内置记录器相同:侦听用户事件并记录脚本,但是有效载荷不同(试图避免连续会话。FindById...并使元素名称易于阅读)。

提前谢谢!

7条回答
Tong__Ming
2020-08-25 13:26

大家好。 很抱歉收到这么晚的答复。

似乎有误会。

设置ScreenA = Session.FindById(" BLA")

设置ScreenB = Session.FindById(" BLABLA")

ScreenB.DoubleClick进入了第二个屏幕。

ScreenB.MoveBack'进入了第一个屏幕。

ScreenA.Text'对象不再可用,因为SAP已清除引用。

设置ScreenA = Session.FindById(" BLA")'因此,您必须再次查找它,这显然很昂贵。 我经常遇到这种循环操作,您必须在两个屏幕之间切换。

所以最初的问题是,在屏幕切换之间如何保持对ScreenA的引用?

我认为这是主机应用程序(SAP)的局限性,因此应从那里更改。 但是也许存在一些我不知道的解决方法。

一周热门 更多>