Прерывистые сбои автоматизации пользовательского интерфейса после программной блокировки экрана Windows и разблокировкиJAVA

Программисты JAVA общаются здесь
Anonymous
Прерывистые сбои автоматизации пользовательского интерфейса после программной блокировки экрана Windows и разблокировки

Сообщение Anonymous »

Я разрабатываю сценарий автоматизации пользовательского интерфейса, используя фреймворк на основе Java, которая использует распознавание изображений (аналогично Sikuli) для взаимодействия с настольными приложениями в Windows. WordPad).
[*] Программно блокировать сеанс пользователя, используя команду: Rundll32.exe user32.dll, Lockworkstation .
[*] Система автоматической системы автоматически разблокирует сеанс, чтобы продолжить сценарий.

Код: Выделить всё

java -jar ...
).
[*] Найдите и взаимодействуйте с элементами пользовательского интерфейса в этом новом приложении Java, используя распознавание изображений.

Проблема:
Эта автоматизация неровна. Он не прерывается (около 3-5% случаев) на шаге, где он пытается найти изображение в приложении Java Swing, запущенном после цикла блокировки/разблокировки экрана. Ошибка последовательно является «noshelementException»
Если я удалю команду Rundll32. Это настоятельно предполагает, что проблема связана с состоянием сеанса после разблокировки. окно Время поиска изображения после ожидания настроенного периода (например, 10 секунд). < /Li>
во время очистки в конце неудачного запуска, я также замечаю предупреждения о том, что первоначальные приложения (например, блокнот) не отвечают », когда сценарий пытается закрыть их. Время поиска изображения после ожидания настройки периода (например, 10 секунд). < /P>

Код: Выделить всё

// Step 1: Works reliably
open("notepad.exe")
window("[CLASS:Notepad]")
sendKeys("Preparing to lock...")
sleep(2000)

// Step 2: The source of instability
open("Rundll32.exe user32.dll,LockWorkStation")

// The system unlocks the screen here automatically.

// Step 3: Attempt to wait for stability (unreliable)
sleep(8000)

// Step 4: Launch the application that fails intermittently
def jarPath = downloadFileOnAgent("path/to/some/SwingApp.jar")
open("java -jar ${jarPath}")

// Step 5: This is where it fails intermittently
try {
window("[CLASS:SunAwtFrame;TITLE:My Swing App]")
// This next command fails with "Image not found"
$(byImage("path/to/button_image.png")).waitUntil(APPEARS, 10000).click()
} catch (Exception e) {
// Throws NoSuchElementException / ImageNotFoundException
log.error("Failed to find the element after screen unlock.", e)
}

// ... rest of the script
Вопрос:
Я ищу объяснение этого поведения. Что может это вызвать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... lock-and-u

Вернуться в «JAVA»