自动化Oracle Forms应用程序(Java)

最后编辑了

概述

Oracle Forms应用程序实际上是Java applet以及Oracle的一些附加功能。

不幸的是,Oracle Forms应用程序具有一个不可见的对象,它覆盖完整的UI,并且Quish记录所有鼠标点击。

解决此问题,它应该在开始记录之前隐藏在测试脚本中的此不可见对象。这意味着一个人应该在断点使用片段录制。

录制和采摘入门

步骤1 - 记录仅执行一个单击Oracle Forms应用程序的测试脚本。例如:

from objectmaphelper import Wildcard

def main():
    loadUrl("...")
    ...
    waitForApplicationLaunch()
    mouseClick(waitForObject("..."), ...)
test.py.

第2步 - 更改脚本代码:

def main():
    loadUrl("...")
    ...
    waitForApplicationLaunch()
    init_oracle_forms_usage()

    test.breakpoint()

def init_oracle_forms_usage():
    # Hide the transparent pane that otherwise would
    # be getting all mouse clicks:
    o = waitForObject({"basetype": "oracle.ewt.lwAWT.LWComponent", "name": Wildcard("GlassMouseGrabProvider$Proxy*", "visible": "true"})
    o.setVisible(False)
test.py.

第3步 - 执行到断点。

第四步 - Start recording (Run > Record Snippet) or 挑选和检查物体 .