⚠️This repository has been deprecated. It may still receive bugfixes, but development has been moved into the main Intern repository.
Unlike existing WebDriver client libraries that assume the remote server will just do the Right Thing, Leadfoot detects and works around inconsistencies in WebDriver server implementations, using native WebDriver/Selenium commands when possible, so you can just worry about making your tests work—not bugs in WebDriver servers.
Enhanced capabilities are also exposed to end-users about which features and APIs a remote environment supports, so you don’t have to browser sniff to decide whether (for example) you’re testing a touch-device or a mouse-device. Optional convenience methods are also available for use, and support for chai-as-promised is built in.
Leadfoot has been tested with the following remote drivers:
- Microsoft WebDriver
- safaridriver (native)
Leadfoot can be installed and used as a stand-alone library. It is also an integral part of the Intern testing framework, which provides you with all of the tools you need to write robust unit and functional tests. Follow the instructions on writing functional tests with Intern to learn how to use Leadfoot with Intern.
Firefox, Safari, and Edge
Firefox 49+, Safari 10+, and Microsoft Edge are all on the bleeding edge of WebDriver-based browser automation. They all use relatively new drivers that implement the still-under-development W3C WebDriver standard, so feature support is spotty at times. For best results, use the most recent versions of Selenium and the browser’s native driver (geckodriver, Microsoft WebDriver, or safaridriver), and the most recent browser version in Firefox’s case.
- Architecture — An overview of Leadfoot’s architecture
- How To — Quick answers to common questions
- API documentation
Leadfoot is a JS Foundation project offered under the New BSD license.