パイソンインタフェースオートメーション9-DDTデータドライバ

序文

DDT:データ駆動型は、単純なポイントは、このようなときに少しポイントログイン入力正常、異常なデータのログとして、テストデータの複数のセットであることを特徴とします。

実際のプロジェクトでは、非常に少ないと自動テストが、それはまた、テストデータExcelを維持するために使用されました

A、DDT

1、インストール:PIP(ここでは私がインストールした)DDTをインストール

C:\ Users \ユーザー管理> ピップはDDTインストール
DDT:要件すでに満足 D:\ path_python \ libに\サイト・パッケージ(1.21

2、禅の私達の前の通常のログイン質量の参加を見てください。今必要な口座番号とパスワード、およびデータを1セットのみのログイン、DDTは、データ実行の複数のセットを行うことができます。(ここでは自分が来てみましょう)

#ログ
S = requests.session()
LOGIN_URL = ' http://127.0.0.1/zentao/user-login.html ' 
PR = {
     ' アカウント'' ADMIN ' ' パスワード'' 123456 ' 
} 
login_r = s.post(LOGIN_URL、のparams = PR)#パスのparams パラメータ

#は、ログインが成功したかどうかと言う
R1 = S. GEThttp://127.0.0.1/zentao/doc-browse-1-byModule-0-id_desc-docが。 HTML " IF  ' の製品メイン図書館'   r1.content.decode(' UTF-8 ' ):
    印刷(' ログインが成功' (印刷:' ログインに失敗しました'

 3は、unittestのDDT導入されます。

①まずデータセットの複数のソースを持っている(私は、あなたにも同様のように、ファイルを読むことができるデータJSON独自の定義のセットを書きました!!!)

②テストクラスは、我々はデコレータを追加する必要があります@ ddt.ddt

③テスト機能、またデコレータを追加し、それぞれ*全体のデータ転送上のすべてのデータを転送する必要があります:@ ddt.data(* TEST_DATA)

④注:DDTのパスで使用されるデータのセット、そのデータではなく、TEST_DATAではなく* TEST_DATA

インポート要求、DDT、unittestの

データ駆動準備するデータ#1のDDT必要
TEST_DATAを = [ 
    { ' アカウント'' ADMIN '' PWD '' 123465 '' EXP '' ADMIN ' }、
    { ' アカウント'' gsxl ' ' PWD '' 123321 ' ' EXP ""gsxl ' }、
    { ' アカウント'' XXXX ' ' PWD '' 654321 ' ' EXP '' XXXX ' }] 
类需要DDT装饰器
@ ddt.ddt 
クラスTest_xl(たunittest.TestCase):

    DEFセットアップ(自己):
        self.s = requests.session()
        self.s.verify = Falseの

    ティアダウン(自己)DEF:
        self.s.close()

    @ ddt.data( *TEST_DATA)#ユースケースは、テストデータがDDTを使用する必要があり
    DEF test_001(自己、データを):
        印刷(' DDT試験データ:%S 'データ)

IF __name__ == ' __main__ ' 
    unittest.main()#語りました私の通訳は、ユニットテストで実行されます

4、どのようにあなたがしたい対応する値を取得するには?それはそうでない場合は、彼らが最初に変更され、基礎となるデータ削除チェックの新しい構造を学び、に得ることができるように、それは、辞書、リストのリターンのようなものです。以下のような単純な抽出:

import requests, ddt, unittest

# ddt数据驱动所需准备的数据
test_data = [
    {'account': 'admin', 'pwd': '123465', 'exp': 'admin'},
    {'account': 'gsxl', 'pwd': '123321', 'exp': 'gsxl'},]

# 类需要ddt装饰器
@ddt.ddt
class Test_xl(unittest.TestCase):

    def setUp(self):
        self.s = requests.session()
        self.s.verify = False

    def tearDown(self):
        self.s.close()

    @ddt.data(*test_data)   # 某个用例需要用到ddt的测试数据
    def test_001(self, data):
        # print('ddt测试数据是:%s' % data)
        user = data['account']
        pwd = data['pwd']
        exp = data['exp']
        print('这是账号:', user)
        print('这是密码:', pwd)
        print('这是期望结果:', exp)

if __name__ == '__main__':
    unittest.main()                 # 告诉解释器我是用unittest运行的!!!

如果想用excel维护测试用例、测试数据的同学那肯定要懂得使用 xlrd 这个模块了。

进行适配的二次封装,达到你想设计的自动化模式。欢迎来QQ交流群:482713805

おすすめ

転載: www.cnblogs.com/gsxl/p/11964182.html