国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

入門篇_編寫測(cè)試用例

2023-03-04 15:23 作者:慧測(cè)  | 我要投稿

Playwright 斷言是專門為動(dòng)態(tài) Web 設(shè)計(jì)的。檢查會(huì)自動(dòng)重試,直到滿足必要條件。Playwright 內(nèi)置自動(dòng)等待功能,意味著它會(huì)等待元素可操作后再執(zhí)行操作。Playwright 提供了一個(gè) expect 函數(shù)來(lái)編寫斷言。

看一下下面的示例測(cè)試,了解如何使用定位器和基于 Web 的斷言來(lái)編寫測(cè)試用例。

斷言(Assertions)

Playwright 提供了 expect 函數(shù),它會(huì)等待滿足期望的條件。

這段代碼使用Playwright提供的expect函數(shù),對(duì)當(dāng)前頁(yè)面進(jìn)行斷言。其中,斷言的條件是頁(yè)面的標(biāo)題中包含"Playwright"這個(gè)子字符串。使用了Python內(nèi)置的re模塊創(chuàng)建了一個(gè)正則表達(dá)式對(duì)象,作為期望標(biāo)題的參數(shù)。

定位器(Locators)

定位器是 Playwright 自動(dòng)等待和重試的核心。定位器代表在任何時(shí)刻在頁(yè)面上查找元素的方法,并用于對(duì)元素執(zhí)行操作,如.click、.fill 等。

這段代碼通過(guò) get_by_role 函數(shù)創(chuàng)建一個(gè)名為 get_started 的定位器(locator)。該定位器被用來(lái)查找網(wǎng)頁(yè)上 role 屬性為 link,name 屬性為 Get started 的元素。

測(cè)試隔離(Test Isolation)

Playwright Pytest 插件基于測(cè)試裝置的概念,例如傳遞到您的測(cè)試中的內(nèi)置頁(yè)面裝置。由于瀏覽器上下文,頁(yè)面在測(cè)試之間被隔離,這相當(dāng)于一個(gè)全新的瀏覽器配置文件,每個(gè)測(cè)試都會(huì)獲得一個(gè)全新的環(huán)境,即使在單個(gè)瀏覽器中運(yùn)行多個(gè)測(cè)試也是如此。

這段代碼導(dǎo)入了Playwright的同步API中的Page類,然后定義了一個(gè)名為test_basic_test的測(cè)試函數(shù),它的參數(shù)是一個(gè)Page對(duì)象。在測(cè)試中,可以使用Page對(duì)象進(jìn)行頁(yè)面操作和斷言檢查,例如,通過(guò)調(diào)用goto()方法導(dǎo)航到一個(gè)URL,或者通過(guò)調(diào)用expect()方法執(zhí)行斷言檢查。由于該測(cè)試函數(shù)期望接收一個(gè)Page對(duì)象,因此可以使用Playwright Pytest插件來(lái)自動(dòng)地創(chuàng)建和銷毀瀏覽器上下文和頁(yè)面對(duì)象,從而使測(cè)試更加簡(jiǎn)單易用。

使用測(cè)試鉤子(Using Test Hooks)

您可以使用各種固定裝置在測(cè)試之前或之后執(zhí)行代碼,并在它們之間共享對(duì)象。例如,具有自動(dòng)使用功能的范圍function固定裝置的行為類似于 beforeEach/afterEach。具有module自動(dòng)使用功能的作用域固定裝置的行為類似于 beforeAll/afterAll,它在所有測(cè)試之前和之后運(yùn)行。

這段代碼演示了如何使用 Pytest 和 Playwright 來(lái)自動(dòng)化測(cè)試一個(gè) Web 應(yīng)用程序。 @pytest.fixture 裝飾器用于定義一個(gè)測(cè)試用例之前和之后要執(zhí)行的代碼塊。 scope = "function" 表示該代碼塊將在每個(gè)測(cè)試函數(shù)運(yùn)行之前和之后運(yùn)行一次。 autouse=True 表示該代碼塊將自動(dòng)使用,而無(wú)需在測(cè)試函數(shù)中顯式調(diào)用。

在此示例中,before_each_after_each 代碼塊使用了一個(gè) page 對(duì)象,該對(duì)象表示一個(gè)瀏覽器頁(yè)面。它通過(guò) Page 類從 playwright.sync_api 模塊導(dǎo)入。page.goto 方法用于在每個(gè)測(cè)試用例之前訪問(wèn)網(wǎng)頁(yè)。使用 yield 關(guān)鍵字來(lái)告訴 Pytest 執(zhí)行測(cè)試用例代碼,然后再繼續(xù)執(zhí)行 afterEach 代碼塊。

test_main_navigation 測(cè)試用例函數(shù)接受一個(gè)名為 page 的參數(shù),該參數(shù)是 before_each_after_each 代碼塊返回的 page 對(duì)象。expect(page).to_have_url("https://playwright.dev/") 用于檢查頁(yè)面的 URL 是否與指定的 URL 匹配,這是使用 Playwright 提供的 expect 函數(shù)實(shí)現(xiàn)的。


每天晚上來(lái)學(xué)習(xí)

視頻號(hào)直播進(jìn)行中


入門篇_編寫測(cè)試用例的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
普格县| 延安市| 缙云县| 玛沁县| 南通市| 郯城县| 刚察县| 台南县| 泽普县| 巴塘县| 积石山| 华阴市| 德保县| 通江县| 团风县| 宝山区| 山东| 易门县| 罗田县| 沭阳县| 灵石县| 平利县| 津市市| 平乡县| 威远县| 浏阳市| 隆化县| 宜州市| 东宁县| 玉溪市| 志丹县| 富阳市| 镇原县| 鹤岗市| 盐源县| 丹巴县| 安平县| 成武县| 盈江县| 商都县| 古丈县|