def open_urls(self, urls, marionette_port=24242): testvars = { 'perTabPause': self.per_tab_pause, 'settleWaitTime': self.settle_wait_time, 'entities': len(urls), 'urls': urls, 'stats': self.stats, } e10s = self.process_count > 0 prefs = { # Don't open the first-run dialog, it loads a video 'startup.homepage_welcome_url': '', 'startup.homepage_override_url': '', 'browser.newtab.url': 'about:blank', # make sure e10s is enabled "browser.tabs.remote.autostart": e10s, "browser.tabs.remote.autostart.1": e10s, "browser.tabs.remote.autostart.2": e10s, "browser.tabs.remote.autostart.3": e10s, "browser.tabs.remote.autostart.4": e10s, "browser.tabs.remote.autostart.5": e10s, "browser.tabs.remote.autostart.6": e10s, "dom.ipc.processCount": self.process_count, # prevent "You're using e10s!" dialog from showing up "browser.displayedE10SNotice": 1000, # override image expiration in hopes of getting less volatile # numbers "image.mem.surfacecache.min_expiration_ms": 10000, # Specify a communications port "marionette.defaultPrefs.port": marionette_port, } if self.proxy: # disable network access prefs.update({ "network.proxy.socks": self.proxy, "network.proxy.socks_port": self.proxy_port, "network.proxy.socks_remote_dns": True, "network.proxy.type": 1, # Socks }) profile = mozprofile.FirefoxProfile(preferences=prefs) # TODO(ER): Figure out how to turn on debug level info again #commandline.formatter_option_defaults['level'] = 'debug' logger = commandline.setup_logging("MarionetteTest", {}) runner = MarionetteTestRunner(binary=self.binary, profile=profile, logger=logger, startup_timeout=60, address="localhost:%d" % marionette_port, gecko_log="gecko_%d.log" % self.process_count) # Add our testvars runner.testvars.update(testvars) test_path = os.path.join(MODULE_DIR, "test_memory_usage.py") try: print "Marionette - running test" runner.run_tests([test_path]) failures = runner.failed except Exception, e: print e pass