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

FocusPocus

Регистрация: 22 янв 2014
Offline Активность: 05 фев 2014 09:21
-----

Мои темы

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

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. 
 
Благодарен за помощь=)