Skip to content

Commit 9349ee8

Browse files
committed
Moved all scenarios to Playwright
1 parent e796e6f commit 9349ee8

15 files changed

+238
-1655
lines changed

benchmark/playwright/admin.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from playwright.sync_api import sync_playwright
2+
import os
3+
4+
from gmt_helpers import log_note
5+
6+
with sync_playwright() as playwright:
7+
browser = playwright.chromium.launch(headless=True)
8+
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1280, "height": 1600})
9+
page = context.new_page()
10+
11+
page.set_default_timeout(5000)
12+
13+
page.goto(f"{os.environ['USAGE_SCENARIO_DOMAIN']}/admin/login/", wait_until="networkidle")
14+
log_note(page.title())
15+
print("GMT_SCI_R=1")
16+
17+
page.fill('#id_username', 'admin')
18+
page.fill('#id_password', 'changeme')
19+
20+
page.press('[type="submit"]', 'Enter')
21+
22+
page.wait_for_load_state('networkidle')
23+
24+
log_note(page.title())
25+
print("GMT_SCI_R=1")
26+
27+
page.click('[href="/admin/pages/60/"]')
28+
page.wait_for_load_state('networkidle')
29+
log_note(page.title())
30+
31+
page.click('[href="/admin/pages/61/"]')
32+
page.wait_for_load_state('networkidle')
33+
log_note(page.title())
34+
print("GMT_SCI_R=1")
35+
36+
page.click('[href="/admin/pages/77/edit/"]')
37+
page.wait_for_load_state('load', timeout=15000)
38+
log_note(page.title())
39+
40+
page.fill('#id_title', '(new) ')
41+
42+
preview_toggle = page.wait_for_selector('[aria-label="Toggle preview"]', timeout=10000)
43+
preview_toggle.click()
44+
45+
page.wait_for_selector('iframe[title="Preview"]', state='visible')
46+
47+
# Optional screenshot:
48+
# page.screenshot(path="admin.png")
49+
50+
browser.close()
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from playwright.sync_api import sync_playwright
2+
import os
3+
4+
from gmt_helpers import log_note
5+
6+
def main():
7+
domain = os.environ.get("USAGE_SCENARIO_DOMAIN")
8+
with sync_playwright() as playwright:
9+
browser = playwright.chromium.launch(headless=True)
10+
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1280, "height": 1600})
11+
page = context.new_page()
12+
page.set_default_timeout(5000)
13+
14+
page.goto(f"{domain}/blog/", wait_until="networkidle")
15+
log_note(page.title())
16+
print("GMT_SCI_R=1")
17+
18+
page.wait_for_timeout(3000)
19+
page.locator("footer").scroll_into_view_if_needed()
20+
page.wait_for_load_state("networkidle")
21+
22+
page.click('[href="/blog/tags/dessert/"]')
23+
page.wait_for_load_state("networkidle")
24+
log_note(page.title())
25+
print("GMT_SCI_R=1")
26+
27+
page.wait_for_timeout(3000)
28+
page.locator("footer").scroll_into_view_if_needed()
29+
page.wait_for_load_state("networkidle")
30+
31+
page.click('[href="/blog/desserts-benefits/"]')
32+
page.wait_for_load_state("networkidle")
33+
log_note(page.title())
34+
print("GMT_SCI_R=1")
35+
36+
page.wait_for_timeout(3000)
37+
page.locator("footer").scroll_into_view_if_needed()
38+
page.wait_for_load_state("networkidle")
39+
40+
browser.close()
41+
42+
if __name__ == "__main__":
43+
main()

