Перейти к содержимому

Тестирование веб-приложений 2.0
онлайн, начало 29 мая
Автоматизация функционального тестирования
онлайн, начало 29 мая
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 21 июня
Школа тест-менеджеров v. 2.0
онлайн, начало 27 мая
Фотография

Работа с буфером обмена на удаленной машине

remote clipboard буфер обмена selenium java

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 FocusPocus

FocusPocus

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 22 января 2014 - 11:55

Всем привет, 

Столкнулся с такой проблемой:

 

Необходимо протестировать некий функционал при вставке текста из буфера обмена. 

Если бы все гонялось на одной машине, например linux с визуализацией, то никаких проблем бы не возникало, записал бы в буфер так:

 

    public static void setClipboardContents(String aString) {
        StringSelection stringSelection = new StringSelection(aString);
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
    }
 
затем вставил в поле при помощи комбинации клавиш Ctrl+V.
 
 
Но как быть если тесты запускаются на машине без визуализации с помощью seleniumGrid и через RemoteWebDriver гоняются на другой.
 
Сталкиваюсь с двумя проблемами:
1. Для записи в Clipboard требуется дисплей, то есть если нет визуализации, то запись в буфер обмена невозможна.
2. Допустим визуализация есть и я записал в буфер обмена текст, затем хочу вставить в поле, но браузер то на другой машине, там буфер пустой, опять же задача невыполнима.
 
С помощью средств  вуртуализации, в данном случае стоит openVZ, расшарить буфер между вируалками не получается, не нашел как это настроить=(
 
Возможно у selenium есть свои средства, ну мало ли. Например, для возможности работы с файлами в таком окружении существует org.openqa.selenium.remote.LocalFileDetector. 
Возможно средствами Java можно каким-либо способом передавать clipboard. 
 
Благодарен за помощь=)
 
 
 
 
 
 
 
 

  • 0

#2 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 22 января 2014 - 12:06

Для подобных целей мы сделали обертку для селениума, в которой как раз реализованы методы, которые необходимо выполнять именно на удаленной машине (создание скриншотов средствами ОС, клики роботом, открытие/закрытие портов и т.п.).

Компилируем все вместе с селениумом в один джарник. Разница с использованием голого селениума лишь в том, что надо скачивать джарник не с сайта селениума, а из нашего хранилища.


  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 844 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 23 января 2014 - 13:14

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


  • 0

Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


#4 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 27 января 2014 - 13:39

С помощью RMI-интерфейса

Если нужны подробности, спрашивайте, расскажу детальней.


  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 844 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 28 января 2014 - 07:43

То есть это дополнительный независимый сервер?

 

Я просто подумал, может быть вы сделали расширение для Selenium Server, добавив свои сервлеты для новых команд, и хотел попросить в качестве примера для демонстрации того, как можно/нужно расширять возможности Selenium Server.


  • 0

Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


#6 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 28 января 2014 - 08:24

Да, по сути, это сервер, внутрь которого встроен селениум-сервер. При старте сервера также инициализируется селениум и слушает стандартный порт, благодаря этому можно использовать селениум как обычно + у нас есть возможность вызывать дополнительные методы через RMI - интерфейс.

Основной плюс данного подхода - легкий переход на новую версию селениума (исправил версию в помнике и скомпилировал jar-ник). 


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами remote, clipboard, буфер обмена, selenium, java

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале