def test_start_browser(get_binary, app): binary = get_binary(app) assert binary raptor = WebExtensionFirefox(app, binary, post_startup_delay=0) tests = [{"name": "raptor-{}-tp6".format(app), "page_timeout": 1000}] test_names = [test["name"] for test in tests] thread = TestBrowserThread(raptor, tests, test_names) thread.start() timeout = time.time() + 5 # seconds while time.time() < timeout: try: is_running = raptor.runner.is_running() assert is_running break except RunnerNotStartedError: time.sleep(0.1) else: # browser didn't start # if the thread had an error, display it here thread.print_error() assert False raptor.clean_up() thread.join(5) if thread.exc is not None: exc, value, tb = thread.exc reraise(exc, value, tb) assert not raptor.runner.is_running() assert raptor.runner.returncode is not None
def raptor(options): return WebExtensionFirefox(**options)