Coverage for selenible/drivers/firefox.py: 24%

21 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-05 14:24 +0000

1from selenium import webdriver 

2from selenium.webdriver.firefox.options import Options 

3 

4from . import Base 

5 

6 

7class Firefox(Base): 

8 def get_options(self): 

9 return Options() 

10 

11 def boot_driver(self): 

12 return webdriver.Firefox(**self.browser_args) 

13 

14 def do_install_addon(self, params): 

15 """ 

16 - name: install local addons 

17 install_addon: 

18 install: /path/to/addon.xpi 

19 register: addon_id 

20 - name: uninstall addon 

21 install_addon: 

22 uninstall: "{{addon_id}}" 

23 """ 

24 to_uninstall = params.get("uninstall", []) 

25 if isinstance(to_uninstall, (tuple, list)): 

26 for i in to_uninstall: 

27 self.driver.uninstall_addon(i) 

28 else: 

29 self.driver.uninstall_addon(to_uninstall) 

30 to_install = params.get("install", []) 

31 if isinstance(to_install, (tuple, list)): 

32 res = [] 

33 for i in to_install: 

34 res.append(self.driver.install_addon(i)) 

35 return res 

36 else: 

37 return self.driver.install_addon(to_install)