Coverage for selenible/drivers/dummy.py: 88%

42 statements  

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

1import io 

2from typing import ClassVar 

3 

4from PIL import Image 

5 

6from . import Base 

7 

8 

9class Dummy(Base): 

10 def boot_driver(self): 

11 class dummydriver: 

12 name = "dummy" 

13 desired_capabilities: ClassVar = {} 

14 current_url = "http://example.com" 

15 page_source = "source string" 

16 title = "title string" 

17 window_handles: ClassVar = [] 

18 session_id = "dummy" 

19 current_window_handle = None 

20 capabilities = None 

21 log_types: ClassVar = [] 

22 w3c = False 

23 

24 def __init__(self, dummyparam=None): 

25 """ 

26 initialize dummy driver with dummy parameters 

27 """ 

28 super().__init__() 

29 

30 def find_element(self, k, v): 

31 return None 

32 

33 def find_elements(self, k, v): 

34 return [] 

35 

36 def get_cookies(self): 

37 return {} 

38 

39 def get_window_size(self): 

40 return 0, 0 

41 

42 def get_window_position(self): 

43 return 0, 0 

44 

45 def close(self): 

46 pass 

47 

48 def quit(self): 

49 pass 

50 

51 def get_screenshot_as_png(self): 

52 buf = io.BytesIO() 

53 Image.new("1", (1, 1)).save(buf, format="png") 

54 return buf.getvalue() 

55 

56 def get(self, v): 

57 self.current_url = v 

58 return v 

59 

60 return dummydriver()