Python 自動テスト ツール Selenium の使用方法
1 自動テスト
自動テストとは、ソフトウェア テストの自動化を指し、事前設定された条件下でアプリケーションまたはシステムを実行します。事前設定された条件には、正常および異常が含まれます。最後に実行結果を評価します。人間によるテスト動作を機械による実行に変換するプロセス。
- 製品の初期段階およびインターフェースの完成後に介入できます
- ユースケースのメンテナンス量が少ない
- インターフェースの変更が小規模で頻繁に変更されるプロジェクトに適しています
- 大量のユースケースのメンテナンス
- ページの関連性が高く、開発が必要後のプロジェクト ページで後から介入
- UI テストは、インターフェイスの変更が小さいプロジェクトに適しています
- 繰り返しテストの時間を削減し、迅速な回帰テストを実現
- 優れた信頼性の高いテストプロセスと人的エラーの削減
- どんどん退屈なテストを実行できる
- 困難または不可能な一部のテストを実行できる手動テスト
- リソースの利用効率の向上
- テスト スクリプトの再利用性
- 製品タイプのプロジェクト。プロダクト型プロジェクトの場合、新バージョンは旧バージョンを改良したものであり、プロジェクトの機能に大きな変更はありませんが、プロジェクトの新機能と旧機能を繰り返しリグレッションテストする必要があります。自動テストの利点は、新しい欠陥が導入されたかどうか、および古い欠陥が修正されたかどうかを効果的に検証できる回帰テストです。自動テスト ツールは、ある程度、回帰テスト ツールと呼ぶことができます。
- 機械的に頻繁にテストします。長期的なプロジェクトでは、同じ大量のデータを繰り返し入力する必要があります。互換性テストなど。
- 需要が頻繁に変化するプロジェクト、自動化されたスクリプトは再利用できず、メンテナンス コストが高くなります。高すぎる、コストパフォーマンスが低い
- プロジェクトサイクルが短く、自動スクリプトは完了後に何度も使用されず、コストパフォーマンスが低い
- 強い相互作用のあるプロジェクト、手動介入が必要なプロジェクトの場合、自動化は実装できません
- 分析:システムロジックを全体的に把握し、システムアーキテクチャの核となるシステムを分析します。
- 設計: テスト ケースを設計します。テスト ケースは、広範囲かつ正確にカバーし、十分に明確である必要があります。
- 実装: 実装スクリプト1 つ目の要件はアサーションで、2 つ目の要件はパラメータ化の合理的な使用です。
- 実行: スクリプトの実行は、想像したほど単純ではありません。スクリプト実行時に異常が発生した場合は、原因を注意深く分析する必要があります。
- 要約: テスト結果の分析とテスト プロセスの概要が、自動テストの鍵となります。
- メンテナンス: 自動テスト スクリプトのメンテナンスは、解決が難しい問題ですが、解決する必要があります。
- 分析: 自動化されたユースケースのカバレッジリスクと、自動化されたテストプロセス中のスクリプトメンテナンスのコストを詳細に分析します。
2 selenium
Selenium は、Web アプリケーション用の UI ベースの自動テスト フレームワークで、複数のプラットフォーム、複数のブラウザー、および複数の言語をサポートします。
初期の Selenium RC は、現在の webDriver (単純に selenium1.0 Webdriver および現在の Selenium2.0 として理解できます) に置き換えられました。通常、Selenium 2.0 を指す場合は「Selenium」という用語を使用します。 Selenium には、Selenium IDE、Webdriver、Selenium Grid の 3 つのコンポーネントが含まれています。
Selenium IDE
Selenium IDE は、Selenium テストのための完全な統合開発環境であり、ブラウザーでのユーザー操作を直接記録でき、テスト スクリプトを再生、編集、デバッグします。デバッグ中に、実行をステップ実行したり、実行速度を調整したり、下部のログでエラー情報を確認したりできます。記録されたテストスクリプトは、Java、C#、Python、Rubyなどの複数の言語でエクスポートできるため、異なる言語を習得するテスターでも操作が容易になります。 Webdriver
Selenium RC ブラウザーで JavaScript アプリケーションを実行する場合、環境サンドボックスの問題が発生しますが、WebDriver は JavaScript サンドボックスから飛び出て、さまざまなブラウザー向けに、より堅牢な分散型のクロスプラットフォーム アプリケーションを作成できます。テストスクリプト。特定の言語 (Java、C#、Python、Ruby、Perl、JavaScript など) バインディングに基づいて、ブラウザーが Web 要素を操作および検証できるようにします。
Webdriver の仕組み:
- ブラウザを起動すると、selenium-webdriver はターゲット ブラウザを特定のポートにバインドし、起動されたブラウザは Webdriver のリモート サーバーとして機能します。 。
- クライアント (つまり、テスト スクリプト) は、ComandExecutor を使用して HTTP リクエストをサーバーに送信します (通信プロトコル: WebDriver Wire Protocol。HTTP リクエストの本文では、 WebDriver Wire プロトコルが使用されます。ブラウザーに次に実行してほしいことを Selenium に伝える指定された JSON 形式の文字列)。
- サーバー側は、ネイティブ ブラウザ コンポーネントに依存し、Web サービス コマンドをブラウザのネイティブ呼び出しに変換して操作を完了する必要があります。
- selenium Grid
selenium Grid は、ブラウザ インスタンスがアクセスするサーバーのリストを提供し、各ノードの登録とステータス情報を管理するサーバーです。異なるテスト スクリプトを異なるサーバー上で同時に実行できます。
3 Selenium IDE 記録スクリプト
Edge-plug-in-select Selenium IDE を開きます:
新しいプロジェクトを作成すると、テスト ケースに無題のテストが作成されます。左側のウィンドウを右クリックし、名前を「test」に変更します。
IDE の右上にある録音ボタン (小さな赤い点) をクリックして開始します。手動録画
アドレス バーにテストする URL (http://www.baidu.com など) を入力し、キーワードを検索すると、IDE が録画していることがわかります。
ページを右クリックしてチェックポイントを追加します。
録画が完了したら、録画ボタン (小さな赤い点) をクリックして、この手動録画を終了します。 Selenium IDE でテスト ケースを選択し、右クリックして [test.py ファイルとしてエクスポート] を選択します。
Python でスクリプトを実行し、デバッグします。
# Generated by Selenium IDE import pytest import time import json from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities class TestTest(): def setup_method(self, method): self.driver = webdriver.Chrome() self.vars = {} def teardown_method(self, method): self.driver.quit() def test_test(self): self.driver.get("https://www.baidu.com/") self.driver.set_window_size(809, 864) self.driver.find_element(By.ID, "kw").click() self.driver.execute_script("window.scrollTo(0,0)") self.driver.find_element(By.ID, "kw").send_keys("四月是你的谎言") self.driver.find_element(By.ID, "su").click()
以上がPython 自動テスト ツール Selenium の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

USETRACEMALLOCTOTRACKMEMORYALLOCATIONS ANDIDENTIFIFYMEMORYLINES; 2.monitorObjectCountSwithgcandobjgraphtodectectgrowingObjecttypes;

目次暗号通貨取引における感情分析とは何ですか?暗号通貨投資で感情分析が重要である理由は、感情データの重要なソースa。ソーシャルメディアプラットフォームb。ニュースメディアc。センチメント分析とテクノロジーのツールセンチメント分析で一般的に使用されるツール:採用された技術:センチメント分析を取引戦略に統合する方法:戦略の使用方法:戦略の例:BTC取引シナリオシナリオ設定の仮定:感情シグナル:決定:結果:結果とリスクハミドによる最近の2025年の研究

Pythonを使用してExcelデータをWebフォームに入力する方法は次のとおりです。最初にPandasを使用してExcelデータを読み取り、次にSeleniumを使用してブラウザを制御してフォームを自動的に入力して送信します。特定の手順には、Pandas、OpenPyXL、Seleniumライブラリのインストール、対応するブラウザドライバーのダウンロード、Pandasを使用してdata.xlsxファイルの名前、電子メール、電話、その他のフィールドを読み取り、セレニウムを介してブラウザを起動してターゲットWebページを開き、フォーム要素を見つけ、レインごとにデータラインを提出します。ループ内のすべてのデータライン。

Pythonのメモリを超える大きなデータセットを処理する場合、一度にRAMにロードすることはできません。代わりに、チャンク処理、ディスクストレージ、ストリーミングなどの戦略を採用する必要があります。 CSVファイルは、PandasのChunksizeパラメーターを介してチャンクで読み取ることができ、ブロックごとにブロックを処理できます。 Daskを使用して、Pandas構文と同様の並列化とタスクスケジューリングを実現して、大規模なメモリデータ操作をサポートできます。メモリの使用量を減らすために、テキストファイルをラインごとに読み取るためのジェネレーター関数を書き込みます。 Parquet Colornarストレージ形式をPyarrowと組み合わせて使用して、特定の列または行グループを効率的に読み取ります。 NumpyのMemmapを使用して大きな数値配列をメモリして、需要のあるデータフラグメントにアクセスするか、SQLiteやDuckDBなどの軽量データにデータを保存します。

__iter __()toreturntheiteratorobject、gultivativitalsforaseparateteratorintance.2.define__next __()toreturnthenextvalueandraisestopiteration weenex.tocreateareeusablecustomiterator、manageStatewithin__iter __(

シーケンスを通過してインデックスにアクセスする必要がある場合は、enumerate()関数を使用する必要があります。 1。ENUMARETE()は、範囲(len(sequence))よりも簡潔なインデックスと値を自動的に提供します。 2。start = 1など、1ベースのカウントを達成するなど、開始パラメーターを介して開始インデックスを指定できます。 3.最初のアイテムのスキップ、ループの数の制限、出力のフォーマットなど、条件付きロジックと組み合わせて使用できます。 4。リスト、文字列、タプルなどの反復可能なオブジェクトに適用でき、サポート要素の解放。 5.コードの読みやすさを改善し、手動でカウンターの管理を避け、エラーを減らします。

ファイルとディレクトリをコピーするために、PythonのShotilモジュールは効率的で安全なアプローチを提供します。 1。shuldil.copy()またはshutil.copy2()を使用して、メタデータを保持する単一のファイルをコピーします。 2。shutil.copytree()を使用して、ディレクトリ全体を再帰的にコピーします。ターゲットディレクトリは事前に存在することはできませんが、ターゲットはdirs_exist_ok = true(python3.8)を介して存在することを許可できます。 3.特定のファイルを、Ingrore.ignore_patterns()またはカスタム関数と組み合わせてフィルタリングできます。 4。コピーディレクトリにはos.walk()とos.makedirs()のみが必要です

Pythonは、株式市場分析と予測に使用できます。答えはイエスです。 Yfinanceなどのライブラリを使用し、Pandasをデータクリーニングと機能エンジニアリングに使用し、MatplotlibまたはSeabornを視覚分析に組み合わせ、Arima、Random Forest、Xgboost、LSTMなどのモデルを使用して予測システムを構築し、バックテストによるパフォーマンスを評価します。最後に、アプリケーションはFlaskまたはFastapiで展開できますが、市場予測の不確実性、リスク、取引コストに過剰になることに注意を払う必要があります。成功は、データの品質、モデル設計、合理的な期待に依存します。
