You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
Servo supports a minimal subset of the Webdriver protocol. We want to extend this support and pass the conformance tests to demonstrate our implementation's correctness. Additionally, we want to support running Webdriver-based automated tests like the WebBluetooth test suite, which require complex browser control and automated interactions that WebDriver provides.
This project will require reading and writing code in all of Rust, Python, and JavaScript. It is expected that any project applicants are comfortable writing code in at least one of those, and comfortable reading at least one other. For example, applicants that are curious about Rust but have never used it, but are comfortable using Python and JavaScript are welcome to apply.
If there are parts of this project description that are confusing, please contact Josh with questions.
Project breakdown
Modify the existing webdriver support so that the automated conformance tests can run without intermittently hitting this error
Identify key reasons for test failure in conformance tests, starting with the simplest, fundamental tests and working towards more complicated ones
Progressively implement missing webdriver features in Servo to pass the conformance tests and make them run in Servo's CI
Compile Servo. This can be a resource-intensive and complicated process on some machines and operating systems; if Servo will not compile in your environment it is best to find another GSoC project instead.
Gain experience using Rust by solving an easy issue. Please leave a comment saying that you're working on it.
Your project application should demonstrate the following:
you understand the problem that is being solved
you have relevant technical experience that will help solve the problem
you have thought about how to solve the problem and what work will be required
To help prepare your application, please think about these questions:
what is Servo? what is WebDriver? what is the relationship between Servo and WebDriver?
what is a WebDriver conformance test? why does Servo want to run them, and what will the results mean?
what is testdriver.js? how is it related to WebDriver and Servo?
what programming languages will be useful for each of the parts of the project? why?
what parts of the project will require learning new technologies/frameworks? what parts of the project make use of familiar technology?
An effective project application includes a proposed timeline that breaks down the project into pieces of work that are expected to take 1-2 weeks to complete. This breakdown will demonstrate that you have thought about the work involved in the project, and reflects your estimate for how long the work will take based on your personal experience.