【パイソン+ YAML](駆動DDTを含む)データドライバYAMLファイル

便利な自動化されたテストコード、ドライブ間のデータ転送パラメータを記述するだけでなく、後のメンテナンスを容易にし、ここで、データ駆動型の2種類があります。

 

ここtest.yamlファイルは次のとおりです。

start_HRApp:
  IP:127.0.0.1 
  ポート:4723 
  implicitly_wait:10の
  キャップ:
    アンドロイド:
      platformName:アンドロイド
      #模拟器
      platformVersion:6.0 
      DEVICENAME:OPPO 
      appPackage:com.csksc2b.invertory 
      appActivity:com.csks.login.SplashAty 
#NORESET:真
# unicodeKeyboard:真
#resetKeyboard:真
#1 autoGrantPermissions:真
      automationName:uiautomator2 
    IOS:

①一般的なデータファイルのドライブYAML:

appium インポートwebdriverを
 インポートYAMLの
 インポートOS 

DEF des_caps(): 

    基础路径 
    BASE_DIR = os.path.dirname(os.path.dirname(__FILE__ ))
    YAML路径 
    yaml_path = BASE_DIR + " /data/ddt_data_file.yaml " 
    获取YAML的数据 
    開く(yaml_path、' R '、=コード' UTF-8 ' )ファイルとして:
        データ = yaml.load(ファイル)
    を開始 =データ[ ' start_HRApp ' ]
    キャップ = [スタート' 帽子' ] [ ' アンドロイド' ] 

    ドライバ = webdriver.Remote(" のhttp:// " + strが([スタート' IP ' +)] " " + STR([スタート' ポートを' +)] " / WD /ハブ" 、キャップ)
    driver.implicitly_wait( 10 

    リターンドライバ

 

②試験中(DDTの)YAMLデータドライバ用:

DDT インポートDDT、データ、file_data、アンパック
 インポートunittestの


@ddt 
クラスTestBaiduSearch(たunittest.TestCase): 

    参数化例3:YAML 
    @file_data(" ../data/ddt_data_file.yaml " 
    @unpack 
    DEF test_baiduSearch03(自己、 ** kwargsから):
        IP = kwargsから[ ' IP ' ]
         印刷(IP)


の場合 __name__ == ' __main__ ' 
    unittest.main()

 

おすすめ

転載: www.cnblogs.com/Owen-ET/p/12103451.html