首頁 > 後端開發 > Python教學 > 頁面交易是組織測試自動化的新方法

頁面交易是組織測試自動化的新方法

Patricia Arquette
發布: 2025-01-25 10:13:09
原創
992 人瀏覽過

Page Transactions as a new way to organize your testing automation 攝影:Mateus Campos Felipe

充滿活力的猩紅色朱鹮 (Eudocimus ruber),也稱為紅朱鹮,是 Threskiornithidae 鳥類家族中的引人注目的成員。 這種熱帶鳥類為南美洲和加勒比海部分地區的風景增色不少。 雖然它的外形與其他朱鹮物種相似,但其鮮豔的猩紅色羽毛使其與眾不同。 它是民族自豪感的象徵,是特立尼達和多巴哥的兩種國鳥之一,它的圖皮瓜拉尼語名稱“guará”甚至被納入巴西多個沿海城市的名稱中。

Guará:頁面事務模式的 Python 實作

Guará,一個 Python 函式庫,體現了頁面事務設計模式。 它與其說是一種工具,不如說是一種靈活的程式設計範例,適用於 Selenium 以外的各種自動化驅動程序,包括 Linux、Windows 和行動自動化。

此模式的核心目標是簡化測試自動化。 Guará 從頁面物件、應用程式操作和劇本中汲取靈感,以應用程式內的使用者操作(事務)為中心,例如登入、登出或提交表單。

這種方法增強了自動化測試程式碼的可讀性、可維護性和適應性,而不需要新的工具或複雜的抽象化。 一個關鍵的優勢是其與驅動程式無關的性質;測試人員不會被限制使用 Selenium。 Guará 與 Helium、Dogtail、PRA Python、Playwright 或任何首選驅動程式無縫整合。不需要額外的插件或專業知識。

重申:Guará 是頁面事務設計模式的 Python 實現,該模式優先於獨立工具。

Guará 利用指令模式 (GoF) 將使用者互動(按鈕按下、文字輸入)捆綁到交易中。 雖然被稱為框架,但它並不是一個新工具。

Guará 沒有專注於單一 UI 元素,而是強調使用者的旅程。 複雜性被封裝在事務中,導致測試語句讀起來像自然語言。 測試人員還可以建立和整合自訂斷言。

瓜拉語實際應用:語言切換範例

此範例展示了使用者在網頁上切換語言:

<code class="language-python">from selenium import webdriver
from guara.transaction import Application
from guara import it, setup
import home

def test_language_switch():
    app = Application(webdriver.Chrome())

    # Open the application
    app.at(setup.OpenApp, url="https://example.com/")

    # Change language and assert
    app.at(home.ChangeToPortuguese).asserts(it.IsEqualTo, "Conteúdo em Português")
    app.at(home.ChangeToEnglish).asserts(it.IsEqualTo, "Content in English")

    # Close the application
    app.at(setup.CloseApp)</code>
登入後複製

每筆交易都駐留在自己的類別中(例如,ChangeToPortuguese),擴展AbstractTransaction。 測試人員只需重寫 do 方法即可;瓜拉負責剩下的事情。

<code class="language-python">from guara.transaction import AbstractTransaction

class ChangeToPortuguese(AbstractTransaction):
    def do(self, **kwargs):
        self._driver.find_element(By.CSS_SELECTOR, ".btn-pt").click()
        return self._driver.find_element(By.CSS_SELECTOR, ".content").text</code>
登入後複製

測試後日誌顯示事務和斷言:

<code>test_demo.py::test_language_switch 
2025-01-24 21:07:10 INFO Transaction: setup.OpenApp
2025-01-24 21:07:10 INFO  url: https://example.com/
2025-01-24 21:07:14 INFO Transaction: home.ChangeToPortuguese
2025-01-24 21:07:14 INFO Assertion: IsEqualTo
2025-01-24 21:07:14 INFO  Actual Data: Conteúdo em Português
2025-01-24 21:07:14 INFO  Expected: Conteúdo em Português
2025-01-24 21:07:14 INFO Transaction: home.ChangeToEnglish
2025-01-24 21:07:14 INFO Assertion: IsEqualTo
2025-01-24 21:07:14 INFO  Actual Data: Content in English
2025-01-24 21:07:14 INFO  Expected: Content in English
2025-01-24 21:07:14 INFO Transaction: setup.CloseApp</code>
登入後複製

夾具(設定/拆卸)管理測試初始化和完成。 pytest 或單元測試等標準測試工具完全相容。

使用瓜拉豆的好處

  • 改進的程式碼可重用性:每個類別代表一個完整的使用者事務。
  • 增強可讀性:程式碼類似於簡單的英語,促進協作。
  • 可自訂斷言:建立和共享自訂斷言。
  • 驅動程式不可知論:可與 Selenium 以外的各種自動化工具搭配使用。
  • 多功能應用程式:自動化 REST API、單元測試、桌面和行動測試。

開始使用瓜拉

  1. 安裝:pip install guara
  2. 使用AbstractTransaction建立交易。
  3. 使用 Applicationatasserts 呼叫事務。
  4. 使用 Pytest 執行有詳細日誌記錄的測試:python -m pytest -o log_cli=1 --log-cli-level=INFO

結論

Guará 提供了一種新的測試程式碼組織方法,優先考慮可讀性、可維護性和驅動程式獨立性。它促進協作並允許創建和共享自訂斷言。 試試瓜拉!

以上是頁面交易是組織測試自動化的新方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板