示例#1
0
def start_selenium_server(display=":99"):
    """Start a selenium server on a random port."""
    for _ in range(10):
        info("Bringing up selenium")
        port = pick_random_port()
        SELENIUM_SERVER_JAR = os.environ["SELENIUM_SERVER_JAR"]
        sel_server = Popen(
            ["java", "-jar", SELENIUM_SERVER_JAR, "-port", str(port)],
            env=dict(os.environ, DISPLAY=display),
            stdout=PIPE,
            stderr=PIPE,
        )

        # Stupid selenium takes an age to start. I can't really sleep
        # until I can tell it's done
        sel_server.port = port
        if wait_for_selenium_start(sel_server):
            return sel_server
        else:
            continue
    else:
        raise Exception("Failed to start selenium server")