setup-selenium-testing 0.1.2__tar.gz → 0.1.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: setup-selenium-testing
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Setup Selenium for automation testing
5
5
  Home-page: https://github.com/bandophahita/setup_selenium
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "setup-selenium-testing"
3
- version = "0.1.2"
3
+ version = "0.1.3"
4
4
  description = "Setup Selenium for automation testing"
5
5
  authors = ["Marcel Wilson <trenchrats@gmail.com>"]
6
6
  license = "MIT"
@@ -1,11 +1,12 @@
1
1
  """Setup selenium for testing"""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  import errno
5
6
  import logging
6
7
  import os as os
7
8
  from enum import Enum
8
- from typing import TYPE_CHECKING, Union
9
+ from typing import TYPE_CHECKING, Optional, Union
9
10
 
10
11
  from selenium import webdriver
11
12
  from selenium.common.exceptions import NoSuchWindowException, WebDriverException
@@ -23,6 +24,9 @@ if TYPE_CHECKING:
23
24
  from selenium.webdriver.common.options import ArgOptions
24
25
 
25
26
  T_WebDriver: TypeAlias = Union[Firefox, Chrome, Edge]
27
+ T_DrvOpts: TypeAlias = Union[
28
+ webdriver.FirefoxOptions, webdriver.ChromeOptions, webdriver.EdgeOptions
29
+ ]
26
30
 
27
31
  __all__ = ["SetupSelenium"]
28
32
 
@@ -202,20 +206,24 @@ class SetupSelenium:
202
206
  log_dir: str = "./logs",
203
207
  binary: str | None = None,
204
208
  driver_path: str | None = None,
209
+ options: Optional[T_DrvOpts] = None,
205
210
  ) -> T_WebDriver:
206
211
  """Instantiates the browser driver"""
207
212
  browser = browser.lower()
208
213
  driver: T_WebDriver
209
214
  if browser == Browser.FIREFOX:
215
+ assert options is None or isinstance(options, webdriver.FirefoxOptions)
210
216
  driver = SetupSelenium.firefox(
211
217
  headless=headless,
212
218
  enable_log_driver=enable_log_driver,
213
219
  log_dir=log_dir,
214
220
  binary=binary,
215
221
  driver_path=driver_path,
222
+ options=options,
216
223
  )
217
224
 
218
225
  elif browser == Browser.CHROME:
226
+ assert options is None or isinstance(options, webdriver.ChromeOptions)
219
227
  driver = SetupSelenium.chrome(
220
228
  headless=headless,
221
229
  enable_log_performance=enable_log_performance,
@@ -224,9 +232,11 @@ class SetupSelenium:
224
232
  log_dir=log_dir,
225
233
  binary=binary,
226
234
  driver_path=driver_path,
235
+ options=options,
227
236
  )
228
237
 
229
238
  elif browser == Browser.EDGE:
239
+ assert options is None or isinstance(options, webdriver.EdgeOptions)
230
240
  driver = SetupSelenium.edge(
231
241
  headless=headless,
232
242
  enable_log_performance=enable_log_performance,
@@ -235,6 +245,7 @@ class SetupSelenium:
235
245
  log_dir=log_dir,
236
246
  binary=binary,
237
247
  driver_path=driver_path,
248
+ options=options,
238
249
  )
239
250
 
240
251
  else:
@@ -263,7 +274,7 @@ class SetupSelenium:
263
274
  log_dir: str = "./logs",
264
275
  driver_path: str | None = None,
265
276
  binary: str | None = None,
266
- options: webdriver.FirefoxOptions = None,
277
+ options: webdriver.FirefoxOptions | None = None,
267
278
  ) -> webdriver.Firefox:
268
279
  """Instantiates firefox geockodriver"""
269
280
  options = options or SetupSelenium.firefox_options()
@@ -336,7 +347,7 @@ class SetupSelenium:
336
347
  log_dir: str = "./logs",
337
348
  driver_path: str | None = None,
338
349
  binary: str | None = None,
339
- options: webdriver.ChromeOptions = None,
350
+ options: webdriver.ChromeOptions | None = None,
340
351
  ) -> webdriver.Chrome:
341
352
  """Instantiates chromedriver"""
342
353
  options = options or SetupSelenium.chrome_options()
@@ -379,12 +390,12 @@ class SetupSelenium:
379
390
  service = ChromeService(
380
391
  executable_path=driver_path,
381
392
  service_args=args,
382
- log_output=logpath,
393
+ log_output=logpath, # type: ignore[arg-type]
383
394
  )
384
395
  else:
385
396
  service = ChromeService(
386
397
  service_args=args,
387
- log_output=logpath,
398
+ log_output=logpath, # type: ignore[arg-type]
388
399
  )
389
400
 
390
401
  driver = webdriver.Chrome(service=service, options=options)
@@ -469,7 +480,7 @@ class SetupSelenium:
469
480
  log_dir: str = "./logs",
470
481
  driver_path: str | None = None,
471
482
  binary: str | None = None,
472
- options: webdriver.EdgeOptions = None,
483
+ options: webdriver.EdgeOptions | None = None,
473
484
  ) -> webdriver.Edge:
474
485
  """Instantiates edgedriver"""
475
486
  options = options or SetupSelenium.edge_options()
@@ -513,12 +524,12 @@ class SetupSelenium:
513
524
  service = EdgeService(
514
525
  executable_path=driver_path,
515
526
  service_args=args,
516
- log_output=logpath,
527
+ log_output=logpath, # type: ignore[arg-type]
517
528
  )
518
529
  else:
519
530
  service = EdgeService(
520
531
  service_args=args,
521
- log_output=logpath,
532
+ log_output=logpath, # type: ignore[arg-type]
522
533
  )
523
534
  driver = webdriver.Edge(service=service, options=options)
524
535