Пример #1
0
Файл: xush.py Проект: admc/xush
import os
import mozrunner
from mozrunner import global_settings
basedir = os.path.abspath(os.path.dirname(__file__))

global_settings.MOZILLA_PLUGINS = [os.path.join(basedir, 'xush/extension'), basedir+'/venk.xpi']

moz = mozrunner.get_moz_from_settings()

moz.start()
Пример #2
0
def get_firefox_controller():
    """Get the firefox browser object"""
    import mozrunner
    from mozrunner import global_settings
    import simplesettings
    
    mozrunner_settings = simplesettings.initialize_settings(global_settings, mozrunner,     
                                                  local_env_variable=mozrunner.settings_env)
    
    for key, value in mozrunner.settings.items():
        if not windmill.settings.has_key(key):
            windmill.settings[key] = value
    
    test_url = windmill.get_test_url(windmill.settings['TEST_URL'])  
    
    if windmill.settings['INSTALL_FIREBUG']:
        windmill.settings['MOZILLA_PLUGINS'] = [os.path.join(os.path.dirname(__file__), os.path.pardir, 'xpi', 'firebug-1.4.0b7-fx.xpi')]
    
    prop_hash = {
                'extensions.chromebug.openalways' : True,
        'extensions.chromebug.showIntroduction' : False,
        'general.warnOnAboutConfig' : False,
        'extensions.venkman.enableChromeFilter' : False,
        # Get rid of default browser check
        "browser.shell.checkDefaultBrowser": False,
        # Suppress authentication confirmations
        "network.http.phishy-userpass-length": 255,
        # Disable pop-up blocking
        "browser.allowpopups": True,
        "dom.disable_open_during_load": False,
        # Open links in new windows (Firefox 2.0)
        "browser.link.open_external": 2,
        "browser.link.open_newwindow": 2,
        # Configure local proxy
        "network.proxy.http": 'localhost',
        "network.proxy.http_port": windmill.settings['SERVER_HTTP_PORT'],
        "network.proxy.no_proxies_on": "",
        "network.proxy.type": 1,
        #"network.http.proxy.pipelining" : True,
        "network.http.max-connections": 10,
        "network.http.max-connections-per-server": 8,
    #        "network.http.max-persistent-connections-per-proxy": 2,
    #        "network.http.max-persistent-connections-per-server": 2,
        "network.http.pipelining.maxrequests": 10,

        # Turn off favicon requests, no need for even more requests
        "browser.chrome.favicons": False,

        "startup.homepage_override_url": test_url,
        "browser.startup.homepage": test_url,
        "startup.homepage_welcome_url": "",
        # Disable security warnings
        "security.warn_submit_insecure": False,
        "security.warn_submit_insecure.show_once": False,
        "security.warn_entering_secure": False,
        "security.warn_entering_secure.show_once": False,
        "security.warn_entering_weak": False,
        "security.warn_entering_weak.show_once": False,
        "security.warn_leaving_secure": False,
        "security.warn_leaving_secure.show_once": False,
        "security.warn_viewing_mixed": False,
        "security.warn_viewing_mixed.show_once": False,
        # Disable cache
        "browser.cache.disk.enable": False,
        "browser.sessionstore.resume_from_crash": False,
        # self.user_pref('"browser.cache.memory.enable", false')
        # Disable "do you want to remember this password?"
        "signon.rememberSignons": False,
        "dom.max_script_run_time": 20,
        # Disable OSCP validation, breaks through proxy.
        "security.OCSP.enabled":0,
        #Make the firefox IDE stop showing the location bar
        "dom.disable_window_open_feature.location":False,
        "browser.rights.3.shown": True,
    }
    
    if windmill.has_ssl:
         prop_hash["network.proxy.ssl"] = 'localhost'
         prop_hash["network.proxy.ssl_port"] = windmill.settings['SERVER_HTTP_PORT']
       
    windmill.settings['MOZILLA_PREFERENCES'].update(prop_hash)
        
    windmill.settings['MOZILLA_CMD_ARGS'] = [test_url]
    
    controller = mozrunner.get_moz_from_settings(copy.copy(windmill.settings))

    # Override cert8.db with one from windmill which has windmill certificate
    # in it, that way self-signed certificate warning is suppressed.
    cert8 = resource_string(__name__, 'cert8.db')
    if sys.platform not in ('win32', 'cygwin',):
        f = open(os.path.join(controller.profile, 'cert8.db'), 'w')        
    else:
        f = open(os.path.join(controller.profile, 'cert8.db'), 'wb')
        
    f.write(cert8)
    f.close()    
    windmill.settings['MOZILLA_PROFILE'] = mozrunner.settings['MOZILLA_PROFILE']
    return controller