-
-
Notifications
You must be signed in to change notification settings - Fork 136
101 lines (101 loc) · 5.79 KB
/
linux.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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
./visualmetrics/visualmetrics.py --check
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