Skip to content

Commit 658c713

Browse files
PhilippSeleniumBeyondEvil
authored andcommitted
PhantomJS driver will be removed in selenium 4.0.0
1 parent 4e085ed commit 658c713

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

pytest_selenium/pytest_selenium.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
import argparse
66
import copy
77
from datetime import datetime
8+
from distutils.version import LooseVersion
89
import os
910
import io
1011
import logging
1112

1213
import pytest
1314
from requests.structures import CaseInsensitiveDict
15+
from selenium import __version__ as SELENIUM_VERSION
1416
from selenium import webdriver
1517
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
1618
from selenium.webdriver.support.event_firing_webdriver import EventFiringWebDriver
@@ -28,14 +30,18 @@
2830
"Edge": webdriver.Edge,
2931
"Firefox": webdriver.Firefox,
3032
"IE": webdriver.Ie,
31-
"PhantomJS": webdriver.PhantomJS,
3233
"Remote": webdriver.Remote,
3334
"Safari": webdriver.Safari,
3435
"SauceLabs": webdriver.Remote,
3536
"TestingBot": webdriver.Remote,
3637
}
3738
)
3839

40+
41+
# Selenium 4.0.0 deprecated phantom js.
42+
if LooseVersion(SELENIUM_VERSION) < LooseVersion("4.0.0"):
43+
SUPPORTED_DRIVERS["PhantomJS"] = webdriver.PhantomJS
44+
3945
try:
4046
from appium import webdriver as appiumdriver
4147

testing/test_phantomjs.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
44

55
import os
6+
from distutils.version import LooseVersion
67

78
import pytest
9+
from selenium import __version__ as SELENIUM_VERSION
810

911
pytestmark = pytest.mark.nondestructive
1012

@@ -20,7 +22,11 @@ def test_pass(webtext):
2022
assert webtext == u'Success!'
2123
"""
2224
)
23-
testdir.quick_qa("--driver", "PhantomJS", file_test, passed=1)
25+
if LooseVersion(SELENIUM_VERSION) < LooseVersion("4.0.0"):
26+
testdir.quick_qa("--driver", "PhantomJS", file_test, passed=1)
27+
else:
28+
reprec = testdir.inline_run("--driver", "PhantomJS")
29+
assert reprec.ret == pytest.ExitCode.USAGE_ERROR
2430

2531

2632
@pytest.mark.phantomjs
@@ -36,5 +42,8 @@ def driver_args():
3642
def test_pass(selenium): pass
3743
"""
3844
)
39-
testdir.quick_qa("--driver", "PhantomJS", file_test, passed=1)
40-
assert os.path.exists(str(testdir.tmpdir.join("foo.log")))
45+
if LooseVersion(SELENIUM_VERSION) < LooseVersion("4.0.0"):
46+
testdir.quick_qa("--driver", "PhantomJS", file_test, passed=1)
47+
assert os.path.exists(str(testdir.tmpdir.join("foo.log")))
48+
else:
49+
pass

0 commit comments

Comments
 (0)