Skip to content

Commit dee53c6

Browse files
committed
Add type annotations for selenium.
1 parent 391ad82 commit dee53c6

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

selenium/testcontainers/selenium/__init__.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
Allows to spin up selenium containers for testing with browsers.
1818
"""
1919

20+
from selenium import webdriver
2021
from testcontainers.core.container import DockerContainer
2122
from testcontainers.core.waiting_utils import wait_container_is_ready
23+
from typing import Optional
2224
import urllib3
2325

2426

@@ -28,7 +30,7 @@
2830
}
2931

3032

31-
def get_image_name(capabilities):
33+
def get_image_name(capabilities: str) -> str:
3234
return IMAGES[capabilities['browserName']]
3335

3436

@@ -49,29 +51,28 @@ class BrowserWebDriverContainer(DockerContainer):
4951
You can easily change browser by passing :code:`DesiredCapabilities.FIREFOX` instead.
5052
"""
5153

52-
def __init__(self, capabilities, image=None, **kwargs):
54+
def __init__(self, capabilities: str, image: Optional[str] = None, **kwargs) -> None:
5355
self.capabilities = capabilities
5456
self.image = image or get_image_name(capabilities)
5557
self.port_to_expose = 4444
5658
self.vnc_port_to_expose = 5900
5759
super(BrowserWebDriverContainer, self).__init__(image=self.image, **kwargs)
5860
self.with_exposed_ports(self.port_to_expose, self.vnc_port_to_expose)
5961

60-
def _configure(self):
62+
def _configure(self) -> None:
6163
self.with_env("no_proxy", "localhost")
6264
self.with_env("HUB_ENV_no_proxy", "localhost")
6365

6466
@wait_container_is_ready(urllib3.exceptions.HTTPError)
65-
def _connect(self):
66-
from selenium import webdriver
67+
def _connect(self) -> webdriver.Remote:
6768
return webdriver.Remote(
6869
command_executor=(self.get_connection_url()),
6970
desired_capabilities=self.capabilities)
7071

71-
def get_driver(self):
72+
def get_driver(self) -> webdriver.Remote:
7273
return self._connect()
7374

7475
def get_connection_url(self) -> str:
7576
ip = self.get_container_host_ip()
7677
port = self.get_exposed_port(self.port_to_expose)
77-
return 'http://{}:{}/wd/hub'.format(ip, port)
78+
return f'http://{ip}:{port}/wd/hub'

0 commit comments

Comments
 (0)