1616 runs-on : ubuntu-latest
1717 timeout-minutes : 60
1818
19- strategy :
20- fail-fast : false
21- matrix :
22- browser : [chrome, firefox, safari, edge]
23- include :
24- - browser : chrome
25- browserName : Chrome
26- os : Windows
27- osVersion : 11
28- - browser : firefox
29- browserName : Firefox
30- os : Windows
31- osVersion : 11
32- - browser : safari
33- browserName : Safari
34- os : OS X
35- osVersion : Monterey
36- - browser : edge
37- browserName : Edge
38- os : Windows
39- osVersion : 11
40-
4119 steps :
4220 - name : Checkout repository
4321 uses : actions/checkout@v4
@@ -54,157 +32,34 @@ jobs:
5432 - name : Compile TypeScript
5533 run : npm run pretest
5634
57- - name : Run BrowserStack UI Tests
35+ - name : Run BrowserStack Tests
5836 env :
5937 BROWSERSTACK_USERNAME : ${{ secrets.BROWSERSTACK_USERNAME }}
6038 BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
6139 BROWSERSTACK_PROJECT_NAME : Playwright Testing Framework
6240 BROWSERSTACK_BUILD_NAME : build-${{ github.run_number }}-${{ github.sha }}
63- BROWSERSTACK_SESSION_NAME : ${{ matrix.browserName }}_ ${{ github.workflow }}
41+ BROWSERSTACK_SESSION_NAME : browserstack_ ${{ github.workflow }}
6442 BROWSERSTACK_DEBUG : true
6543 BROWSERSTACK_CONSOLE_LOGS : true
6644 BROWSERSTACK_NETWORK_LOGS : true
6745 BASE_URL : ${{ secrets.BASE_URL || 'https://www.google.com' }}
6846 USERNAME : ${{ secrets.TEST_USERNAME }}
6947 PASSWORD : ${{ secrets.TEST_PASSWORD }}
7048 run : |
71- npx playwright install
72- npx playwright test --config=playwright.browserstack.config.ts --project=browserstack-${{ matrix.browser }}
49+ npm run run-browserstack-working
7350
7451 - name : Upload BrowserStack Test Results
7552 if : always()
7653 uses : actions/upload-artifact@v4
7754 with :
78- name : browserstack-results-${{ matrix.browser }}
55+ name : browserstack-results
7956 path : |
80- browserstack-report/
81- browserstack-results.json
57+ reports/
8258 test-results/
8359
8460 - name : Upload Screenshots and Videos
8561 if : failure()
8662 uses : actions/upload-artifact@v4
8763 with :
88- name : browserstack-screenshots-${{ matrix.browser }}
89- path : test-results/
90-
91- browserstack-mobile-tests :
92- runs-on : ubuntu-latest
93- timeout-minutes : 60
94-
95- strategy :
96- fail-fast : false
97- matrix :
98- device : [chrome-mobile, safari-mobile]
99- include :
100- - device : chrome-mobile
101- browserName : Chrome
102- deviceName : Samsung Galaxy S21
103- os : android
104- osVersion : 11.0
105- - device : safari-mobile
106- browserName : Safari
107- deviceName : iPhone 12
108- os : ios
109- osVersion : 14
110-
111- steps :
112- - name : Checkout repository
113- uses : actions/checkout@v4
114-
115- - name : Use Node.js 18
116- uses : actions/setup-node@v4
117- with :
118- node-version : ' 18'
119- cache : ' npm'
120-
121- - name : Install dependencies
122- run : npm ci
123-
124- - name : Compile TypeScript
125- run : npm run pretest
126-
127- - name : Run BrowserStack Mobile Tests
128- env :
129- BROWSERSTACK_USERNAME : ${{ secrets.BROWSERSTACK_USERNAME }}
130- BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
131- BROWSERSTACK_PROJECT_NAME : Playwright Testing Framework
132- BROWSERSTACK_BUILD_NAME : build-${{ github.run_number }}-${{ github.sha }}
133- BROWSERSTACK_SESSION_NAME : ${{ matrix.deviceName }}_${{ github.workflow }}
134- BROWSERSTACK_DEBUG : true
135- BROWSERSTACK_CONSOLE_LOGS : true
136- BROWSERSTACK_NETWORK_LOGS : true
137- BASE_URL : ${{ secrets.BASE_URL || 'https://www.google.com' }}
138- USERNAME : ${{ secrets.TEST_USERNAME }}
139- PASSWORD : ${{ secrets.TEST_PASSWORD }}
140- run : |
141- npx playwright test --config=playwright.browserstack.config.ts --project=browserstack-${{ matrix.device }}
142-
143- - name : Upload BrowserStack Mobile Test Results
144- if : always()
145- uses : actions/upload-artifact@v4
146- with :
147- name : browserstack-mobile-results-${{ matrix.device }}
148- path : |
149- browserstack-report/
150- browserstack-results.json
151- test-results/
152-
153- - name : Upload Mobile Screenshots and Videos
154- if : failure()
155- uses : actions/upload-artifact@v4
156- with :
157- name : browserstack-mobile-screenshots-${{ matrix.device }}
158- path : test-results/
159-
160- browserstack-cucumber-tests :
161- runs-on : ubuntu-latest
162- timeout-minutes : 60
163-
164- steps :
165- - name : Checkout repository
166- uses : actions/checkout@v4
167-
168- - name : Use Node.js 18
169- uses : actions/setup-node@v4
170- with :
171- node-version : ' 18'
172- cache : ' npm'
173-
174- - name : Install dependencies
175- run : npm ci
176-
177- - name : Compile TypeScript
178- run : npm run pretest
179-
180- - name : Run BrowserStack Cucumber Tests
181- env :
182- BROWSERSTACK_USERNAME : ${{ secrets.BROWSERSTACK_USERNAME }}
183- BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
184- BROWSERSTACK_PROJECT_NAME : Playwright Testing Framework
185- BROWSERSTACK_BUILD_NAME : build-${{ github.run_number }}-${{ github.sha }}
186- BROWSERSTACK_SESSION_NAME : cucumber_browserstack_${{ github.workflow }}
187- BROWSERSTACK_DEBUG : true
188- BROWSERSTACK_CONSOLE_LOGS : true
189- BROWSERSTACK_NETWORK_LOGS : true
190- BASE_URL : ${{ secrets.BASE_URL || 'https://www.google.com' }}
191- USERNAME : ${{ secrets.TEST_USERNAME }}
192- PASSWORD : ${{ secrets.TEST_PASSWORD }}
193- run : |
194- npm run test:browserstack
195-
196- - name : Upload Cucumber BrowserStack Results
197- if : always()
198- uses : actions/upload-artifact@v4
199- with :
200- name : browserstack-cucumber-results
201- path : |
202- test-results/
203- reports/
204-
205- - name : Upload Cucumber Screenshots and Videos
206- if : failure()
207- uses : actions/upload-artifact@v4
208- with :
209- name : browserstack-cucumber-screenshots
64+ name : browserstack-screenshots
21065 path : test-results/
0 commit comments