Skip to content

Commit 3d1eb53

Browse files
Run visual testing on customers docs (#2833)
Co-authored-by: Valentino Hudhra <[email protected]> Co-authored-by: Valentino Hudhra <[email protected]>
1 parent a76c9a5 commit 3d1eb53

File tree

7 files changed

+620
-320
lines changed

7 files changed

+620
-320
lines changed

Diff for: .github/workflows/ci.yaml

+25
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,31 @@ jobs:
253253
name: playwright-test-results
254254
path: packages/gitbook/test-results/
255255
retention-days: 3
256+
visual-testing-customers:
257+
runs-on: ubuntu-latest
258+
name: Visual Testing Customers
259+
needs: deploy
260+
steps:
261+
- name: Checkout
262+
uses: actions/checkout@v4
263+
- name: Setup Bun
264+
uses: ./.github/composite/setup-bun
265+
- name: Install dependencies
266+
run: bun install --frozen-lockfile
267+
- name: Setup Playwright
268+
uses: ./.github/actions/setup-playwright
269+
- name: Run Playwright tests
270+
run: bun e2e-customers
271+
env:
272+
BASE_URL: ${{needs.deploy.outputs.deployment-url}}
273+
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
274+
ARGOS_BUILD_NAME: 'customers'
275+
- uses: actions/upload-artifact@v4
276+
if: ${{ !cancelled() }}
277+
with:
278+
name: playwright-test-results-customers
279+
path: packages/gitbook/test-results/
280+
retention-days: 3
256281
pagespeed-testing:
257282
runs-on: ubuntu-latest
258283
name: PageSpeed Testing

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"format:check": "prettier ./ --ignore-unknown --list-different",
2828
"unit": "turbo run unit",
2929
"e2e": "turbo run e2e",
30+
"e2e-customers": "turbo run e2e-customers",
3031
"changeset": "changeset",
3132
"release": "turbo run release && changeset publish",
3233
"release:preview": "turbo run release:preview",

Diff for: packages/gitbook/e2e/customers.spec.ts

+240
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
import { runTestCases, TestsCase, waitForCookiesDialog } from './util';
2+
3+
/** A list of test cases to run on the customers' docs sites. */
4+
const testCases: TestsCase[] = [
5+
{
6+
name: 'Snyk',
7+
baseUrl: 'https://docs.snyk.io',
8+
tests: [
9+
{ name: 'Home', url: '/' },
10+
{ name: 'OpenAPI', url: '/snyk-api/reference/apps' },
11+
],
12+
},
13+
{
14+
name: 'Nexthink',
15+
baseUrl: 'https://docs.nexthink.com',
16+
tests: [{ name: 'Home', url: '/', screenshot: { waitForTOCScrolling: false } }],
17+
},
18+
{
19+
name: 'asiksupport-stg.dto.kemkes.go.id',
20+
baseUrl: 'https://asiksupport-stg.dto.kemkes.go.id',
21+
tests: [{ name: 'Home', url: '/' }],
22+
},
23+
{
24+
name: 'jasons-tutorials.gitbook.io',
25+
baseUrl: 'https://jasons-tutorials.gitbook.io',
26+
tests: [{ name: 'Home', url: '/' }],
27+
},
28+
{
29+
name: 'faq.deltaemulator.com',
30+
baseUrl: 'https://faq.deltaemulator.com',
31+
tests: [{ name: 'Home', url: '/' }],
32+
},
33+
{
34+
name: 'docs.dify.ai',
35+
baseUrl: 'https://docs.dify.ai',
36+
tests: [{ name: 'Home', url: '/' }],
37+
},
38+
{
39+
name: 'seeddao.gitbook.io',
40+
baseUrl: 'https://seeddao.gitbook.io',
41+
tests: [{ name: 'Home', url: '/' }],
42+
},
43+
{
44+
name: 'faq.altstore.io',
45+
baseUrl: 'https://faq.altstore.io',
46+
tests: [{ name: 'Home', url: '/' }],
47+
},
48+
{
49+
name: 'support.audacityteam.org',
50+
baseUrl: 'https://support.audacityteam.org',
51+
tests: [{ name: 'Home', url: '/' }],
52+
},
53+
{
54+
name: 'docs.gmgn.ai',
55+
baseUrl: 'https://docs.gmgn.ai',
56+
tests: [{ name: 'Home', url: '/' }],
57+
},
58+
{
59+
name: 'docs.spicychat.ai',
60+
baseUrl: 'https://docs.spicychat.ai',
61+
tests: [{ name: 'Home', url: '/' }],
62+
},
63+
{
64+
name: 'docs.portainer.io',
65+
baseUrl: 'https://docs.portainer.io',
66+
tests: [{ name: 'Home', url: '/' }],
67+
},
68+
{
69+
name: 'docs.chirptoken.io',
70+
baseUrl: 'https://docs.chirptoken.io',
71+
tests: [{ name: 'Home', url: '/' }],
72+
},
73+
{
74+
name: 'docs.dexscreener.com',
75+
baseUrl: 'https://docs.dexscreener.com',
76+
tests: [{ name: 'Home', url: '/' }],
77+
},
78+
{
79+
name: 'docs.pancakeswap.finance',
80+
baseUrl: 'https://docs.pancakeswap.finance',
81+
tests: [{ name: 'Home', url: '/' }],
82+
},
83+
{
84+
name: 'book.character.ai',
85+
baseUrl: 'https://book.character.ai',
86+
tests: [{ name: 'Home', url: '/' }],
87+
},
88+
{
89+
name: 'docs.tradeonnova.io',
90+
baseUrl: 'https://docs.tradeonnova.io',
91+
tests: [{ name: 'Home', url: '/' }],
92+
},
93+
{
94+
name: 'azcoiner.gitbook.io',
95+
baseUrl: 'https://azcoiner.gitbook.io',
96+
tests: [{ name: 'Home', url: '/' }],
97+
},
98+
{
99+
name: 'docs.midas.app',
100+
baseUrl: 'https://docs.midas.app',
101+
tests: [{ name: 'Home', url: '/' }],
102+
},
103+
{
104+
name: 'docs.keeper.io',
105+
baseUrl: 'https://docs.keeper.io',
106+
tests: [{ name: 'Home', url: '/' }],
107+
},
108+
{
109+
name: 'adiblar.gitbook.io',
110+
baseUrl: 'https://adiblar.gitbook.io',
111+
tests: [{ name: 'Home', url: '/' }],
112+
},
113+
{
114+
name: 'docs.gradient.network',
115+
baseUrl: 'https://docs.gradient.network',
116+
tests: [{ name: 'Home', url: '/' }],
117+
},
118+
{
119+
name: 'mygate-network.gitbook.io',
120+
baseUrl: 'https://mygate-network.gitbook.io',
121+
tests: [{ name: 'Home', url: '/' }],
122+
},
123+
{
124+
name: 'treasurenft.gitbook.io',
125+
baseUrl: 'https://treasurenft.gitbook.io',
126+
tests: [{ name: 'Home', url: '/' }],
127+
},
128+
{
129+
name: 'browndust2.gitbook.io',
130+
baseUrl: 'https://browndust2.gitbook.io',
131+
tests: [{ name: 'Home', url: '/', screenshot: { waitForTOCScrolling: false } }],
132+
},
133+
{
134+
name: 'junookyo.gitbook.io',
135+
baseUrl: 'https://junookyo.gitbook.io',
136+
tests: [{ name: 'Home', url: '/' }],
137+
},
138+
{
139+
name: 'meshnet.nordvpn.com',
140+
baseUrl: 'https://meshnet.nordvpn.com',
141+
tests: [{ name: 'Home', url: '/' }],
142+
},
143+
{
144+
name: 'manual.bubble.io',
145+
baseUrl: 'https://manual.bubble.io',
146+
tests: [{ name: 'Home', url: '/' }],
147+
},
148+
{
149+
name: 'docs.tickettool.xyz',
150+
baseUrl: 'https://docs.tickettool.xyz',
151+
tests: [{ name: 'Home', url: '/' }],
152+
},
153+
{
154+
name: 'wiki.redmodding.org',
155+
baseUrl: 'https://wiki.redmodding.org',
156+
tests: [{ name: 'Home', url: '/' }],
157+
},
158+
{
159+
name: 'docs.cherry-ai.com',
160+
baseUrl: 'https://docs.cherry-ai.com',
161+
tests: [{ name: 'Home', url: '/' }],
162+
},
163+
{
164+
name: 'docs.snyk.io',
165+
baseUrl: 'https://docs.snyk.io',
166+
tests: [{ name: 'Home', url: '/' }],
167+
},
168+
{
169+
name: 'docs.realapp.link',
170+
baseUrl: 'https://docs.realapp.link',
171+
tests: [{ name: 'Home', url: '/' }],
172+
},
173+
{
174+
name: 'docs.plaza.finance',
175+
baseUrl: 'https://docs.plaza.finance',
176+
tests: [{ name: 'Home', url: '/' }],
177+
},
178+
{
179+
name: 'docs.publicai.io',
180+
baseUrl: 'https://docs.publicai.io',
181+
tests: [{ name: 'Home', url: '/' }],
182+
},
183+
{
184+
name: 'hyperliquid.gitbook.io',
185+
baseUrl: 'https://hyperliquid.gitbook.io',
186+
tests: [{ name: 'Home', url: '/' }],
187+
},
188+
{
189+
name: 'docs.umbraco.com',
190+
baseUrl: 'https://docs.umbraco.com',
191+
tests: [{ name: 'Home', url: '/welcome', screenshot: { waitForTOCScrolling: false } }],
192+
},
193+
{
194+
name: 'sosovalue-white-paper.gitbook.io',
195+
baseUrl: 'https://sosovalue-white-paper.gitbook.io',
196+
tests: [{ name: 'Home', url: '/' }],
197+
},
198+
{
199+
name: 'docs.revrobotics.com',
200+
baseUrl: 'https://docs.revrobotics.com',
201+
tests: [{ name: 'Home', url: '/' }],
202+
},
203+
{
204+
name: 'chartschool.stockcharts.com',
205+
baseUrl: 'https://chartschool.stockcharts.com',
206+
tests: [{ name: 'Home', url: '/' }],
207+
},
208+
{
209+
name: 'docs.soniclabs.com',
210+
baseUrl: 'https://docs.soniclabs.com',
211+
tests: [{ name: 'Home', url: '/' }],
212+
},
213+
{
214+
name: 'docs.meshchain.ai',
215+
baseUrl: 'https://docs.meshchain.ai',
216+
tests: [{ name: 'Home', url: '/' }],
217+
},
218+
{
219+
name: 'docs.thousandeyes.com',
220+
baseUrl: 'https://docs.thousandeyes.com',
221+
tests: [{ name: 'Home', url: '/' }],
222+
},
223+
{
224+
name: 'docs.raydium.io',
225+
baseUrl: 'https://docs.raydium.io',
226+
tests: [{ name: 'Home', url: '/' }],
227+
},
228+
{
229+
name: 'docs.solv.finance',
230+
baseUrl: 'https://docs.solv.finance',
231+
tests: [{ name: 'Home', url: '/' }],
232+
},
233+
{
234+
name: 'docs.fluentbit.io',
235+
baseUrl: 'https://docs.fluentbit.io',
236+
tests: [{ name: 'Home', url: '/' }],
237+
},
238+
];
239+
240+
runTestCases(testCases);

0 commit comments

Comments
 (0)