как загрузить файл в тест селена, работающий в докере

Я запускаю свои java-тесты селена в хром-контейнере Docker, установленном в моей системе Windows. Тесты для загрузки будут пройдены, если я запускаю тесты в Windows - Chrome, но с ошибкой path is not absolute: D:\xyz.csv, если я запускаю те же тесты в докере. Я запускаю свои тесты на узле chrome в докере.

Обычные тесты селена работают в докере, а загрузка — нет.

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

Спасибо


person Basavaraj    schedule 04.08.2017    source источник


Ответы (2)


Это потому, что Chrome будет искать этот путь в системе, где он. Но контейнер — это система на базе Linux, и пути к файлам не такие.

Поэтому вам нужно разделить объем при запуске хромированного контейнера

docker run -v localfolder:containerfolder

и в вашем тесте вам нужно использовать путь contaienrfolder, а не путь к локальной папке

person Tarun Lalwani    schedule 04.08.2017
comment
Спасибо. Другой способ, который я получил, прокомментирован ниже. - person Basavaraj; 25.07.2018

Я получил решение этой проблемы давным-давно. Используйте приведенную ниже команду, чтобы скопировать файлы из системы Windows/Linux в контейнер Chrome, работающий в папке «tmp» докера, этот путь можно позже указать в тестах селена, запущенных в Docker.

"докер cp D:\file.csv docker_chrome_1:/tmp/"

Эту приведенную выше команду можно запустить после того, как контейнер Docker Chrome будет запущен и запущен на компьютере с Windows/Linux.

person Basavaraj    schedule 25.07.2018
comment
это просто временное решение - person Oliver; 01.04.2019