def setUp(self): MarionetteTestCase.setUp(self) self.marionette.set_context("chrome") self.win = self.marionette.current_window_handle self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');") self.marionette.switch_to_window('foo') self.assertNotEqual(self.win, self.marionette.current_window_handle)
def setUp(self): MarionetteTestCase.setUp(self) self.linter = Linter( ResourceUriFileReader(self.marionette), JSHintEngine(self.marionette, self._read_local_file(self.JSHINT_PATH), self._read_local_file(self.JSHINTRC_PATH)), self._get_extended_error_message)
def __init__(self, marionette_weakref, browser=None, logger=None, **kwargs): self.browser = browser self.logger = logger MarionetteTestCase.__init__(self, marionette_weakref, **kwargs)
def setUp(self): MarionetteTestCase.setUp(self) self.marionette.set_context("chrome") self.win = self.marionette.current_window_handle self.marionette.execute_script( "window.open('chrome://marionette/content/test2.xul', 'foo', 'chrome,centerscreen');") self.marionette.switch_to_window('foo') self.assertNotEqual(self.win, self.marionette.current_window_handle)
def setUp(self): MarionetteTestCase.setUp(self) if self.marionette.session_capabilities['platformName'] == 'DARWIN': self.mod_key = Keys.META else: self.mod_key = Keys.CONTROL test_html = self.marionette.absolute_url("javascriptPage.html") self.marionette.navigate(test_html) self.reporter_element = self.marionette.find_element("id", "keyReporter") self.reporter_element.click() self.key_action = Actions(self.marionette)
def tearDown(self): self.marionette.protocol = self.op TC.tearDown(self)
def setUp(self): MarionetteTestCase.setUp(self) for context in self.contexts: with self.marionette.using_context(context): self.marionette.clear_imported_scripts() self.reset_context()
def __init__(self, marionette_weakref, browser=None, **kwargs): self.browser = browser MarionetteTestCase.__init__(self, marionette_weakref, **kwargs)
def setUp(self): TC.setUp(self) self.op = self.marionette.protocol self.marionette.protocol = 2
def tearDown(self): MarionetteTestCase.tearDown(self)
def setUp(self): MarionetteTestCase.setUp(self) self.marionette.execute_script("window.location.href = 'about:blank'") self.assertEqual("about:blank", self.location_href) self.test_doc = self.marionette.absolute_url("test.html") self.iframe_doc = self.marionette.absolute_url("test_iframe.html")
def setUp(self): MarionetteTestCase.setUp(self) self.original_emulator_cmd = self.marionette._emulator_cmd self.original_emulator_shell = self.marionette._emulator_shell self.marionette._emulator_cmd = self.mock_emulator_cmd self.marionette._emulator_shell = self.mock_emulator_shell
def run_js_test(self, filename, marionette): ''' Run a JavaScript test file and collect its set of assertions into the current test's results. :param filename: The path to the JavaScript test file to execute. May be relative to the current script. :param marionette: The Marionette object in which to execute the test. ''' caller_file = sys._getframe(1).f_globals.get('__file__', '') caller_file = os.path.abspath(caller_file) script = os.path.join(os.path.dirname(caller_file), filename) self.assert_(os.path.exists(script), 'Script "%s" must exist' % script) if hasattr(MarionetteTestCase, 'run_js_test'): return MarionetteTestCase.run_js_test(self, script, marionette) #XXX: copy/pasted from marionette_test.py, refactor this! f = open(script, 'r') js = f.read() args = [] head_js = MarionetteJSTestCase.head_js_re.search(js) if head_js: head_js = head_js.group(3) head = open(os.path.join(os.path.dirname(script), head_js), 'r') js = head.read() + js context = MarionetteJSTestCase.context_re.search(js) if context: context = context.group(3) else: context = 'content' marionette.set_context(context) if context != "chrome": marionette.navigate('data:text/html,<html>test page</html>') timeout = MarionetteJSTestCase.timeout_re.search(js) if timeout: timeout = timeout.group(3) marionette.set_script_timeout(timeout) inactivity_timeout = MarionetteJSTestCase.inactivity_timeout_re.search( js) if inactivity_timeout: inactivity_timeout = inactivity_timeout.group(3) try: results = marionette.execute_js_script( js, args, special_powers=True, inactivity_timeout=inactivity_timeout, filename=os.path.basename(script)) self.assertTrue(not 'timeout' in script, 'expected timeout not triggered') if 'fail' in script: self.assertTrue( len(results['failures']) > 0, "expected test failures didn't occur") else: for failure in results['failures']: diag = "" if failure.get( 'diag') is None else failure['diag'] name = "got false, expected true" if failure.get( 'name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'FAIL', message=diag) for failure in results['expectedFailures']: diag = "" if failure.get( 'diag') is None else failure['diag'] name = "got false, expected false" if failure.get( 'name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'FAIL', expected='FAIL', message=diag) for failure in results['unexpectedSuccesses']: diag = "" if failure.get( 'diag') is None else failure['diag'] name = "got true, expected false" if failure.get( 'name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'PASS', expected='FAIL', message=diag) self.assertEqual(0, len(results['failures']), '%d tests failed' % len(results['failures'])) if len(results['unexpectedSuccesses']) > 0: raise _UnexpectedSuccess('') if len(results['expectedFailures']) > 0: raise _ExpectedFailure( (AssertionError, AssertionError(''), None)) self.assertTrue( results['passed'] + len(results['failures']) + len(results['expectedFailures']) + len(results['unexpectedSuccesses']) > 0, 'no tests run') except ScriptTimeoutException: if 'timeout' in script: # expected exception pass else: self.loglines = marionette.get_logs() raise
def setUp(self): MarionetteTestCase.setUp(self) self.marionette.enforce_gecko_prefs({"prompts.tab_modal.enabled": False}) self.marionette.navigate(self.marionette.absolute_url('modal_dialogs.html'))
def setUp(self): MarionetteTestCase.setUp(self) self.op = self.marionette.protocol self.marionette.protocol = 2
def run_js_test(self, filename, marionette): ''' Run a JavaScript test file and collect its set of assertions into the current test's results. :param filename: The path to the JavaScript test file to execute. May be relative to the current script. :param marionette: The Marionette object in which to execute the test. ''' caller_file = sys._getframe(1).f_globals.get('__file__', '') caller_file = os.path.abspath(caller_file) script = os.path.join(os.path.dirname(caller_file), filename) self.assert_(os.path.exists(script), 'Script "%s" must exist' % script) if hasattr(MarionetteTestCase, 'run_js_test'): return MarionetteTestCase.run_js_test(self, script, marionette) #XXX: copy/pasted from marionette_test.py, refactor this! f = open(script, 'r') js = f.read() args = [] head_js = MarionetteJSTestCase.head_js_re.search(js); if head_js: head_js = head_js.group(3) head = open(os.path.join(os.path.dirname(script), head_js), 'r') js = head.read() + js; context = MarionetteJSTestCase.context_re.search(js) if context: context = context.group(3) else: context = 'content' marionette.set_context(context) if context != "chrome": marionette.navigate('data:text/html,<html>test page</html>') timeout = MarionetteJSTestCase.timeout_re.search(js) if timeout: timeout = timeout.group(3) marionette.set_script_timeout(timeout) inactivity_timeout = MarionetteJSTestCase.inactivity_timeout_re.search(js) if inactivity_timeout: inactivity_timeout = inactivity_timeout.group(3) try: results = marionette.execute_js_script(js, args, special_powers=True, inactivity_timeout=inactivity_timeout, filename=os.path.basename(script)) self.assertTrue(not 'timeout' in script, 'expected timeout not triggered') if 'fail' in script: self.assertTrue(len(results['failures']) > 0, "expected test failures didn't occur") else: for failure in results['failures']: diag = "" if failure.get('diag') is None else failure['diag'] name = "got false, expected true" if failure.get('name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'FAIL', message=diag) for failure in results['expectedFailures']: diag = "" if failure.get('diag') is None else failure['diag'] name = "got false, expected false" if failure.get('name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'FAIL', expected='FAIL', message=diag) for failure in results['unexpectedSuccesses']: diag = "" if failure.get('diag') is None else failure['diag'] name = "got true, expected false" if failure.get('name') is None else failure['name'] self.logger.test_status(self.test_name, name, 'PASS', expected='FAIL', message=diag) self.assertEqual(0, len(results['failures']), '%d tests failed' % len(results['failures'])) if len(results['unexpectedSuccesses']) > 0: raise _UnexpectedSuccess('') if len(results['expectedFailures']) > 0: raise _ExpectedFailure((AssertionError, AssertionError(''), None)) self.assertTrue(results['passed'] + len(results['failures']) + len(results['expectedFailures']) + len(results['unexpectedSuccesses']) > 0, 'no tests run') except ScriptTimeoutException: if 'timeout' in script: # expected exception pass else: self.loglines = marionette.get_logs() raise
def tearDown(self): self.assertNotEqual(self.win, self.marionette.current_window_handle) self.marionette.execute_script("window.close();") self.marionette.switch_to_window(self.win) MarionetteTestCase.tearDown(self)
def tearDown(self): self.marionette.protocol = self.op MarionetteTestCase.tearDown(self)
def setUp(self): MarionetteTestCase.setUp(self) self.marionette.enforce_gecko_prefs( {"prompts.tab_modal.enabled": False}) self.marionette.navigate( self.marionette.absolute_url('modal_dialogs.html'))
def run_js_test(self, filename, marionette): """ Run a JavaScript test file and collect its set of assertions into the current test's results. :param filename: The path to the JavaScript test file to execute. May be relative to the current script. :param marionette: The Marionette object in which to execute the test. """ caller_file = sys._getframe(1).f_globals.get("__file__", "") caller_file = os.path.abspath(caller_file) script = os.path.join(os.path.dirname(caller_file), filename) self.assert_(os.path.exists(script), 'Script "%s" must exist' % script) if hasattr(MarionetteTestCase, "run_js_test"): return MarionetteTestCase.run_js_test(self, script, marionette) # XXX: copy/pasted from marionette_test.py, refactor this! f = open(script, "r") js = f.read() args = [] head_js = MarionetteJSTestCase.head_js_re.search(js) if head_js: head_js = head_js.group(3) head = open(os.path.join(os.path.dirname(script), head_js), "r") js = head.read() + js context = MarionetteJSTestCase.context_re.search(js) if context: context = context.group(3) else: context = "content" marionette.set_context(context) if context != "chrome": marionette.navigate("data:text/html,<html>test page</html>") timeout = MarionetteJSTestCase.timeout_re.search(js) if timeout: timeout = timeout.group(3) marionette.set_script_timeout(timeout) inactivity_timeout = MarionetteJSTestCase.inactivity_timeout_re.search(js) if inactivity_timeout: inactivity_timeout = inactivity_timeout.group(3) try: results = marionette.execute_js_script( js, args, special_powers=True, inactivity_timeout=inactivity_timeout, filename=os.path.basename(script) ) self.assertTrue(not "timeout" in script, "expected timeout not triggered") if "fail" in script: self.assertTrue(len(results["failures"]) > 0, "expected test failures didn't occur") else: for failure in results["failures"]: diag = "" if failure.get("diag") is None else failure["diag"] name = "got false, expected true" if failure.get("name") is None else failure["name"] self.logger.test_status(self.test_name, name, "FAIL", message=diag) for failure in results["expectedFailures"]: diag = "" if failure.get("diag") is None else failure["diag"] name = "got false, expected false" if failure.get("name") is None else failure["name"] self.logger.test_status(self.test_name, name, "FAIL", expected="FAIL", message=diag) for failure in results["unexpectedSuccesses"]: diag = "" if failure.get("diag") is None else failure["diag"] name = "got true, expected false" if failure.get("name") is None else failure["name"] self.logger.test_status(self.test_name, name, "PASS", expected="FAIL", message=diag) self.assertEqual(0, len(results["failures"]), "%d tests failed" % len(results["failures"])) if len(results["unexpectedSuccesses"]) > 0: raise _UnexpectedSuccess("") if len(results["expectedFailures"]) > 0: raise _ExpectedFailure((AssertionError, AssertionError(""), None)) self.assertTrue( results["passed"] + len(results["failures"]) + len(results["expectedFailures"]) + len(results["unexpectedSuccesses"]) > 0, "no tests run", ) except ScriptTimeoutException: if "timeout" in script: # expected exception pass else: self.loglines = marionette.get_logs() raise