便利な自動化されたテストコード、ドライブ間のデータ転送パラメータを記述するだけでなく、後のメンテナンスを容易にし、ここで、データ駆動型の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()