def create_network(self): self.back_channel, self.bridge = jsbridge.wait_and_create_network("127.0.0.1", self.jsbridge_port) # Assign listeners to the back channel for listener in self.listeners: self.back_channel.add_listener(listener[0], **listener[1]) for global_listener in self.global_listeners: self.back_channel.add_global_listener(global_listener)
def start_jsbridge(options): import mozrunner import jsbridge resolve_options(options) if not options.get('port'): options.port = '24242' options.port = int(options.port) options.binary = options.get('binary') plugins = [jsbridge.extension_path, options.path_to_ext_root] if options.app == 'firefox': profile_class = mozrunner.FirefoxProfile preferences = DEFAULT_FIREFOX_PREFS runner_class = mozrunner.FirefoxRunner elif options.app == 'thunderbird': profile_class = mozrunner.ThunderbirdProfile preferences = DEFAULT_THUNDERBIRD_PREFS runner_class = mozrunner.ThunderbirdRunner profile = profile_class(plugins=plugins, preferences=preferences) runner = runner_class(profile=profile, binary=options.binary, cmdargs=["-jsbridge", str(options.port)]) runner.start() back_channel, bridge = jsbridge.wait_and_create_network("127.0.0.1", options.port) return Bunch(back_channel = back_channel, bridge = bridge, runner = runner)
def start_jsbridge(options): import mozrunner import jsbridge resolve_options(options) if not options.get('port'): options.port = '24242' options.port = int(options.port) options.binary = options.get('binary') plugins = [jsbridge.extension_path, options.path_to_ext_root] profile = mozrunner.FirefoxProfile(plugins=plugins, preferences={ 'browser.startup.homepage': 'about:blank', 'startup.homepage_welcome_url': 'about:blank' }) runner = mozrunner.FirefoxRunner(profile=profile, binary=options.binary, cmdargs=["-jsbridge", str(options.port)]) runner.start() back_channel, bridge = jsbridge.wait_and_create_network( "127.0.0.1", options.port) return Bunch(back_channel=back_channel, bridge=bridge, runner=runner)
def start_jsbridge(options): import mozrunner import jsbridge resolve_options(options) if not options.get('port'): options.port = '24242' options.port = int(options.port) options.binary = options.get('binary') plugins = [jsbridge.extension_path, options.path_to_ext_root] profile = mozrunner.FirefoxProfile( plugins=plugins, preferences={'browser.startup.homepage' : 'about:blank', 'javascript.options.showInConsole' : True, 'browser.dom.window.dump.enabled' : True, 'startup.homepage_welcome_url' : 'about:blank'} ) runner = mozrunner.FirefoxRunner(profile=profile, binary=options.binary, cmdargs=["-jsbridge", str(options.port)]) runner.start() back_channel, bridge = jsbridge.wait_and_create_network("127.0.0.1", options.port) return Bunch(back_channel = back_channel, bridge = bridge, runner = runner)
def start_jsbridge(options): import mozrunner import jsbridge resolve_options(options) if not options.get('port'): options.port = '24242' options.port = int(options.port) options.binary = options.get('binary') plugins = [jsbridge.extension_path, options.path_to_ext_root] if options.app == 'firefox': profile_class = mozrunner.FirefoxProfile preferences = DEFAULT_FIREFOX_PREFS runner_class = mozrunner.FirefoxRunner elif options.app == 'thunderbird': profile_class = mozrunner.ThunderbirdProfile preferences = DEFAULT_THUNDERBIRD_PREFS runner_class = mozrunner.ThunderbirdRunner profile = profile_class(plugins=plugins, preferences=preferences) runner = runner_class(profile=profile, binary=options.binary, cmdargs=["-jsbridge", str(options.port)]) runner.start() back_channel, bridge = jsbridge.wait_and_create_network( "127.0.0.1", options.port) return Bunch(back_channel=back_channel, bridge=bridge, runner=runner)
def start(self, profile=None, runner=None): if not profile: profile = self.profile_class(plugins=[jsbridge.extension_path, extension_path]) if not runner: runner = self.runner_class(profile=self.profile, cmdargs=["-jsbridge", str(self.jsbridge_port)]) self.profile = profile; self.runner = runner self.runner.start() self.back_channel, self.bridge = jsbridge.wait_and_create_network("127.0.0.1", self.jsbridge_port)
def create_network(self): # get the bridge and the back-channel self.back_channel, self.bridge = jsbridge.wait_and_create_network("127.0.0.1", self.jsbridge_port) # set a timeout on jsbridge actions in order to ensure termination self.back_channel.timeout = self.bridge.timeout = self.jsbridge_timeout # Assign listeners to the back channel for listener in self.listeners: self.back_channel.add_listener(listener[0], **listener[1]) for global_listener in self.global_listeners: self.back_channel.add_global_listener(global_listener)
def create_network(self): # get the bridge and the back-channel self.back_channel, \ self.bridge = jsbridge.wait_and_create_network("127.0.0.1", self.jsbridge_port) # set a timeout on jsbridge actions in order to ensure termination self.back_channel.timeout = self.bridge.timeout = self.jsbridge_timeout # Assign listeners to the back channel for listener in self.listeners: self.back_channel.add_listener(listener[0], **listener[1]) for global_listener in self.global_listeners: self.back_channel.add_global_listener(global_listener)
def start_runner(self): self.runner.start() back_channel, bridge = jsbridge.wait_and_create_network("127.0.0.1", self.jsbridge_port) for listener in self.listeners: back_channel.add_listener(listener[0], **listener[1]) for global_listener in self.global_listeners: back_channel.add_global_listener(global_listener) self.back_channel = back_channel self.endRunnerCalled = False frame = jsbridge.JSObject(bridge, "Components.utils.import('resource://mozmill/modules/frame.js')") self.bridge = bridge return frame
def start(self): self.runner1.start() self.runner2.start() self.back_channel1, self.bridge1 = jsbridge.wait_and_create_network( '127.0.0.1', 24242) self.back_channel2, self.bridge2 = jsbridge.wait_and_create_network( '127.0.0.1', 24243) self.back_channel1.add_listener(self.save_release_listener, eventType='sitecompare.save') self.back_channel2.add_listener(self.save_nightly_listener, eventType='sitecompare.save') self.back_channel1.add_listener(self.framebust_listener, eventType='sitecompare.framebust') self.back_channel2.add_listener(self.framebust_listener, eventType='sitecompare.framebust') self.back_channel1.add_listener(self.timeout_listener, eventType='sitecompare.timeout') self.back_channel2.add_listener(self.timeout_listener, eventType='sitecompare.timeout') # def gl(name, obj): # print 'gl', name, obj # self.back_channel1.add_global_listener(gl) sleep(5) js = "Components.utils.import('resource://sitecompare/modules/compare.js')" self.c1 = jsbridge.JSObject(self.bridge1, js) self.c2 = jsbridge.JSObject(self.bridge2, js) if self.store: self.build1 = self.get_build(self.bridge1) self.build2 = self.get_build(self.bridge2) run = { "type": "comparison-run", "allsites": self.all_sites, "starttime": datetime.now().isoformat(), "status": "running" } run.update(self.comparison_info) run['release_buildid'] = self.build1.buildid run['release_docid'] = self.build1._id run['release_buildstring'] = self.build1.productType + '-' + self.build1[ 'appInfo.platformVersion'] + '-' + self.build1.buildid run['nightly_buildid'] = self.build2.buildid run['nightly_docid'] = self.build2._id run['nightly_buildstring'] = self.build2.productType + '-' + self.build2[ 'appInfo.platformVersion'] + '-' + self.build2.buildid self.run_info = self.db.create(run) else: import uuid self.run_info = {"id": str(uuid.uuid1())} self.directory = os.path.join(self.base_directory, 'static', 'runs', self.run_info['id']) os.mkdir(self.directory) self.do_all_images() if self.store: obj = self.db.get(self.run_info['id']) obj = self.db.get(self.run_info['id']) obj['endtime'] = datetime.now().isoformat() obj['status'] = "done" self.db.update(dict(obj))
def start(self): self.runner1.start() self.runner2.start() self.back_channel1, self.bridge1 = jsbridge.wait_and_create_network('127.0.0.1', 24242) self.back_channel2, self.bridge2 = jsbridge.wait_and_create_network('127.0.0.1', 24243) self.back_channel1.add_listener(self.save_release_listener, eventType='sitecompare.save') self.back_channel2.add_listener(self.save_nightly_listener, eventType='sitecompare.save') self.back_channel1.add_listener(self.framebust_listener, eventType='sitecompare.framebust') self.back_channel2.add_listener(self.framebust_listener, eventType='sitecompare.framebust') self.back_channel1.add_listener(self.timeout_listener, eventType='sitecompare.timeout') self.back_channel2.add_listener(self.timeout_listener, eventType='sitecompare.timeout') # def gl(name, obj): # print 'gl', name, obj # self.back_channel1.add_global_listener(gl) sleep(5) js = "Components.utils.import('resource://sitecompare/modules/compare.js')" self.c1 = jsbridge.JSObject(self.bridge1, js) self.c2 = jsbridge.JSObject(self.bridge2, js) if self.store: self.build1 = self.get_build(self.bridge1) self.build2 = self.get_build(self.bridge2) run = {"type":"comparison-run", "allsites":self.all_sites, "starttime":datetime.now().isoformat(), "status":"running"} run.update(self.comparison_info) run['release_buildid'] = self.build1.buildid run['release_docid'] = self.build1._id run['release_buildstring'] = self.build1.productType+'-'+self.build1['appInfo.platformVersion']+'-'+self.build1.buildid run['nightly_buildid'] = self.build2.buildid run['nightly_docid'] = self.build2._id run['nightly_buildstring'] = self.build2.productType+'-'+self.build2['appInfo.platformVersion']+'-'+self.build2.buildid self.run_info = self.db.create(run) else: import uuid self.run_info = {"id":str(uuid.uuid1())} self.directory = os.path.join(self.base_directory, 'static', 'runs', self.run_info['id']) os.mkdir(self.directory) self.do_all_images() if self.store: obj = self.db.get(self.run_info['id']) obj = self.db.get(self.run_info['id']) obj['endtime'] = datetime.now().isoformat() obj['status'] = "done" self.db.update(dict(obj))