我正在尝试为 Dyalog APL 中的图形组件编写一个测试,它将模拟打开新窗口的按钮单击和用于填写表单字段的击键。我的第一种方法是简单地编写一系列 ⎕NQ 语句用于排队事件:
⎕NQ '#.foo.barButton' 'Select' ⍝ open window
⎕NQ '#.foo.bar.bazTab' 'Select' ⍝ select tab in opened window
....
然而,问题在于,如果目标对象尚未显示(例如打开窗口时),⎕NQ 会失败:
VALUE ERROR: The event contains an invalid object or event name
我尝试在 ⎕NQ 语句之间插入几秒钟的暂停,但这没有任何区别,因为执行是同步的。
我应该采取什么方法?