Re: [sensors] Introduce WebDriver extension API

Test API and WebDriver Extension API are two standalone automation solutions with their own benefit and drawback, it's a long story which had been discussed in following two threads in test-infra mailing list:
- [Specifications with matching test APIs](https://www.w3.org/Search/Mail/Public/search?keywords=&hdr-1-name=subject&hdr-1-query=%22Specifications+with+matching+test+APIs%22&index-grp=Public_FULL&index-type=g&type-index=)
- the earlier thread [UserAgent-specific files in Web Platform Tests](https://www.w3.org/Search/Mail/Public/search?keywords=&hdr-1-name=subject&hdr-1-query=%22UserAgent-specific+files+in+Web+Platform+Tests%22&index-grp=Public_FULL&index-type=g&type-index=)

Concerns raised and discussed include:
> 
> A) With new testing patterns we may develop unexpected influence on future
> implementations. Particularly risky when only a small number of developers
> are influencing the API. E.g. WebUSB which doesn’t yet have other
> implementations.
> 
> B) WebDriver already operates at a high level, helping avoid test APIs
> being too implementation specific.
> 
> C) Test APIs that don’t work with browser’s standard shipping versions may
> be a problem. E.g. they won’t run with web-developer focused testing
> infrastructure, BrowserStack, Sauce, etc. And, they’re harder to run
> manually.
> 
> D) Our primary goal is to have conforming web browser implementations.
> Considering the goal of “Testing APIs should work for web-app developers”
> is lower priority.

For WebDriver API based automation, w-p-t has already implemented a [TestDriver API ](https://web-platform-tests.org/writing-tests/testdriver.html)that use an HTTP backend to call a WebDriver client implemented in python in the wptserve server. This Python code will in turn callback into the browser using the WebDriver API, enabling human-like interactions to happen from tests written purely in cross-browser JavaScript.

If current WebDriver API spec is unable to meet the automation requirement, write an Extension API, e.g. [Permissions API](https://w3c.github.io/permissions/#automation ), [Reporting API](https://w3c.github.io/reporting/#automation) 

@rakuco, does that untangle your concern?



-- 
GitHub Notification of comment by Honry
Please view or discuss this issue at https://github.com/w3c/sensors/pull/369#issuecomment-420127480 using your GitHub account

Received on Tuesday, 11 September 2018 02:41:27 UTC