diff options
Diffstat (limited to 'testing/raptor/browsertime/process_switch.js')
-rw-r--r-- | testing/raptor/browsertime/process_switch.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/raptor/browsertime/process_switch.js b/testing/raptor/browsertime/process_switch.js new file mode 100644 index 0000000000..a13094c6c5 --- /dev/null +++ b/testing/raptor/browsertime/process_switch.js @@ -0,0 +1,45 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* eslint-env node */ + +module.exports = async function (context, commands) { + context.log.info("Starting a process switch test"); + let urlstr = context.options.browsertime.url; + let page_cycles = context.options.browsertime.page_cycles; + let page_cycle_delay = context.options.browsertime.page_cycle_delay; + let post_startup_delay = context.options.browsertime.post_startup_delay; + + // Get the two urls to use in the test (the second one will be measured) + let urls = urlstr.split(","); + if (urls.length != 2) { + context.log.error( + `Wrong number of urls given. Expecting: 2, Given: ${urls.length}` + ); + return false; + } + + context.log.info( + "Waiting for %d ms (post_startup_delay)", + post_startup_delay + ); + await commands.wait.byTime(post_startup_delay); + + for (let count = 0; count < page_cycles; count++) { + context.log.info("Navigating to about:blank"); + await commands.navigate("about:blank"); + + context.log.info("Cycle %d, waiting for %d ms", count, page_cycle_delay); + await commands.wait.byTime(page_cycle_delay); + context.log.info("Cycle %d, starting the measure", count); + + await commands.navigate(urls[0]); + await commands.wait.byTime(3000); + await commands.measure.start(urls[1]); + await commands.wait.byTime(2000); + } + + context.log.info("Process switch test ended."); + return true; +}; |