Skip to content

Commit 86bb274

Browse files
committed
Removed deprecated drivers
Removed phantomjs, iphone, android, htmlunit, htmlunit_js from both code and tests.
1 parent 24af380 commit 86bb274

8 files changed

Lines changed: 2 additions & 343 deletions

atest/acceptance/create_webdriver.robot

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ Set Driver Variables
4242
Set Test Variable ${DRIVER_NAME} ${name}
4343
${dc names}= Create Dictionary ff=FIREFOX firefox=FIREFOX ie=INTERNETEXPLORER
4444
... internetexplorer=INTERNETEXPLORER googlechrome=CHROME gc=CHROME
45-
... chrome=CHROME htmlunit=HTMLUNIT htmlunitwithjs=HTMLUNITWITHJS
46-
... safari=SAFARI headlessfirefox=FIREFOX headlesschrome=CHROME
45+
... chrome=CHROME safari=SAFARI headlessfirefox=FIREFOX headlesschrome=CHROME
4746
${dc name}= Get From Dictionary ${dc names} ${BROWSER.lower().replace(' ', '')}
4847
${caps}= Evaluate selenium.webdriver.DesiredCapabilities.${dc name}
4948
... modules=selenium, selenium.webdriver

src/SeleniumLibrary/keywords/browsermanagement.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,6 @@ def open_browser(
8383
| Internet Explorer | internetexplorer, ie |
8484
| Edge | edge |
8585
| Safari | safari |
86-
| Iphone | iphone |
87-
| PhantomJS | phantomjs |
88-
| HTMLUnit | htmlunit |
89-
| HTMLUnit with Javascript | htmlunitwithjs |
9086
9187
To be able to actually use one of these browsers, you need to have
9288
a matching Selenium browser driver available. See the
@@ -140,9 +136,7 @@ def open_browser(
140136
are available. Please note that not all browsers, supported by the
141137
SeleniumLibrary, have Selenium options available. Therefore please
142138
consult the Selenium documentation which browsers do support
143-
the Selenium options. If ``browser`` argument is `android` then
144-
[https://seleniumhq.github.io/selenium/docs/api/py/webdriver_chrome/selenium.webdriver.chrome.options.html#selenium.webdriver.chrome.options.Options|Chrome options]
145-
is used. Selenium options are also supported, when ``remote_url``
139+
the Selenium options. Selenium options are also supported, when ``remote_url``
146140
argument is used.
147141
148142
The SeleniumLibrary ``options`` argument accepts Selenium
@@ -362,9 +356,6 @@ def create_webdriver(
362356
| ${proxy}= | `Evaluate` | selenium.webdriver.Proxy() | modules=selenium, selenium.webdriver |
363357
| ${proxy.http_proxy}= | `Set Variable` | localhost:8888 | |
364358
| `Create Webdriver` | Firefox | proxy=${proxy} | |
365-
| # Use proxy with PhantomJS | | | |
366-
| ${service args}= | `Create List` | --proxy=192.168.132.104:8888 | |
367-
| `Create Webdriver` | PhantomJS | service_args=${service args} | |
368359
369360
Returns the index of this browser instance which can be used later to
370361
switch back to it. Index starts from 1 and is reset back to it when

src/SeleniumLibrary/keywords/webdrivertools/webdrivertools.py

Lines changed: 0 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ class WebDriverCreator:
5353
"internetexplorer": "ie",
5454
"edge": "edge",
5555
"safari": "safari",
56-
"phantomjs": "phantomjs",
57-
"htmlunit": "htmlunit",
58-
"htmlunitwithjs": "htmlunit_with_js",
59-
"android": "android",
60-
"iphone": "iphone",
6156
}
6257

6358
def __init__(self, log_dir):
@@ -336,106 +331,6 @@ def create_safari(
336331
service = SafariService(executable_path=executable_path, log_path=service_log_path)
337332
return webdriver.Safari(options=options, service=service)
338333

339-
def create_phantomjs(
340-
self,
341-
desired_capabilities,
342-
remote_url,
343-
options=None,
344-
service_log_path=None,
345-
executable_path="phantomjs",
346-
):
347-
warnings.warn(
348-
"SeleniumLibrary support for PhantomJS has been deprecated, "
349-
"please use headlesschrome or headlessfirefox instead."
350-
)
351-
if remote_url:
352-
defaul_caps = webdriver.DesiredCapabilities.PHANTOMJS.copy()
353-
desired_capabilities = self._remote_capabilities_resolver(
354-
desired_capabilities, defaul_caps
355-
)
356-
return self._remote(desired_capabilities, remote_url)
357-
if options:
358-
logger.warn("PhantomJS browser does not support Selenium options.")
359-
if not executable_path:
360-
executable_path = self._get_executable_path(webdriver.PhantomJS)
361-
return webdriver.PhantomJS(
362-
service_log_path=service_log_path,
363-
executable_path=executable_path,
364-
**desired_capabilities,
365-
)
366-
367-
def create_htmlunit(
368-
self,
369-
desired_capabilities,
370-
remote_url,
371-
options=None,
372-
service_log_path=None,
373-
executable_path=None,
374-
):
375-
if service_log_path or options or executable_path:
376-
logger.warn(
377-
"Htmlunit does not support Selenium options, service_log_path or executable_path argument."
378-
)
379-
defaul_caps = webdriver.DesiredCapabilities.HTMLUNIT.copy()
380-
desired_capabilities = self._remote_capabilities_resolver(
381-
desired_capabilities, defaul_caps
382-
)
383-
return self._remote(desired_capabilities, remote_url, options=options)
384-
385-
def create_htmlunit_with_js(
386-
self,
387-
desired_capabilities,
388-
remote_url,
389-
options=None,
390-
service_log_path=None,
391-
executable_path=None,
392-
):
393-
if service_log_path or options or executable_path:
394-
logger.warn(
395-
"Htmlunit with JS does not support Selenium options, service_log_path or executable_path argument."
396-
)
397-
defaul_caps = webdriver.DesiredCapabilities.HTMLUNITWITHJS.copy()
398-
desired_capabilities = self._remote_capabilities_resolver(
399-
desired_capabilities, defaul_caps
400-
)
401-
return self._remote(desired_capabilities, remote_url, options=options)
402-
403-
def create_android(
404-
self,
405-
desired_capabilities,
406-
remote_url,
407-
options=None,
408-
service_log_path=None,
409-
executable_path=None,
410-
):
411-
if service_log_path or executable_path:
412-
logger.warn(
413-
"Android does not support Selenium options or executable_path argument."
414-
)
415-
defaul_caps = webdriver.DesiredCapabilities.ANDROID.copy()
416-
desired_capabilities = self._remote_capabilities_resolver(
417-
desired_capabilities, defaul_caps
418-
)
419-
return self._remote(desired_capabilities, remote_url, options=options)
420-
421-
def create_iphone(
422-
self,
423-
desired_capabilities,
424-
remote_url,
425-
options=None,
426-
service_log_path=None,
427-
executable_path=None,
428-
):
429-
if service_log_path or executable_path:
430-
logger.warn(
431-
"iPhone does not support service_log_path or executable_path argument."
432-
)
433-
defaul_caps = webdriver.DesiredCapabilities.IPHONE.copy()
434-
desired_capabilities = self._remote_capabilities_resolver(
435-
desired_capabilities, defaul_caps
436-
)
437-
return self._remote(desired_capabilities, remote_url, options=options)
438-
439334
def _remote(self, desired_capabilities, remote_url, profile_dir=None, options=None):
440335
remote_url = str(remote_url)
441336
file_detector = self._get_sl_file_detector()
@@ -620,8 +515,6 @@ def create(self, browser, options):
620515
return selenium_options
621516

622517
def _import_options(self, browser):
623-
if browser == "android":
624-
browser = "chrome" # Android uses ChromeOptions()
625518
browser = browser.replace("headless_", "", 1)
626519
options = importlib.import_module(f"selenium.webdriver.{browser}.options")
627520
return options.Options

utest/test/keywords/IGNOREDtest_webdrivercreator.py

Lines changed: 0 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -590,113 +590,6 @@ def test_safari_no_broser_name(creator):
590590
assert driver == expected_webdriver
591591

592592

593-
def test_htmlunit_no_caps(creator):
594-
caps = webdriver.DesiredCapabilities.HTMLUNIT
595-
expected_webdriver = mock()
596-
file_detector = mock_file_detector(creator)
597-
when(webdriver).Remote(
598-
command_executor="None",
599-
desired_capabilities=caps,
600-
browser_profile=None,
601-
options=None,
602-
file_detector=file_detector,
603-
).thenReturn(expected_webdriver)
604-
driver = creator.create_htmlunit({}, None)
605-
assert driver == expected_webdriver
606-
607-
608-
def test_htmlunit_remote_caps(creator):
609-
caps = {"browserName": "htmlunit"}
610-
expected_webdriver = mock()
611-
file_detector = mock_file_detector(creator)
612-
when(webdriver).Remote(
613-
command_executor="None",
614-
desired_capabilities=caps,
615-
browser_profile=None,
616-
options=None,
617-
file_detector=file_detector,
618-
).thenReturn(expected_webdriver)
619-
driver = creator.create_htmlunit({"desired_capabilities": caps}, None)
620-
assert driver == expected_webdriver
621-
622-
623-
def test_htmlunit_no_browser_name(creator):
624-
capabilities = {"browserName": "htmlunit", "key": "value"}
625-
expected_webdriver = mock()
626-
file_detector = mock_file_detector(creator)
627-
when(webdriver).Remote(
628-
command_executor="None",
629-
desired_capabilities=capabilities,
630-
browser_profile=None,
631-
options=None,
632-
file_detector=file_detector,
633-
).thenReturn(expected_webdriver)
634-
driver = creator.create_htmlunit({"desired_capabilities": {"key": "value"}}, None)
635-
assert driver == expected_webdriver
636-
637-
638-
def test_htmlunit_with_js(creator):
639-
caps = webdriver.DesiredCapabilities.HTMLUNITWITHJS.copy()
640-
expected_webdriver = mock()
641-
file_detector = mock_file_detector(creator)
642-
when(webdriver).Remote(
643-
command_executor="None",
644-
desired_capabilities=caps,
645-
browser_profile=None,
646-
options=None,
647-
file_detector=file_detector,
648-
).thenReturn(expected_webdriver)
649-
driver = creator.create_htmlunit_with_js({}, None)
650-
assert driver == expected_webdriver
651-
652-
653-
def test_htmlunit_with_js_no_browser_name(creator):
654-
capabilities = {"browserName": "htmlunit", "key": "value"}
655-
expected_webdriver = mock()
656-
file_detector = mock_file_detector(creator)
657-
when(webdriver).Remote(
658-
command_executor="None",
659-
desired_capabilities=capabilities,
660-
browser_profile=None,
661-
options=None,
662-
file_detector=file_detector,
663-
).thenReturn(expected_webdriver)
664-
driver = creator.create_htmlunit_with_js(
665-
{"desired_capabilities": {"key": "value"}}, None
666-
)
667-
assert driver == expected_webdriver
668-
669-
670-
def test_iphone(creator):
671-
caps = webdriver.DesiredCapabilities.IPHONE
672-
expected_webdriver = mock()
673-
file_detector = mock_file_detector(creator)
674-
when(webdriver).Remote(
675-
command_executor="None",
676-
desired_capabilities=caps,
677-
browser_profile=None,
678-
options=None,
679-
file_detector=file_detector,
680-
).thenReturn(expected_webdriver)
681-
driver = creator.create_iphone({}, None)
682-
assert driver == expected_webdriver
683-
684-
685-
def test_iphone_no_browser_name(creator):
686-
capabilities = {"browserName": "iPhone", "key": "value"}
687-
expected_webdriver = mock()
688-
file_detector = mock_file_detector(creator)
689-
when(webdriver).Remote(
690-
command_executor="None",
691-
desired_capabilities=capabilities,
692-
browser_profile=None,
693-
options=None,
694-
file_detector=file_detector,
695-
).thenReturn(expected_webdriver)
696-
driver = creator.create_iphone({"desired_capabilities": {"key": "value"}}, None)
697-
assert driver == expected_webdriver
698-
699-
700593
def test_create_driver_chrome(creator):
701594
expected_webdriver = mock()
702595
executable_path = "chromedriver"

utest/test/keywords/IGNOREtest_webdrivercreator_executable_path.py

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -227,54 +227,6 @@ def test_create_safari_executable_path_not_set(creator):
227227
assert driver == expected_webdriver
228228

229229

230-
def test_create_htmlunit_executable_path_set(creator):
231-
executable_path = "path/to/bin"
232-
caps = webdriver.DesiredCapabilities.HTMLUNIT.copy()
233-
expected_webdriver = mock()
234-
file_detector = mock_file_detector(creator)
235-
when(webdriver).Remote(
236-
command_executor="None",
237-
desired_capabilities=caps,
238-
browser_profile=None,
239-
options=None,
240-
file_detector=file_detector,
241-
).thenReturn(expected_webdriver)
242-
driver = creator.create_htmlunit({}, None, executable_path=executable_path)
243-
assert driver == expected_webdriver
244-
245-
246-
def test_create_htmlunit_with_js_executable_path_set(creator):
247-
executable_path = "path/to/bin"
248-
caps = webdriver.DesiredCapabilities.HTMLUNITWITHJS.copy()
249-
expected_webdriver = mock()
250-
file_detector = mock_file_detector(creator)
251-
when(webdriver).Remote(
252-
command_executor="None",
253-
desired_capabilities=caps,
254-
browser_profile=None,
255-
options=None,
256-
file_detector=file_detector,
257-
).thenReturn(expected_webdriver)
258-
driver = creator.create_htmlunit_with_js({}, None, executable_path=executable_path)
259-
assert driver == expected_webdriver
260-
261-
262-
def test_create_iphone_executable_path_set(creator):
263-
executable_path = "path/to/bin"
264-
caps = webdriver.DesiredCapabilities.IPHONE.copy()
265-
expected_webdriver = mock()
266-
file_detector = mock_file_detector(creator)
267-
when(webdriver).Remote(
268-
command_executor="None",
269-
desired_capabilities=caps,
270-
browser_profile=None,
271-
options=None,
272-
file_detector=file_detector,
273-
).thenReturn(expected_webdriver)
274-
driver = creator.create_iphone({}, None, executable_path=executable_path)
275-
assert driver == expected_webdriver
276-
277-
278230
def test_open_browser_executable_path_set(creator):
279231
expected_webdriver = mock()
280232
when(webdriver).Chrome(

utest/test/keywords/approved_files/test_selenium_options_parser.test_create_with_android.approved.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

utest/test/keywords/approved_files/test_selenium_options_parser.test_importer.approved.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,3 @@ Selenium options import
77
4) <class 'selenium.webdriver.ie.options.Options'>
88
5) <class 'selenium.webdriver.edge.options.Options'>
99
6) <class 'selenium.webdriver.safari.options.Options'>
10-
7) htmlunit No module named
11-
8) htmlunit_with_js No module named
12-
9) iphone No module named

0 commit comments

Comments
 (0)