DDTパイソンデータ駆動の動作(方法B)

unittestのインポート
インポートDDT DDT、アンパック、データから
webdriverをセレンのインポートから
インポートすることでselenium.webdriver.common.byから
インポートunittestのは、時間

#データ駆動型モデル
#エクセルDDT DDT TXT + + + DDT DDT YAMLは

#@アンパックを抽出するための表現します元は、複数のパラメータに設定
#アプリケーション:UIレベルの自動テストを検証するためにさまざまなテストポイントの数を達成するためのテストケースの準備で達成することができ
、たとえば、ユーザー名やパスワードなどの試験条件、さまざまなが空されている#163 Eメールのログインページをユーザー名が空白のパスワードが空でない場合、パスワードは空白のユーザ名ではなく、エラー・メッセージが返される空である

デフ函():
リストへ#データ分離
復帰[
[「」、「」、「口座番号を入力してください。」]を、
[ 'ADMIN'、 ''、 'を入力してくださいパスワード']
[ '' ADMIN ''口座番号を入力してください']
[' ^^^ '' ''「不正なアカウント]
]

@ddtの
クラスMail_163(たunittest.TestCase):
セットアップ(自己)DEF - >なし:
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(5)
self.driver.get( "https://mail.163.com/")

デフティアダウン(自己) - >なし:
self.driver.quit()

@data(*函())
@unpack
デフtest_login_163(自己、ユーザ名、パスワード、結果):
验证登录163邮箱N中情况の
。self.driver.find_element(By.ID、 "switchAccountLogin")をクリックします()
#iframe框架
IFRAME = self.driver.find_element(By.TAG_NAME、 'IFRAME')
self.driver.switch_to_frame(IFRAME)
self.driver.find_element(By.NAME、[メール])。send_keys(ユーザー名)
self.driver.find_element( By.NAME、 'パスワード')。send_keys(パスワード)
時間。睡眠(1)
。self.driver.find_element(By.ID、 "doLogin")をクリックします()
divtext = self.driver.find_element(By.CSS_SELECTOR、 'div.ferrorhead')テキスト。
#印刷( "エラーメッセージ:"、divtext)
アサーション-アサーションエラー
self.assertEqual(divtext、結果)
#出口IFRAMEフレームワーク
self.driver.switch_to_default_content()

IF __name__ == '__main__':
unittest.main(冗長= 2)


おすすめ

転載: www.cnblogs.com/Teachertao/p/11706449.html