Skip to content

Chrome: Add extra info to the timeline. (#2217) #3112

Chrome: Add extra info to the timeline. (#2217)

Chrome: Add extra info to the timeline. (#2217) #3112

Workflow file for this run

name: Linux browsers
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Install Firefox
uses: browser-actions/setup-firefox@latest
#with:
# firefox-version: '94.0'
- name: Install latest Chrome
run: |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get --only-upgrade install google-chrome-stable
google-chrome --version
- name: Install Browsertime
run: npm ci
- name: Install dependencies
run: |
sudo apt-get install net-tools -y
sudo snap install ffmpeg
sudo snap alias ffmpeg.ffprobe ffprobe
python -m pip install --upgrade --user pip
python -m pip install --upgrade --user setuptools
python -m pip install --user pyssim OpenCV-Python Numpy
python -m pip --version
python -m pip show Pillow
python -m pip show pyssim
python -m pip install virtualenv
sudo modprobe ifb numifbs=1
- name: Browser versions
run: |
google-chrome --version
firefox --version
- name: Start local HTTP server
run: (npm run start-server&)
# - run: VTENV_OPTS="-p python3" make test
- name: Test Firefox with throttle
run: ./bin/browsertime.js -b firefox -n 1 http://127.0.0.1:3000/simple/ --connectivity.profile cable --connectivity.engine throttle --xvfb --firefox.collectMozLog
- name: Test Chrome with CPU throttle and preURL
run: ./bin/browsertime.js -b chrome --skipHar -n 1 --preURL http://127.0.0.1:3000/simple/ -r header:value --chrome.CPUThrottlingRate 2 --chrome.cdp.performance --xvfb --chrome.enableChromeDriverLog --chrome.collectConsoleLog http://127.0.0.1:3000/dimple/
- name: Test pre/post scripts
run: ./bin/browsertime.js -b chrome test/data/navigationscript/measure.cjs -n 1 --preScript test/data/prepostscripts/preSample.cjs --postScript test/data/prepostscripts/postSample.cjs --xvfb
- name: Test navigation and page complete check inactivity
run: ./bin/browsertime.js -b chrome test/data/navigationscript/navigateAndStartInTwoSteps.cjs -n 1 --pageCompleteCheckInactivity --timeToSettle 1000 --xvfb
- name: Test multi pages
run: ./bin/browsertime.js -b firefox test/data/navigationscript/multi.cjs http://127.0.0.1:3000/search/ -n 1 --xvfb
- name: Test multi pages with video and visual metrics
run: ./bin/browsertime.js -b chrome test/data/navigationscript/multi.cjs -n 3 --chrome.timeline --video --visualMetrics --visualElements --viewPort 1000x600 --xvfb
- name: Test Firefox Geckoprofiler
run: ./bin/browsertime.js -b firefox --firefox.geckoProfiler -n 1 http://127.0.0.1:3000/simple/ --xvfb
- name: Test Firefox with scripting
run: ./bin/browsertime.js -b firefox test/data/commandscripts/unified.cjs --xvfb
- name: Test Chrome with emulated mobile
run: ./bin/browsertime.js -b chrome --chrome.mobileEmulation.deviceName 'iPhone 6' http://127.0.0.1:3000/simple/ --xvfb
- name: Test Firefox with web driver nagivation
run: ./bin/browsertime.js -b firefox -n 1 http://127.0.0.1:3000/simple/ --webdriverPageload --xvfb
- name: Test Chrome with web driver nagivation
run: ./bin/browsertime.js -b chrome -n 1 http://127.0.0.1:3000/simple/ --webdriverPageload --xvfb
- name: Test navigate to the same URL twice
run: ./bin/browsertime.js -b chrome test/data/navigationscript/sameURLTwice.cjs -n 1 --pageCompleteCheckInactivity --timeToSettle 1000 --xvfb
- name: Test navigate to the same URL twice by clicking on a link
run: ./bin/browsertime.js -b chrome test/data/navigationscript/sameURLTwiceWithClick.cjs -n 1 --pageCompleteCheckInactivity --timeToSettle 1000 --xvfb
- name: Test using alias for one URL
run: ./bin/browsertime.js -b chrome http://127.0.0.1:3000/simple/ --urlAlias my_url --xvfb
- name: Test using alias for multiple URLs
run: ./bin/browsertime.js -b chrome http://127.0.0.1:3000/simple/ http://127.0.0.1:3000/dimple/ --urlAlias startPage --urlAlias documentation --xvfb
- name: Test collecting Firefox perf statistics
run: ./bin/browsertime.js -b firefox --firefox.perfStats --xvfb http://127.0.0.1:3000/simple/
- name: Run test with pre-test functionality
run: ./bin/browsertime.js -b chrome --preWarmServer --xvfb http://127.0.0.1:3000/simple/
- name: Run test with screenshots
run: ./bin/browsertime.js -b chrome --screenshotLCP --screenshotLS --xvfb http://127.0.0.1:3000/simple/
- name: Run test with check network idle in Chrome
run: ./bin/browsertime.js -b chrome --pageCompleteCheckNetworkIdle --xvfb http://127.0.0.1:3000/simple/
- name: Run test with check network idle in Firefox
run: ./bin/browsertime.js -b firefox --pageCompleteCheckNetworkIdle --xvfb http://127.0.0.1:3000/simple/
- name: Run test with tcp dump
run: ./bin/browsertime.js -b chrome --xvfb http://127.0.0.1:3000/simple/ -n 1 --tcpdump
- name: Run test with scripting.mjs
run: ./bin/browsertime.js -b chrome -n 1 --xvfb test/data/scripting/module.mjs
- name: Run test with scripting.cjs
run: ./bin/browsertime.js -b chrome -n 1 --xvfb test/data/scripting/common.cjs
- name: Run test with scripting.js
run: ./bin/browsertime.js -b chrome -n 1 --xvfb test/data/scripting/common.js --cjs
- name: Run test with scripting.js
run: ./bin/browsertime.js -b chrome -n 1 --xvfb test/data/scripting/module.js
- name: Test extra profile run Chrome
run: ./bin/browsertime.js -b chrome http://127.0.0.1:3000/simple/ -n 1 --viewPort 1000x600 --xvfb --enableProfileRun
- name: Test extra profile run Firefox
run: ./bin/browsertime.js -b firefox http://127.0.0.1:3000/simple/ -n 1 --viewPort 1000x600 --xvfb --enableProfileRun