攝影: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 元素,而是強調使用者的旅程。 複雜性被封裝在事務中,導致測試語句讀起來像自然語言。 測試人員還可以建立和整合自訂斷言。
瓜拉語實際應用:語言切換範例
此範例展示了使用者在網頁上切換語言:
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)
每筆交易都駐留在自己的類別中(例如,ChangeToPortuguese
),擴展AbstractTransaction
。 測試人員只需重寫 do
方法即可;瓜拉負責剩下的事情。
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>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、單元測試、桌面和行動測試。
開始使用瓜拉
- 安裝:
pip install guara
- 使用
AbstractTransaction
建立交易。 - 使用
Application
、at
和asserts
呼叫事務。 - 使用 Pytest 執行有詳細日誌記錄的測試:
python -m pytest -o log_cli=1 --log-cli-level=INFO
結論
Guará 提供了一種新的測試程式碼組織方法,優先考慮可讀性、可維護性和驅動程式獨立性。它促進協作並允許創建和共享自訂斷言。 試試瓜拉!
以上是頁面交易是組織測試自動化的新方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。

在兩小時內高效學習Python的方法包括:1.回顧基礎知識,確保熟悉Python的安裝和基本語法;2.理解Python的核心概念,如變量、列表、函數等;3.通過使用示例掌握基本和高級用法;4.學習常見錯誤與調試技巧;5.應用性能優化與最佳實踐,如使用列表推導式和遵循PEP8風格指南。

Python適合初學者和數據科學,C 適用於系統編程和遊戲開發。 1.Python簡潔易用,適用於數據科學和Web開發。 2.C 提供高性能和控制力,適用於遊戲開發和系統編程。選擇應基於項目需求和個人興趣。

Python更適合數據科學和快速開發,C 更適合高性能和系統編程。 1.Python語法簡潔,易於學習,適用於數據處理和科學計算。 2.C 語法複雜,但性能優越,常用於遊戲開發和系統編程。

每天投入兩小時學習Python是可行的。 1.學習新知識:用一小時學習新概念,如列表和字典。 2.實踐和練習:用一小時進行編程練習,如編寫小程序。通過合理規劃和堅持不懈,你可以在短時間內掌握Python的核心概念。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3漢化版
中文版,非常好用