Selenium не может найти файл, работающий в отдельном контейнере

У меня есть 4 контейнера, работающих в одной сети Docker.

  • монгодб
  • наш API-сервер
  • селеновый сервер
  • сами наши тесты

Я получаю эту ошибку из нашего тестового контейнера:

 WebDriverError: File not found: /root/cdt-tests/csv-data/IT-DE-Jasper.csv

Однако, судя по моим журналам испытаний, этот файл полностью существует... в тестовом контейнере.

Проблема, я думаю, в том, что сервер selenium не смотрит на ту же файловую систему, что и наш тестовый контейнер, потому что они работают в разных контейнерах.

Как лучше всего решить эту проблему?

а. Должен ли я пытаться запустить их в одном контейнере?

б. Могу ли я как-то заставить их использовать одну и ту же файловую систему?

c. ?


person Alexander Mills    schedule 23.05.2017    source источник
comment
Да, но полностью ли мы уверены, что это решение проблемы? Я не уверен на 100%, что проблема в том, что сервер селена не может найти файл, потому что сервер селена работает в другой файловой системе... Я уверен на 80%, но если бы кто-то мог сделать резервную копию, это помогло бы.   -  person Alexander Mills    schedule 24.05.2017
comment
Я бы попробовал, даже если бы был уверен на 30%. Это не повредит, если это не сработает. В таком случае просто обновите вопрос тем, что вы пробовали.   -  person Alex Blex    schedule 25.05.2017


Ответы (2)


То, что вы делитесь сетью, не означает, что вы делитесь томами, посмотрите, как это сделать Как в Docker я могу обмениваться файлами между контейнерами, а затем сохранять их в образ? как предложил @alex-blex

person Leo Gallucci    schedule 24.05.2017

Вы можете подключить контейнеры с помощью определяемой пользователем сети, как описано в Сайт Docker

Если вы уже это сделали, проблема может заключаться в пути к файлу, который вы используете в своем тесте. Возможно, ему нужен абсолютный путь, потому что контейнеры считаются разными объектами в сети Docker.

person mantisb    schedule 24.05.2017