写真提供: マテウス・カンポス・フェリペ
鮮やかな緋トキ ( Eudocimus rober ) は、アカトキとしても知られ、Threskiornithidae 鳥科の印象的なメンバーです。 この熱帯の鳥類は、南アメリカとカリブ海の一部の風景を美しく飾ります。 その形態は他のトキ種に似ていますが、その鮮やかな緋色の羽がそれを際立たせています。 国家の誇りの象徴であるこの鳥は、トリニダード トバゴの 2 つの国鳥のうちの 1 つであり、そのトゥピ・グアラニー語の名前「グアラ」は、ブラジルのいくつかの沿岸自治体の名前にも組み込まれています。
Guará: ページ トランザクション パターンの Python 実装
Guará は Python ライブラリであり、ページ トランザクションのデザイン パターンを具体化しています。 これはツールというよりも、Linux、Windows、モバイル オートメーションを含む、Selenium を超えたさまざまなオートメーション ドライバーに適用できる柔軟なプログラミング パラダイムです。
このパターンの主な目的は、テストの自動化を合理化することです。 ページ オブジェクト、アプリ アクション、およびスクリーンプレイからインスピレーションを得た Guará は、アプリケーション内のユーザー アクション (トランザクション)、つまりログイン、ログアウト、フォームの送信などのアクションを中心にしています。
このアプローチは、新しいツールや複雑な抽象化を必要とせずに、自動テスト コードの読みやすさ、保守性、適応性を強化します。 主な利点は、ドライバーに依存しない性質です。テスターは Selenium の使用に拘束されません。 Guará は、Helium、Dogtail、PRA Python、Playwright、または任意の優先ドライバーとシームレスに統合します。追加のプラグインや専門知識は必要ありません。
繰り返します: Guará はページ トランザクション デザイン パターンの Python 実装であり、スタンドアロン ツールよりもパターンを優先します。
Guará は、コマンド パターン (GoF) を利用して、ユーザー インタラクション (ボタンの押下、テキスト入力) をトランザクションにバンドルします。 フレームワークと呼ばれていますが、新しいツールではありません。
Guará は、個々の UI 要素に焦点を当てるのではなく、ユーザーのジャーニーを強調します。 複雑さはトランザクション内にカプセル化され、その結果、自然言語のように読めるテスト ステートメントが生成されます。 テスターはカスタム アサーションを作成して統合することもできます。
Guará の動作: 言語切り替えの例
この例は、ユーザーが Web ページ上で言語を切り替える例を示しています:
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
メソッドをオーバーライドするだけです。残りは Guará が担当します。
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 や Unittesting などの標準テスト ツールは完全な互換性があります。
Guará を使用する利点
- コードの再利用性の向上: 各クラスは完全なユーザー トランザクションを表します。
- 可読性の向上: コードは平易な英語に似ており、コラボレーションが容易になります。
- カスタマイズ可能なアサーション: カスタム アサーションを作成して共有します。
- ドライバーに依存しない: Selenium を超えたさまざまな自動化ツールで動作します。
- 多用途アプリケーション: REST API、単体テスト、デスクトップ、モバイル テストを自動化します。
Guará を始めましょう
- インストール:
pip install guara
-
AbstractTransaction
を使用してトランザクションを作成します。 - トランザクションを呼び出すには、
Application
、at
、およびasserts
を使用します。 - Pytest を使用して詳細なログを記録してテストを実行します:
python -m pytest -o log_cli=1 --log-cli-level=INFO
結論
Guará は、読みやすさ、保守性、ドライバーの独立性を優先して、テスト コードを編成するための新しいアプローチを提供します。これによりコラボレーションが促進され、カスタム アサーションの作成と共有が可能になります。 グアラをぜひ試してみてください!
以上がテスト自動化を整理する新しい方法としてのページ トランザクションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Tomergelistsinpython、あなたはオペレーター、extendmethod、listcomfulting、olitertools.chain、それぞれの特異的advantages:1)operatorissimplebutlessforlargelist;

Python 3では、2つのリストをさまざまな方法で接続できます。1)小さなリストに適したオペレーターを使用しますが、大きなリストには非効率的です。 2)メモリ効率が高い大規模なリストに適した拡張方法を使用しますが、元のリストは変更されます。 3)元のリストを変更せずに、複数のリストをマージするのに適した *オペレーターを使用します。 4)Itertools.chainを使用します。これは、メモリ効率が高い大きなデータセットに適しています。

Join()メソッドを使用することは、Pythonのリストから文字列を接続する最も効率的な方法です。 1)join()メソッドを使用して、効率的で読みやすくなります。 2)サイクルは、大きなリストに演算子を非効率的に使用します。 3)リスト理解とJoin()の組み合わせは、変換が必要なシナリオに適しています。 4)redoce()メソッドは、他のタイプの削減に適していますが、文字列の連結には非効率的です。完全な文は終了します。

pythonexexecutionistheprocessoftransforningpythoncodeintoexecutabletructions.1)interpreterreadSthecode、変換intobytecode、thepythonvirtualmachine(pvm)executes.2)theglobalinterpreeterlock(gil)管理委員会、

Pythonの主な機能には次のものがあります。1。構文は簡潔で理解しやすく、初心者に適しています。 2。動的タイプシステム、開発速度の向上。 3。複数のタスクをサポートするリッチ標準ライブラリ。 4.強力なコミュニティとエコシステム、広範なサポートを提供する。 5。スクリプトと迅速なプロトタイピングに適した解釈。 6.さまざまなプログラミングスタイルに適したマルチパラダイムサポート。

Pythonは解釈された言語ですが、コンパイルプロセスも含まれています。 1)Pythonコードは最初にBytecodeにコンパイルされます。 2)ByteCodeは、Python Virtual Machineによって解釈および実行されます。 3)このハイブリッドメカニズムにより、Pythonは柔軟で効率的になりますが、完全にコンパイルされた言語ほど高速ではありません。

useaforloopwhenteratingoverasequenceor foraspificnumberoftimes; useawhileloopwhentinuninguntinuntilaConditionismet.forloopsareidealforknownownownownownownoptinuptinuptinuptinuptinutionsituations whileoopsuitsituations withinterminedationations。

pythonloopscanleadtoErrorslikeinfiniteloops、ModifiningListsDuringiteration、Off-Oneerrors、Zero-dexingissues、およびNestededLoopinefficiencies.toavoidhese:1)use'i


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