benchmark/playwright/contact-us.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
from playwright.sync_api import sync_playwright
2+
import os
3+
4+
from gmt_helpers import log_note
5+
6+
with sync_playwright() as playwright:
7+
browser = playwright.chromium.launch(headless=True)
8+
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1280, "height": 1600})
9+
page = context.new_page()
10+
page.set_default_timeout(5000)
11+
12+
page.goto(os.environ['USAGE_SCENARIO_DOMAIN'] + "/contact-us/", wait_until="networkidle")
13+
log_note(page.title())
14+
print("GMT_SCI_R=1")
15+
16+
page.wait_for_timeout(3000)
17+
page.locator('footer').scroll_into_view_if_needed()
18+
page.wait_for_load_state("networkidle")
19+
20+
page.fill('#id_subject', 'Enquiring about bread')
21+
page.fill('#id_your_name', 'Testing tester')
22+
page.select_option('#id_purpose', 'Question')
23+
page.fill('#id_body', 'Is this is for demo purposes only?')
24+
25+
with page.expect_navigation(wait_until='networkidle'):
26+
page.locator('[type="submit"]').press('Enter')
27+
print("GMT_SCI_R=1")
28+
29+
page.wait_for_timeout(3000)
30+
page.locator('footer').scroll_into_view_if_needed()
31+
page.wait_for_load_state("networkidle")
32+
33+
log_note(page.title())
34+
intro_text = page.locator('.index-header__body-introduction').inner_text().replace("\n", "--")
35+
log_note(intro_text)
36+
37+
page.wait_for_timeout(3000)
38+
page.locator('footer').scroll_into_view_if_needed()
39+
page.wait_for_load_state("networkidle")
40+
41+
browser.close()

benchmark/playwright/gmt_helpers.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from time import time_ns
2+
def log_note(message: str) -> None:
3+
timestamp = str(time_ns())[:16]
4+
print(f"{timestamp} {message}")
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from playwright.sync_api import sync_playwright
2+
import os
3+
4+
from gmt_helpers import log_note
5+
6+
with sync_playwright() as playwright:
7+
browser = playwright.chromium.launch(headless=True)
8+
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1280, "height": 1600})
9+
page = context.new_page()
10+
page.set_default_timeout(5000)
11+
12+
page.goto(os.environ['USAGE_SCENARIO_DOMAIN'], wait_until="networkidle")
13+
log_note(page.title())
14+
print("GMT_SCI_R=1")
15+
16+
page.wait_for_timeout(3000)
17+
page.locator('footer').scroll_into_view_if_needed()
18+
page.wait_for_load_state("networkidle")
19+
20+
with page.expect_navigation(wait_until="networkidle"):
21+
page.click('[href="/breads"]')
22+
log_note(page.title())
23+
print("GMT_SCI_R=1")
24+
25+
page.wait_for_timeout(3000)
26+
page.locator('footer').scroll_into_view_if_needed()
27+
page.wait_for_load_state("networkidle")
28+
29+
with page.expect_navigation(wait_until="networkidle"):
30+
page.click('[href="/breads/bolani/"]')
31+
log_note(page.title())
32+
print("GMT_SCI_R=1")
33+
34+
page.wait_for_timeout(3000)
35+
page.locator('footer').scroll_into_view_if_needed()
36+
page.wait_for_load_state("networkidle")
37+
38+
browser.close()

benchmark/playwright/search.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from playwright.sync_api import sync_playwright
2+
import os
3+
4+
from gmt_helpers import log_note
5+
6+
with sync_playwright() as playwright:
7+
browser = playwright.chromium.launch(headless=True)
8+
context = browser.new_context(ignore_https_errors=True, viewport={"width": 1280, "height": 1600})
9+
page = context.new_page()
10+
page.set_default_timeout(5000)
11+
12+
page.goto(os.environ['USAGE_SCENARIO_DOMAIN'], wait_until="networkidle")
13+
log_note(page.title())
14+
print("GMT_SCI_R=1")
15+
16+
page.wait_for_timeout(3000)
17+
page.locator('footer').scroll_into_view_if_needed()
18+
page.wait_for_load_state("networkidle")
19+
20+
search = page.locator('#search-input')
21+
search.fill('bread')
22+
with page.expect_navigation(wait_until="networkidle"):
23+
search.press('Enter')
24+
25+
log_note(page.title())
26+
print("GMT_SCI_R=1")
27+
28+
page.wait_for_timeout(3000)
29+
page.locator('footer').scroll_into_view_if_needed()
30+
page.wait_for_load_state("networkidle")
31+
32+
with page.expect_navigation(wait_until="networkidle"):
33+
page.click('[href="/blog/icelandic-baking/"]')
34+
log_note(page.title())
35+
print("GMT_SCI_R=1")
36+
37+
browser.close()

benchmark/puppeteer/admin.js

Lines changed: 0 additions & 72 deletions
This file was deleted.

benchmark/puppeteer/blog-filtering.js

Lines changed: 0 additions & 48 deletions
This file was deleted.

benchmark/puppeteer/contact-us.js

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)