testcontainers-python
testcontainers-python copied to clipboard
DockerCompose Example cannot get it to run
My python file:
from testcontainers.compose import DockerCompose
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
with DockerCompose("/User/person/Projects/Cultivation/tst-containers",
compose_file_name=["docker-compose-1.yml",],
pull=True) as compose:
host = compose.get_service_host("hub", 4444)
port = compose.get_service_port("hub", 4444)
driver = webdriver.Remote(
command_executor=("http://{}:{}/wd/hub".format(host,port)),
desired_capabilities=DesiredCapabilities.CHROME,
)
driver.get("http://automation-remarks.com")
stdout, stderr = compose.get_logs()
if stderr:
print("Errors\n:{}".format(stderr))
My docker-compose-1.yml file:
version: '3.3'
services:
hub:
image: selenium/hub
ports:
- "4444:4444"
firefox:
image: selenium/node-firefox
links:
- hub
depends_on:
- hub
expose:
- "5555"
chrome:
image: selenium/node-chrome
links:
- hub
depends_on:
- hub
expose:
- "5555"
The error I am getting is :
(venv) python playground/d-compose-example.py
Pulling hub ... done
Pulling firefox ... done
Pulling chrome ... done
Creating network "bit_tor_default" with the default driver
Creating bit_tor_hub_1 ... done
Creating bit_tor_chrome_1 ... done
Creating bit_tor_firefox_1 ... done
HOST 0.0.0.0
PORT 4444
playground/d-compose-example.py:31: DeprecationWarning: desired_capabilities has been deprecated, please pass in an Options object with options kwarg
driver = webdriver.Remote(
Stopping bit_tor_firefox_1 ... done
Stopping bit_tor_chrome_1 ... done
Stopping bit_tor_hub_1 ... done
Removing bit_tor_firefox_1 ... done
Removing bit_tor_chrome_1 ... done
Removing bit_tor_hub_1 ... done
Removing network bit_tor_default
Traceback (most recent call last):
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
httplib_response = conn.getresponse()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 1344, in getresponse
response.begin()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "playground/d-compose-example.py", line 31, in <module>
driver = webdriver.Remote(
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 277, in __init__
self.start_session(capabilities, browser_profile)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 370, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 433, in execute
response = self.command_executor.execute(driver_command, params)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/remote_connection.py", line 344, in execute
return self._request(command_info[0], url, body=data)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/remote_connection.py", line 366, in _request
response = self._conn.request(method, url, body=body, headers=headers)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/request.py", line 78, in request
return self.request_encode_body(
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/request.py", line 170, in request_encode_body
return self.urlopen(method, url, **extra_kw)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/poolmanager.py", line 376, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 785, in urlopen
retries = retries.increment(
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
raise value.with_traceback(tb)
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
httplib_response = conn.getresponse()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 1344, in getresponse
response.begin()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
Is there something that I am not doing to make this work? All of the other examples I have tried seem to work just fine.