Chrome: Add extra info to the timeline. (#2217) #3112
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |