FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
testcontainers-python/testcontainers/selenium.py at master · mbode/testcontainers-python · GitHub
mbode
/
testcontainers-python
Public
forked from
testcontainers/testcontainers-python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
testcontainers-python
/
testcontainers
/
selenium.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
55 lines (45 loc) · 2 KB
Breadcrumbs
testcontainers-python
/
testcontainers
/
selenium.py
Copy path
File metadata and controls
55 lines (45 loc) · 2 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from
selenium
import
webdriver
from
selenium
.
webdriver
.
remote
.
webdriver
import
WebDriver
from
testcontainers
.
core
.
container
import
DockerContainer
from
testcontainers
.
core
.
waiting_utils
import
wait_container_is_ready
IMAGES
=
{
"firefox"
:
"selenium/standalone-firefox-debug:latest"
,
"chrome"
:
"selenium/standalone-chrome-debug:latest"
}
def
get_image_name
(
capabilities
):
return
IMAGES
[
capabilities
[
'browserName'
]]
class
BrowserWebDriverContainer
(
DockerContainer
):
def
__init__
(
self
,
capabilities
,
image
=
None
):
self
.
capabilities
=
capabilities
if
not
image
:
self
.
image
=
get_image_name
(
capabilities
)
self
.
port_to_expose
=
4444
self
.
vnc_port_to_expose
=
5900
super
(
BrowserWebDriverContainer
,
self
).
__init__
(
image
=
self
.
image
)
self
.
with_exposed_ports
(
self
.
port_to_expose
,
self
.
vnc_port_to_expose
)
def
_configure
(
self
):
self
.
with_env
(
"no_proxy"
,
"localhost"
)
self
.
with_env
(
"HUB_ENV_no_proxy"
,
"localhost"
)
@
wait_container_is_ready
()
def
_connect
(
self
):
return
webdriver
.
Remote
(
command_executor
=
(
self
.
get_connection_url
()),
desired_capabilities
=
self
.
capabilities
)
def
get_driver
(
self
)
->
WebDriver
:
return
self
.
_connect
()
def
get_connection_url
(
self
)
->
str
:
ip
=
self
.
get_container_host_ip
()
port
=
self
.
get_exposed_port
(
self
.
port_to_expose
)
return
'http://{}:{}/wd/hub'
.
format
(
ip
,
port
)
Back
|
FazBrowse Home
|
New Git URL