以下方法并不特定于单一测试自动化工具,但适用于市场上的大多数工具,如CBTA、eCATT和HP QTP/HP UFT。
使用动态屏幕时的典型情况
某些事务(如ME51N创建请购单)在用户上下文中记住事务最后一次使用时的状态。因此,事务中的开始屏幕可以有折叠的屏幕元素
或者可以展开的屏幕元素
挑战1:
在所有必需的屏幕元素都已展开的情况下执行自动测试的录制。当您稍后执行测试脚本时,它可能会失败,因为某些必需的屏幕元素无法处理,因为它们不可见。如果同一个用户在上次使用期间以不同的状态离开了事务,或者您正在与不同的用户或甚至在不同的系统中执行脚本,则可能会发生这种情况。
挑战2:
当所需的屏幕元素最初不可见时,企业管理软件开发,您执行录制,因此您录制了对展开它的按钮的单击。重放脚本时,很可能会失败,因为初始屏幕状态现在已展开,相关按钮已被折叠按钮(如ME51N)替换。
建议的方法:
录制前:
录制期间:
虽然必要的屏幕元素已设置,但应处理快捷方式(如Crtl+F2和Crtl+F3)扩展以确保这些操作是脚本的一部分。
结果:
录制的脚本将始终确保屏幕准备好满足预期状态,然后能够独立于上次使用或用户上下文执行实际测试活动。
很棒的博客Reiner!
我还想补充一点,有时这种情况也可以使用If else结构来处理。这样的结构已经出现在CBTA-基于组件的测试自动化中。
你好Sonal,
这是一个非常好的IF-ELSE-ENDIF组件已经开发出来。
我们在越来越多的情况下使用它们。
问候,
Rémi。
你好Reiner,
这是一个非常聪明的技巧,我没有想到,谢谢你的提示!
您可能已经知道SAP已经开发了定制功能模式,特别是扩展了ME2xN和ME5xN事务的所有部分的模式。
请参阅SAP Marketplace(S-user required)中的此文档:
~sapidb/0110003587000001194862014e.PDF
要使用此模式,您需要做的就是:
-检查RTL
-使用"代码助手"按钮创建一个新函数,并选择ME21N\u ExpandAllSections
=>相应的函数将在一个新的.vbs文件中创建
-在脚本的开头插入默认组件CBTA\u GUI\u a\u INVOKE\u函数(通常在第二个位置-在组件之后)CBTA\u GUI\u A\u CHECKTCODE),并调用此函数
更进一步的一步是确保您要填充的选项卡已经可见-或者更好,先强制打开它(当您录制脚本时)。
问候,大数据 学习,
Rémi.
你好,Remi,
我是因为事务MIGO中的同类问题而联系的。这里没有可用的快捷方式,因此确实需要使用自定义功能。
可以使用ME21N\U ExpandAllSections作为模式,并相应地替换.vbs文件中的URI信息。
问候Reiner
你好,
我正在处理CBTA,以便在SAP门户上记录场景。
我能够记录并执行简单的场景。
但在少数情况下,我在门户上所做的录制,可视化数据大屏,当我尝试再次执行录制的场景时,值在门户上没有正确映射。
请让我知道如何处理此情况。
提前感谢您解除我的阻止。
Deepanker Mahajan
您好Reiner,
非常好的文档。
我正在寻找类似的问题。
我曾尝试解决ME21N的hear-detail(Ctrl+F2)和Item-detail的类似问题,添加了默认组件"CBTA\u GUI\u A\u PRESSKEY",大数据核心,URI为hear-detail,KEY为Ctrl+F2,但不起作用。
但会尝试在录制中添加快捷键(Ctrl+F)本身。
不过,我想问一下,对于类似的问题,我们是否有其他替代方案,可以通过添加默认组件(如IF、ENDIF、CBTA\u GUI\u A\u PRESSKEY等)来解决,然后请告诉我,如果有任何文件可用,那将是很好的。
问候,
Ashish,
Hi Ashish,
我不确定我是否完全理解这个问题,但是您可以查看下面的文档,其中提供了一些高级选项,说明如何在使用软件附带的自定义代码模式时解决类似甚至更复杂的情况,这些模式可以轻松地应用于您的具体情况(例如,替换URI)
https://support.sap.com/content/dam/library/sap%20Support%20Portal/support programs services/solution manager/processs/Media%20Library/Test%20Management/CBTA%203.0%20SP05%20-%20Custom%20Code%20Patterns%20-%20CBASE%20Customization.pdf
让我知道这是否适合你的问题。
,微信返利机器人