[Bug 26266] New: Webdriver command batches suggestion

https://www.w3.org/Bugs/Public/show_bug.cgi?id=26266

            Bug ID: 26266
           Summary: Webdriver command batches suggestion
           Product: Browser Test/Tools WG
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: WebDriver
          Assignee: public-browser-tools-testing@w3.org
          Reporter: mail2lf@gmail.com
        QA Contact: public-browser-tools-testing@w3.org
                CC: mike@w3.org

Hi guys,

I have recently encountered an challenge while implementing automated tests and
think we can design a pretty useful generic feature out of it.

The idea is pretty simple: create an interface to be able to create a batch of
commands and get a notification upon their completion. So, basically the
approach is:
1) An API consumer requests WebDriver to notice batch start
2) WebDriver replies with a unique batch id
3) All the commands executed later on are associated with this batch
4) An API consumer requests WebDriver to notice batch finish
5) An API consumer is able to ask if the batched commands have been completed
6) (Optional) WebDriver can notify API consumer about batch finalization

The motivation behind this is pretty simple: executing some actions can produce
delayed side effects (send an AJAX request and handling a callback once it
finishes; submitting the form into an iframe and handling onload event; etc).
Unfortunately, currently there is no way to know that a command (or a set of
commands) have finished working completely (including all side effects produced
directly or indirectly by them). 

Why do we need this is real world? Well, a number of examples can be provided:
the simpliest is writing automated tests for javascript code, which requires
asserting some values only after all asynchronous activity has completed.

Please note it is different from page loading modes as the effects are not
limited to network / parser / DOM – one can set a delayed executing (via
setTimeout) and aim to check if it worked properly (and, of course, only after
setTimeout has fired), which gets handled by the proposed functionality.

If anyone could provide his thoughts on the suggestion it would be great – I am
keen to discuss and polish the design of this feature :)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 4 July 2014 14:34:22 UTC