• leadfoot
    https://www.npmjs.com/package/leadfoot#star

    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, 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.