@@ -13795,7 +13795,8 @@ def __switch_to_newest_window_if_not_blank(self):
1379513795 if self.get_current_url() == "about:blank":
1379613796 self.switch_to_window(current_window)
1379713797 except Exception:
13798- self.switch_to_window(current_window)
13798+ with suppress(Exception):
13799+ self.switch_to_window(current_window)
1379913800
1380013801 def __needs_minimum_wait(self):
1380113802 if (
@@ -14004,9 +14005,10 @@ def __activate_standard_virtual_display(self):
1400414005 visible=0, size=(width, height)
1400514006 )
1400614007 self._xvfb_display.start()
14007- sb_config._virtual_display = self._xvfb_display
1400814008 self.headless_active = True
14009- sb_config.headless_active = True
14009+ if not self.undetectable:
14010+ sb_config._virtual_display = self._xvfb_display
14011+ sb_config.headless_active = True
1401014012
1401114013 def __activate_virtual_display(self):
1401214014 if self.undetectable and not (self.headless or self.headless2):
@@ -14029,6 +14031,8 @@ def __activate_virtual_display(self):
1402914031 "\nX11 display failed! Will use regular xvfb!"
1403014032 )
1403114033 self.__activate_standard_virtual_display()
14034+ else:
14035+ self.headless_active = True
1403214036 except Exception as e:
1403314037 if hasattr(e, "msg"):
1403414038 print("\n" + str(e.msg))
@@ -16601,6 +16605,7 @@ def tearDown(self):
1660116605 self.__quit_all_drivers()
1660216606 # Resume tearDown() for all test runners, (Pytest / Pynose / Behave)
1660316607 if hasattr(self, "_xvfb_display") and self._xvfb_display:
16608+ # Stop the Xvfb virtual display launched from BaseCase
1660416609 try:
1660516610 if hasattr(self._xvfb_display, "stop"):
1660616611 self._xvfb_display.stop()
@@ -16610,6 +16615,20 @@ def tearDown(self):
1661016615 pass
1661116616 except Exception:
1661216617 pass
16618+ if (
16619+ hasattr(sb_config, "_virtual_display")
16620+ and sb_config._virtual_display
16621+ and hasattr(sb_config._virtual_display, "stop")
16622+ ):
16623+ # CDP Mode may launch a 2nd Xvfb virtual display
16624+ try:
16625+ sb_config._virtual_display.stop()
16626+ sb_config._virtual_display = None
16627+ sb_config.headless_active = False
16628+ except AttributeError:
16629+ pass
16630+ except Exception:
16631+ pass
1661316632 if self.__visual_baseline_copies:
1661416633 sb_config._visual_baseline_copies = True
1661516634 if has_exception:
0 commit comments