Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/testing/condprofile/condprof/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  desktop.py   Sprache: Python

 
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import contextlib

import attr
from arsenic.services import Geckodriver, free_port, subprocess_based_service

from condprof.util import (
    BaseEnv,
    latest_nightly,
    logger,
    get_version,
    get_current_platform,
    DEFAULT_PREFS,
)


@attr.s
class DesktopGeckodriver(Geckodriver):
    async def start(self):
        port = free_port()
        await self._check_version()
        logger.info("Running Webdriver on port %d" % port)
        logger.info("Running Marionette on port 2828")
        pargs = [
            self.binary,
            "--log",
            "trace",
            "--port",
            str(port),
            "--marionette-port",
            "2828",
        ]
        try:
            return await subprocess_based_service(
                pargs, f"http://localhost:{port}", self.log_file
            )
        except ProcessLookupError as e:
            return await subprocess_based_service(
                pargs.extend(["--host""127.0.0.1"]),
                f"http://localhost:{port}",
                self.log_file,
            )


@contextlib.contextmanager
def dummy_device(*args, **kw):
    yield None


class DesktopEnv(BaseEnv):
    def get_target_platform(self):
        return get_current_platform()

    def get_device(self, *args, **kw):
        return dummy_device(*args, **kw)

    @contextlib.contextmanager
    def get_browser(self):
        with latest_nightly(self.firefox) as binary:
            self.firefox = os.path.abspath(binary)
            if not os.path.exists(self.firefox):
                raise IOError(self.firefox)
            yield

    def get_browser_args(self, headless, prefs=None):
        final_prefs = dict(DEFAULT_PREFS)
        if prefs is not None:
            final_prefs.update(prefs)
        options = ["--allow-downgrade""-profile", self.profile]
        if headless:
            options.append("-headless")
        args = {"moz:firefoxOptions": {"args": options}}
        if self.firefox is not None:
            args["moz:firefoxOptions"]["binary"] = self.firefox
        args["moz:firefoxOptions"]["prefs"] = final_prefs
        args["moz:firefoxOptions"]["log"] = {"level""trace"}
        return args

    def get_browser_version(self):
        try:
            return get_version(self.firefox)
        except Exception:
            logger.error("Could not get Firefox version", exc_info=True)
            return "unknown"

    def get_geckodriver(self, log_file):
        return DesktopGeckodriver(binary=self.geckodriver, log_file=log_file)

Messung V0.5
C=94 H=99 G=96

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.