Python自動テスト学習-Pytestプラグインのセレニウム

今日は、主にPytestフレームワークのセレンプラグインを示します。webdriverは主流のUI自動化テストフレームワークです。Pytestテストフレームワークはwebdriverのサポートも提供します。インストールコマンドは次のとおりです。

以下に示すように、pip3はpytest-seleniumをインストールします。

ここに写真の説明を挿入
インストールが成功したら、最初にBaiduをテストすることに基づいて、簡単なテストポイントを作成します。ソースコードは次のとおりです。

#!/usr/bin/env python

#!coding:utf-8

import  pytest

 

def test_baidu_title(selenium):

   selenium.get('http://www.baidu.com/')

   assert  selenium.title=='百度一下,你就知道'

def test_baidu_current_url(selenium):

   selenium.get('http://www.baidu.com/')

   assert selenium.current_url=='https://www.baidu.com/'

def test_baidu_so_getValue(selenium):

   selenium.get('http://www.baidu.com/')

   so=selenium.find_element_by_id('kw')

   so.send_keys('伤心的辣条')

   assert  so.get_attribute('value')=='伤心的辣条'

上記のコードを記述した後、次のコマンドを実行して上記のテストスクリプトを実行します。

pytest -v test_ui.py(#python module file)-driverコマンド実行後のChrome出力情報:

ここに写真の説明を挿入
上記のスクリーンショット情報では、実行結果はすべてOKであり、実行中にChromeブラウザが開いていることがわかります。コマンド部分のステップバイステップの説明では、-driverはwebdriverによってインスタンス化されたオブジェクトとして理解できます。テストスクリプトでは、テスト関数のパラメータseleniumは基本的に、Chromeがよく理解しているwebdriverによってインスタンス化されたオブジェクトです。テスト用のブラウザを指定します。Firefoxブラウザの場合は、コマンド実行時にChromeブラウザをFirefoxブラウザに変更してください。

unittestテストフレームワークには、テストファームウェア、つまり初期化とクリーニング操作があります。Pytestでは、フィクスチャを使用してこのような効果を完了することもできます。これにより、テストスクリプトは、開くことを心配せずに、特定のビジネスプロセスと論理操作にさらに注意を払うことができます。上記のようなブラウザの操作では、各テストポイントがget()メソッドを呼び出して、繰り返されているように見えるテストアドレスを開きます。テストコードは最適化されています。最適化されたコードは次のとおりです。

#!/usr/bin/env python

#!coding:utf-8

import  pytest
 
@pytest.fixture()

def init(selenium):

   selenium.get('http://www.baidu.com/')

   yield

   selenium.quit()
def test_baidu_title(init,selenium):

   assert  selenium.title=='百度一下,你就知道'

def test_baidu_current_url(init,selenium):

   assert selenium.current_url=='https://www.baidu.com/'

def test_baidu_so_getValue(init,selenium):

   so=selenium.find_element_by_id('kw')

   so.send_keys('伤心的辣条')

   assert  so.get_attribute('value')=='伤心的辣条'

上記のコードでわかるように、初期化とクリーニングは十分に分離されています。unittestテストフレームワークでは、クラスの継承の概念を実際に使用して、ファームウェアsetUp()とtearDown()をテストします。分離は非常に優れていますが、Pytestテストフレームワークでは、このようなプロセスはより単純で直接的であり、数行のコードで簡単に実行できます。再度実行すると、実行結果は最初の実行の結果と一致します。

ソフトウェアテストは、IT関連業界で最も簡単に開始できる科目です〜開発者の論理的な思考は必要ありません。また、運用および保守担当者は24時間体制で電話をかける必要はありません。必要なのは、慎重な態度とIT関連の知識の幅広い理解です。業界に参入してから専門家になるまでの各テスターの成長経路は、ソフトウェアテスト、自動テスト、およびテスト開発エンジニアの3つの段階に分けることができます。

ここに写真の説明を挿入

これが私がまとめた情報です。自習をもう一度体験したくない場合は、情報が見つからず、誰も質問に答えず、数日後にあきらめたいと思う場合は、さまざまなソフトウェアを含むソフトウェアテスト交換グループ313782132を追加できます。テストデータと技術交換。

おすすめ

転載: blog.csdn.net/weixin_50271247/article/details/109358085