Ожидание между событиями GUI

August Karlstrom спросил: 28 сентября 2018 в 08:42 в: event-handling

Я пытаюсь написать тест для графического компонента в Dyalog APL, который будет имитировать нажатия кнопок, которые открывают новые окна и нажатия клавиш для заполнения полей формы. Мой первый подход состоял в том, чтобы просто написать последовательность операторов ⎕NQ для постановки в очередь событий:

⎕NQ '#.foo.barButton' 'Select'   ⍝ open window
⎕NQ '#.foo.bar.bazTab' 'Select'  ⍝ select tab in opened window
....

Проблема, однако, заключается в том, что QNQ завершается ошибкой, если целевой объект еще не отображался (например, при открытии окна):

VALUE ERROR: The event contains an invalid object or event name

Я попытался вставить паузу в несколько секунд между операторами ⎕NQ, но это не имело никакого значения, поскольку выполнение является синхронным .

Какой подход мне выбрать?

0 ответов