селен rc captureEntirePageScreenshotToString запускает FileNotFoundException - PullRequest
1 голос
/ 02 июня 2010

Я использую selenium rc для функционального тестирования веб-сайтов, и недавно у меня возникла загадочная проблема с сафари и оперой. Когда тест не пройден, я делаю снимок экрана с помощью команды captureEntirePageScreenshotToString, а также извлекаю источник HTML. Иногда, однако, это терпит неудачу с FileNotFoundException: java.io.FileNotFoundException: C: \ DOKUME ~ 1 \ selenium \ LOKALE ~ 1 \ Temp \ customProfileDir8aa20800ab1a46dbb3ef71d4d2d31b77 \ screenshots \ page-screenshot-8aa20800ab1a46dbb3ef71d4dp * 100bb

Это ошибка селена? Как я могу обойти эту проблему?

Я использую Selen RC автономный 2.0a4.

спасибо,

1009 * Ганс *

Ответы [ 2 ]

0 голосов
/ 23 мая 2011

Итак, я использовал метод captureScreenshotToString, который немного отличается, но все же предоставляет средства для получения снимка экрана из удаленного экземпляра селена.

Существенным отличием / проблемой этого подхода является то, что он требует, чтобы сервер selenium был разблокированным сеансом Windows, чтобы он мог получить доступ к буферу отображения для доступа к физическому экрану. Это создало проблемы с моими безголовыми машинами с сеткой селена, с которыми я удаленно работаю для администрирования / устранения неполадок.

Чтобы обойти эту проблему, я использовал сценарий автолога для этой статьи MSDN и настройте задачу для перезагрузки компьютера после завершения сеанса удаленного рабочего стола.

Чтобы настроить автозапуск после отключения удаленного рабочего стола:

  1. Открыть планировщик задач
  2. Создать новое задание (Создать задание ...)
  3. Установите имя задачи «Автоматический перезапуск после отключения удаленного рабочего стола»
  4. На вкладке Общие измените пользователя на NT AUTHORITY \ SYSTEM
  5. Перейдите на вкладку Триггеры, нажмите Новый ..., чтобы создать новый триггер
  6. Установите для параметра «Начать задачу» значение «При отключении от сеанса пользователя»
  7. По умолчанию это будет для любого пользователя и с удаленных компьютеров, что именно то, что мы ищем.
  8. Перейдите на вкладку Actions, нажмите New ..., чтобы создать новое действие
  9. Выберите действие для запуска программы. Установите для программы значение «C: \ Windows \ System32 \ shutdown.exe», а затем добавьте «/ r / f / t 5» (перезапуск, принудительное завершение работы приложений, подождите 5 секунд для перезапуска).

Справедливое предупреждение, это не самый безопасный способ сидеть за компьютером

0 голосов
/ 20 июня 2010

Я предлагаю вам использовать функцию Apache Commons FileUtils makeDirs () для создания всех родительских каталогов каталога, в котором будет находиться изображение png.

...