Auto-tools/Projects/SpeedTests: Difference between revisions

Jump to navigation Jump to search
Line 9: Line 9:
The browser controller has a list of browsers likely to be installed on the target platform.  It iterates through the list, executing the browser if it is found, pointing it to the server path /nexttest/, which replies with a redirect to the first test (in string order).  It also has a simple HTTP server running on a special port, which awaits a callback from the browser when the last test has executed.
The browser controller has a list of browsers likely to be installed on the target platform.  It iterates through the list, executing the browser if it is found, pointing it to the server path /nexttest/, which replies with a redirect to the first test (in string order).  It also has a simple HTTP server running on a special port, which awaits a callback from the browser when the last test has executed.


The tests use a common set of JavaScript functions to report results and to load the next test.  The server collects results and serves tests.  The client sends the results via XHRs to the server, either once at the end of the test, or periodically throughout the test's duration (TODO: possibly store periodic results internally and send once instead of multiple times, if it affects test execution).  When the test is finished, the browser loads the URL /nexttest/<current test name>, eg. /nexttest/PsychedelicBrowsing/, which redirects to the test that, in string order, follows the current test.  If the current test was the last test, the server redirects the browser to the callback port on the localhost.
The tests use a common set of JavaScript functions to report results and to load the next test.  The server collects results and serves tests.  When the test is finished, the browser sends the results via XHR and then loads the URL /nexttest/<current test name>, eg. /nexttest/PsychedelicBrowsing/, which redirects to the test that, in string order, follows the current test.  If the current test was the last test, the server redirects the browser to the callback port on the localhost.


Upon receiving a GET request on the callback port, the browser controller terminates the current browser and launches the next one in the list.  When the last browser has executed the tests, the controller shuts down its HTTP server and exits.
Upon receiving a GET request on the callback port, the browser controller terminates the current browser and launches the next one in the list.  When the last browser has executed the tests, the controller shuts down its HTTP server and exits.
Confirmed users
1,927

edits

Navigation menu