mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Fix Python errors in servodriver
This commit is contained in:
parent
e57187305f
commit
780e21c970
2 changed files with 27 additions and 5 deletions
|
@ -38,6 +38,7 @@ def browser_kwargs(test_type, run_info_data, **kwargs):
|
||||||
return {
|
return {
|
||||||
"binary": kwargs["binary"],
|
"binary": kwargs["binary"],
|
||||||
"debug_info": kwargs["debug_info"],
|
"debug_info": kwargs["debug_info"],
|
||||||
|
"server_config": kwargs["config"],
|
||||||
"user_stylesheets": kwargs.get("user_stylesheets"),
|
"user_stylesheets": kwargs.get("user_stylesheets"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,14 +74,14 @@ class ServoWebDriverBrowser(Browser):
|
||||||
used_ports = set()
|
used_ports = set()
|
||||||
|
|
||||||
def __init__(self, logger, binary, debug_info=None, webdriver_host="127.0.0.1",
|
def __init__(self, logger, binary, debug_info=None, webdriver_host="127.0.0.1",
|
||||||
user_stylesheets=None):
|
server_config=None, user_stylesheets=None):
|
||||||
Browser.__init__(self, logger)
|
Browser.__init__(self, logger)
|
||||||
self.binary = binary
|
self.binary = binary
|
||||||
self.webdriver_host = webdriver_host
|
self.webdriver_host = webdriver_host
|
||||||
self.webdriver_port = None
|
self.webdriver_port = None
|
||||||
self.proc = None
|
self.proc = None
|
||||||
self.debug_info = debug_info
|
self.debug_info = debug_info
|
||||||
self.hosts_path = write_hosts_file()
|
self.hosts_path = write_hosts_file(server_config)
|
||||||
self.command = None
|
self.command = None
|
||||||
self.user_stylesheets = user_stylesheets if user_stylesheets else []
|
self.user_stylesheets = user_stylesheets if user_stylesheets else []
|
||||||
|
|
||||||
|
@ -151,7 +152,7 @@ class ServoWebDriverBrowser(Browser):
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
self.stop()
|
self.stop()
|
||||||
shutil.rmtree(os.path.dirname(self.hosts_file))
|
os.remove(self.hosts_path)
|
||||||
|
|
||||||
def executor_browser(self):
|
def executor_browser(self):
|
||||||
assert self.webdriver_port is not None
|
assert self.webdriver_port is not None
|
||||||
|
|
|
@ -11,8 +11,10 @@ from .base import (Protocol,
|
||||||
TestharnessExecutor,
|
TestharnessExecutor,
|
||||||
strip_server)
|
strip_server)
|
||||||
from ..testrunner import Stop
|
from ..testrunner import Stop
|
||||||
|
from ..webdriver_server import wait_for_service
|
||||||
|
|
||||||
webdriver = None
|
webdriver = None
|
||||||
|
ServoCommandExtensions = None
|
||||||
|
|
||||||
here = os.path.join(os.path.split(__file__)[0])
|
here = os.path.join(os.path.split(__file__)[0])
|
||||||
|
|
||||||
|
@ -23,6 +25,26 @@ def do_delayed_imports():
|
||||||
global webdriver
|
global webdriver
|
||||||
import webdriver
|
import webdriver
|
||||||
|
|
||||||
|
global ServoCommandExtensions
|
||||||
|
class ServoCommandExtensions(object):
|
||||||
|
def __init__(self, session):
|
||||||
|
self.session = session
|
||||||
|
|
||||||
|
@webdriver.client.command
|
||||||
|
def get_prefs(self, *prefs):
|
||||||
|
body = {"prefs": list(prefs)}
|
||||||
|
return self.session.send_command("POST", "servo/prefs/get", body)
|
||||||
|
|
||||||
|
@webdriver.client.command
|
||||||
|
def set_prefs(self, prefs):
|
||||||
|
body = {"prefs": prefs}
|
||||||
|
return self.session.send_command("POST", "servo/prefs/set", body)
|
||||||
|
|
||||||
|
@webdriver.client.command
|
||||||
|
def reset_prefs(self, *prefs):
|
||||||
|
body = {"prefs": list(prefs)}
|
||||||
|
return self.session.send_command("POST", "servo/prefs/reset", body)
|
||||||
|
|
||||||
|
|
||||||
class ServoWebDriverProtocol(Protocol):
|
class ServoWebDriverProtocol(Protocol):
|
||||||
def __init__(self, executor, browser, capabilities, **kwargs):
|
def __init__(self, executor, browser, capabilities, **kwargs):
|
||||||
|
@ -35,8 +57,7 @@ class ServoWebDriverProtocol(Protocol):
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
"""Connect to browser via WebDriver."""
|
"""Connect to browser via WebDriver."""
|
||||||
self.session = webdriver.Session(self.host, self.port,
|
self.session = webdriver.Session(self.host, self.port, extension=ServoCommandExtensions)
|
||||||
extension=webdriver.servo.ServoCommandExtensions)
|
|
||||||
self.session.start()
|
self.session.start()
|
||||||
|
|
||||||
def after_connect(self):
|
def after_connect(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue