The following command line flags are supported for all benchmarks:
-
-b': The browser to run the benchmark in. The valid options currently are 'chrome', 'safari', and 'stp'. -
-e: Path to the executable for the driver binary. -
-a: Additional command-line arguments to use when launching the browser. Currently supported only for Chrome (i.e. with-b chrome). -
-g: An optional githash associated with this run. This githash is reproduced verbatim with the result, and is not used for any other purpose. -
-o: Path to the output json file. -
--chrome-path: Path to the chrome binary. If not present, default binary is used.
In order to use these scripts, you must have the following present:
- Install [chromedriver][https://chromedriver.chromium.org/downloads].
- Install [selenium][https://pypi.org/project/selenium/].
Safari requires enabling remote automation:
- Enable the developer menu in the Advanced tab of Preferences.
- Enable 'Remote Automation' via the 'Developer' menu.
- Run
safaridriver --enable.
The script in motionmark.py helps automatically run MotionMark1.2 benchmark in
a browser and extract a score out of it.
This script supports the following additional command line flags:
-s: The name of the test suite to run. The default is 'MotionMark'. The name has to be an exact match (e.g. 'HTML suite', etc.).
Example usage:
python3 tools/browserbench-webdriver/motionmark.py \
-b chrome \
-e out/Default/chromedriver \
-a 'enable-features=CanvasOopRasterization' \
-o motionmark.json
This script in speedometer.py runs Speedometer2.0 benchmark in a browser, and
extracts the score out of it.
Example usage:
python3 tools/browserbench-webdriver/speedometer.py \
-b chrome \
-e out/Default/chromedriver \
-o speedometer.json
This script in jetstream.py runs JetStream benchmark in a browser, and
extracts the score out of it.
Example usage:
python3 tools/browserbench-webdriver/jetstream.py \
-b chrome \
-e out/Default/chromedriver \
-o jetstream.json