自動化測試案例:實現頁面A和頁面B之間的定時切換

自動化測試案例:實現頁面A和頁面B之間的定時切換

在一家充滿科技感的現代化辦公室內,資深測試人員艾蜜莉正在面對一個棘手的測試需求。她的眼神專注,雙手熟練地在鍵盤上敲擊,猶如一位優雅的音樂家在演奏一首複雜的交響曲。

這次的測試需求是要在一個網頁應用上自動化測試頁面切換的行為。具體來說,需要確認頁面是否會在同一個頁面上切換。首先,頁面會從首頁(我們稱之為頁面 A)切換到頁面 B,這個過程需要等待 10 秒鐘。接著,頁面 B 會再經過 20 秒鐘後,切換回頁面 A,這個過程會持續循環。

艾蜜莉深吸一口氣,打開了她最熟悉的編輯器,開始撰寫自動化測試程式碼。她選擇了 Playwright 這個強大的工具,並使用 pytest 作為測試框架。這兩者的結合,讓他的測試更加高效且可靠。

她先是設定了基本的測試環境,確保測試瀏覽器能夠正常啟動並訪問應用首頁。接著,她撰寫了如下的程式碼:

import pytest
from playwright.sync_api import sync_playwright

@pytest.fixture(scope="session")
def browser_context():
    with sync_playwright() as p:
        browser = p.chromium.launch()
        context = browser.new_context()
        yield context
        context.close()
        browser.close()

def test_page_switching(browser_context):
    page = browser_context.new_page()
    page.goto("http://example.com/pageA")  # 假設這是頁面 A 的 URL

    # 確認已經進入頁面 A
    assert page.url == "http://example.com/pageA"

    # 等待 10 秒鐘後,確認是否切換到頁面 B
    page.wait_for_timeout(10000)  # 等待 10 秒
    assert page.url == "http://example.com/pageB"

    # 再等待 20 秒鐘,確認是否切換回頁面 A
    page.wait_for_timeout(20000)  # 等待 20 秒
    assert page.url == "http://example.com/pageA"

她仔細檢查了程式碼,確保每一步都沒有疏漏。這段程式碼使用了 Playwright 提供的 wait_for_timeout 方法來實現等待時間,並通過斷言來確認頁面是否正確切換。

艾蜜莉執行了測試,屏息以待。隨著測試的進行,瀏覽器自動打開,頁面如期切換,所有 assert 都順利通過。露出了滿意的笑容,這次的測試需求成功被滿足。

故事的結尾,艾蜜莉關閉了電腦,走出辦公室,夕陽的餘暉灑在她的背影上,她知道,明天又將是一個充滿挑戰的新一天,但她已經準備好了。

如果你對於自動化測試有興趣,請訂閱我的部落格,可以獲得最新的文章。