Skip to content

Commit cdce7fa

Browse files
authored
Puppeteer tests: change index load waitUntil from networkidle0 to domcontentloaded (#3170)
* Puppeteer tests: change index load waitUntil from networkidle0 to domcontentloaded * Add julia cache action * Also await the main menu to be ready
1 parent d98c339 commit cdce7fa

13 files changed

+33
-14
lines changed

.github/workflows/FrontendTest.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ jobs:
3030
with:
3131
version: "1.10" # our lowest supported version
3232

33+
- uses: julia-actions/cache@v2
34+
3335
- name: Install Pluto.jl packages
3436
run: |
3537
julia --project=$GITHUB_WORKSPACE -e "using Pkg; Pkg.instantiate()"

test/frontend/__tests__/autocomplete_test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
writeSingleLineInPlutoInput,
99
shutdownCurrentNotebook,
1010
setupPlutoBrowser,
11+
gotoPlutoMainMenu,
1112
} from "../helpers/pluto"
1213

1314
describe("PlutoAutocomplete", () => {
@@ -25,7 +26,7 @@ describe("PlutoAutocomplete", () => {
2526
})
2627
beforeEach(async () => {
2728
page = await createPage(browser)
28-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
29+
await gotoPlutoMainMenu(page)
2930
})
3031
afterEach(async () => {
3132
await saveScreenshot(page)

test/frontend/__tests__/bonds.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { saveScreenshot, createPage, paste, waitForContentToBecome, waitForConte
33
import {
44
createNewNotebook,
55
getPlutoUrl,
6+
gotoPlutoMainMenu,
67
importNotebook,
78
runAllChanged,
89
setupPlutoBrowser,
@@ -27,7 +28,7 @@ describe("@bind", () => {
2728
})
2829
beforeEach(async () => {
2930
page = await createPage(browser)
30-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
31+
await gotoPlutoMainMenu(page)
3132
})
3233
afterEach(async () => {
3334
await saveScreenshot(page)

test/frontend/__tests__/import_notebook_test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
shutdownCurrentNotebook,
1111
setupPlutoBrowser,
1212
runAllChanged,
13+
gotoPlutoMainMenu,
1314
} from "../helpers/pluto"
1415

1516
describe("PlutoImportNotebook", () => {
@@ -27,7 +28,7 @@ describe("PlutoImportNotebook", () => {
2728
})
2829
beforeEach(async () => {
2930
page = await createPage(browser)
30-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
31+
await gotoPlutoMainMenu(page)
3132
})
3233
afterEach(async () => {
3334
await saveScreenshot(page)

test/frontend/__tests__/javascript_api.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
setupPlutoBrowser,
99
waitForPlutoToCalmDown,
1010
runAllChanged,
11+
gotoPlutoMainMenu,
1112
} from "../helpers/pluto"
1213

1314
describe("JavaScript API", () => {
@@ -25,7 +26,7 @@ describe("JavaScript API", () => {
2526
})
2627
beforeEach(async () => {
2728
page = await createPage(browser)
28-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
29+
await gotoPlutoMainMenu(page)
2930
await createNewNotebook(page)
3031
})
3132
afterEach(async () => {

test/frontend/__tests__/new_notebook_test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
manuallyEnterCells,
1414
runAllChanged,
1515
clearPlutoInput,
16+
gotoPlutoMainMenu,
1617
} from "../helpers/pluto"
1718

1819
describe("PlutoNewNotebook", () => {
@@ -30,7 +31,7 @@ describe("PlutoNewNotebook", () => {
3031
})
3132
beforeEach(async () => {
3233
page = await createPage(browser)
33-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
34+
await gotoPlutoMainMenu(page)
3435
await createNewNotebook(page)
3536
})
3637
afterEach(async () => {

test/frontend/__tests__/paste_test.disabled

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ describe("Paste Functionality", () => {
3131
})
3232

3333
beforeEach(async () => {
34-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
34+
await gotoPlutoMainMenu(page)
3535
await createNewNotebook(page)
3636
await page.waitForSelector("pluto-input", { visible: true })
3737
})

test/frontend/__tests__/published_to_js.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import puppeteer from "puppeteer"
22
import { saveScreenshot, createPage } from "../helpers/common"
3-
import { importNotebook, getPlutoUrl, shutdownCurrentNotebook, setupPlutoBrowser } from "../helpers/pluto"
3+
import { importNotebook, getPlutoUrl, shutdownCurrentNotebook, setupPlutoBrowser, gotoPlutoMainMenu } from "../helpers/pluto"
44

55
describe("published_to_js", () => {
66
/**
@@ -17,7 +17,7 @@ describe("published_to_js", () => {
1717
})
1818
beforeEach(async () => {
1919
page = await createPage(browser)
20-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
20+
await gotoPlutoMainMenu(page)
2121
})
2222
afterEach(async () => {
2323
await saveScreenshot(page)

test/frontend/__tests__/safe_preview.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
runAllChanged,
1414
openPathOrURLNotebook,
1515
getAllCellOutputs,
16+
gotoPlutoMainMenu,
1617
} from "../helpers/pluto"
1718

1819
describe("safe_preview", () => {
@@ -30,7 +31,7 @@ describe("safe_preview", () => {
3031
})
3132
beforeEach(async () => {
3233
page = await createPage(browser)
33-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
34+
await gotoPlutoMainMenu(page)
3435
})
3536
afterEach(async () => {
3637
await saveScreenshot(page)
@@ -128,7 +129,7 @@ Hello
128129
let path = await page.evaluate(() => window.editor_state.notebook.path.replaceAll("\\", "\\\\"))
129130
let shutdown = async () => {
130131
await shutdownCurrentNotebook(page)
131-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
132+
await gotoPlutoMainMenu(page)
132133
// Wait for it to be shut down
133134
await page.waitForSelector(`li.recent a[title="${path}"]`)
134135
}

test/frontend/__tests__/slide_controls.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
createNewNotebook,
55
getCellIds,
66
getPlutoUrl,
7+
gotoPlutoMainMenu,
78
importNotebook,
89
manuallyEnterCells,
910
runAllChanged,
@@ -28,7 +29,7 @@ describe("slideControls", () => {
2829
})
2930
beforeEach(async () => {
3031
page = await createPage(browser)
31-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
32+
await gotoPlutoMainMenu(page)
3233
})
3334
afterEach(async () => {
3435
await saveScreenshot(page)

test/frontend/__tests__/wind_directions.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
waitForPlutoToCalmDown,
1010
runAllChanged,
1111
importNotebook,
12+
gotoPlutoMainMenu,
1213
} from "../helpers/pluto"
1314

1415
describe("wind_directions", () => {
@@ -24,7 +25,7 @@ describe("wind_directions", () => {
2425
beforeAll(async () => {
2526
browser = await setupPlutoBrowser()
2627
page = await createPage(browser)
27-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
28+
await gotoPlutoMainMenu(page)
2829

2930
await importNotebook(page, "wind_directions.jl", { permissionToRunCode: true, timeout: 180 * 1000 })
3031
await page.waitForTimeout(1000)

test/frontend/__tests__/with_js_link.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
writeSingleLineInPlutoInput,
1111
runAllChanged,
1212
waitForPlutoToCalmDown,
13+
gotoPlutoMainMenu,
1314
} from "../helpers/pluto"
1415

1516
describe("with_js_link", () => {
@@ -25,7 +26,7 @@ describe("with_js_link", () => {
2526
beforeAll(async () => {
2627
browser = await setupPlutoBrowser()
2728
page = await createPage(browser)
28-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
29+
await gotoPlutoMainMenu(page)
2930

3031
await importNotebook(page, "with_js_link.jl", { timeout: 120 * 1000 })
3132
})

test/frontend/helpers/pluto.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const prewarmPluto = async (browser) => {
3636
let page = await createPage(browser)
3737

3838
await browser.defaultBrowserContext().overridePermissions(getPlutoUrl(), ["clipboard-read", "clipboard-write"])
39-
await page.goto(getPlutoUrl(), { waitUntil: "networkidle0" })
39+
await gotoPlutoMainMenu(page)
4040
await createNewNotebook(page)
4141
const cellInputSelector = "pluto-input .cm-content"
4242
await page.waitForSelector(cellInputSelector, { visible: true })
@@ -73,6 +73,14 @@ export const setupPlutoBrowser = async () => {
7373
return browser
7474
}
7575

76+
/**
77+
* @param {Page} page
78+
*/
79+
export const gotoPlutoMainMenu = async (page) => {
80+
await page.goto(getPlutoUrl(), { waitUntil: "domcontentloaded" })
81+
await page.waitForFunction(() => document.querySelector(`.not_yet_ready`) == null)
82+
}
83+
7684
/**
7785
* @param {Page} page
7886
*/

0 commit comments

Comments
 (0)