まず、メソッドのスクリーンショット
1.get_screenshot_as_file(自己、ファイル名)
- このメソッドは、TRUE、FALSE、スクリーンショットに成功したリターンを返す例外IOError時間は、現在のウィンドウのスクリーンショットを取得することがあります。
filenameパラメータは、ファイルを保存するパスです。
使用法:
driver.get_screenshot_as_file( '/スクリーンショット/ foo.png')
2.get_screenshot_as_base64(自己)
- このメソッドは、インターフェースのHTMLのスクリーンショットの出力は、使用されるとき、そのbase64エンコード形式を保存し、スクリーンショットを取っています。
例えば、HTML形式のテストレポートに取り込むしようとしています。
使用法:
driver.get_screenshot_as_base64()
3.get_screenshot_as_png(自己)
-これは、スクリーンショットを取って、バイナリデータを保存し、ほとんど使用されません。
使用法:
driver.get_screenshot_as_png()
第二に、異常なスクリーンショットの後
ログインボタンIDを配置するために、例外をスローすることができるようにするためには1.間違ったIDを変更しました。
2.名前と同じファイル名を避けるためにタイムスタンプを追加するための画像が上書きされます。
直接現在のスクリプトで、ここに書かれた3.ファイルパス、ファイル名が同じパスです。別のファイルパスに画像出力する場合は、これらのファイルの絶対パスを必要としています。
偽返されたマップにカットされていない場合4.ショットの結果は、真の成功したリターンをスクリーンショット。
次のようにコードが要約される。
webdriverをセレンのインポートから
インポートunittestの、タイム
ECのAS selenium.webdriver.supportインポートexpected_conditionsから
(たunittest.TestCaseの)ログインクラス:
@classmethod
DEF setUpClass(CLS):
cls.driver = webdriver.Chrome()
cls.driverを.get( "https://passport.cnblogs.com/user/signin")
@classmethod
DEF tearDownClass(CLS):
cls.driver.quit()
DEFのtest_01(セルフ):
以前に正しいようにアカウントのパスワードを、入力されました」 ''この点を主張するために実行し、アサーションは意図的に設定Falseに失敗した'' '
試してみてください
。self.driver.find_element_by_id( "LoginNameに")send_keys( "XXXX")
self.driver.find_element_by_id( "パスワード")send_keys( "。XXXX ")
self.driver.find_element_by_id( "IsRemember")をクリックします()。
self.driver.find_element_by_id( "submitBtn")をクリックします()。
time.sleep(3)
#成功したログインページアカウントがあるかどうかを判断するために: "先生タオ-ブログパーク"
=ロケータ( "上記のIDを述べた"、 "header_user_left")
テキスト= U "先生タオ-ブログパーク"
結果= EC.text_to_be_present_in_element(ロケータ、テキスト)(self.driver)
self.assertFalse(結果)
MSG AS例外を除い:
印刷( " S異常原因% "%MSG)#
イメージ名は、タイムスタンプを追加することができ
、Yの%mを%% D. M。%%% H. S")time.strftime =(nowtime "
self.driver.get_screenshot_as_file(" %S. JPG "%のnowtime)
上げる
場合__name__ == '__main__':
unittest.main(冗長= 2)