From 89a978861fc27aeb03ab2ea030e0e7f7d3d2bf31 Mon Sep 17 00:00:00 2001 From: joshua-mae <86929441+joshua-mae@users.noreply.github.com> Date: Wed, 29 May 2024 21:54:39 -0400 Subject: [PATCH] Adding more tests later, still experimenting --- .github/workflows/playwright.yml | 2 +- playwright-tests/sticky_header.py | 53 ------------------------------ playwright-tests/test_firstload.py | 5 +++ 3 files changed, 6 insertions(+), 54 deletions(-) delete mode 100644 playwright-tests/sticky_header.py create mode 100644 playwright-tests/test_firstload.py diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 13691ec..1db30fa 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -3,7 +3,7 @@ name: Playwright Tests on: [push, pull_request] jobs: - test: + Personal-Page-Tests: runs-on: ubuntu-latest steps: diff --git a/playwright-tests/sticky_header.py b/playwright-tests/sticky_header.py deleted file mode 100644 index 56c53f2..0000000 --- a/playwright-tests/sticky_header.py +++ /dev/null @@ -1,53 +0,0 @@ -import asyncio -from playwright.async_api import async_playwright - -async def test_sticky_header(browser_name): - async with async_playwright() as p: - if browser_name == 'chromium': - browser = await p.chromium.launch(headless=False) - elif browser_name == 'firefox': - browser = await p.firefox.launch(headless=False) - elif browser_name == 'webkit': - browser = await p.webkit.launch(headless=False) - else: - raise ValueError("Unsupported browser: " + browser_name) - - page = await browser.new_page() - - await page.goto('https://joshuamae.com') - - header_selector = 'header' - - await page.wait_for_selector(header_selector) - - initial_bounding_box = await page.evaluate(f''' - () => {{ - const header = document.querySelector('{header_selector}'); - return header.getBoundingClientRect(); - }} - ''') - - await page.evaluate('window.scrollBy(0, 1000)') - await page.wait_for_timeout(1000) - - after_scroll_bounding_box = await page.evaluate(f''' - () => {{ - const header = document.querySelector('{header_selector}'); - return header.getBoundingClientRect(); - }} - ''') - - is_sticky = initial_bounding_box['top'] == after_scroll_bounding_box['top'] - assert is_sticky, f"Header is not sticky in {browser_name}." - - print(f"Sticky header test passed in {browser_name}.") - - await browser.close() - -async def main(): - browsers = ['chromium', 'firefox', 'webkit'] - for browser in browsers: - await test_sticky_header(browser) - -if __name__ == "__main__": - asyncio.run(main()) diff --git a/playwright-tests/test_firstload.py b/playwright-tests/test_firstload.py new file mode 100644 index 0000000..38de7e1 --- /dev/null +++ b/playwright-tests/test_firstload.py @@ -0,0 +1,5 @@ +from playwright.sync_api import Page, expect + +def test_has_title(page: Page): + page.goto("https://joshuamae.com") + expect(page).to_have_title("Joshua Mae")