selenium自動化テストノート(2)
2947 ワード
selenium自動化テストノート(2)
JavaScriptの呼び出し
Webdriverが完了できない操作に遭遇した場合、JavaScriptを使用して完了することを考慮することができます.Webdriverでは完了できない操作を完了する以外に、JavaScriptに精通している場合は、weddriverを使用してJavaScriptを実行することは、腕立て伏せで効率的なことです.
Webdriverはexecuteを提供しています.script()言い訳jsコードを呼び出す
execute_script(script、*args)現在のウィンドウ、フレームワークでjavascriptスクリプトを同期実行
script:JavaScriptの実行
*agrs:javascriptスクリプトに適用
コントロールブラウザスクロールバー
一般的には、スクロールトーンを操作する2つのシーンが使用されます.登録時の法律条文の読解は、ユーザが読解完了したか否かを判断する基準は、スクロールバーが一番下の まで引き延ばすか否かである.操作するページ要素は視覚範囲内ではなく、操作できないため、スクロールバー をドラッグする必要がある.
スクロールバーの位置を識別するコード
~markdown document.body.scrollTop:オブジェクトの最上位とウィンドウで表示されるコンテンツの最上位との間の距離を設定または取得するために、ページがボリュームされていることをscrollTopに伝える~
~~~python from time import sleep
from selenium import webdriver
driver=webdriver.Firefox() driver.get(‘http://www.baidu.com‘)
driver.find_element_by_id(‘kw’).send_keys(‘selenium’) driver.find_element_by_id(‘su’).click() sleep(3)
スクロールバーを下に移動
js=”var q=document.documentElement.scrollTop=100000” driver.execute_script(js) sleep(3)
スクロールバーをページの上部に移動
js_=”var p=document.documentElement.scrollTop=0” driver.execute_script(js_) sleep(3)
Firefoxのみ
~~~
Cookie処理
実際のクッキーベースでは、ホワイトボックスと統合テストで完了できないため、ブラウザ3にクッキーがあるかどうかを確認する必要があります.Webdriverは、クッキー情報を読み取り、追加、削除することができます.
方法: get_cookies()すべてのcookieの情報を取得する get_cookie(name)は、特定のnameを返すcookie情報 を有する. add_cookie(cookie_dict)cookieを追加するには、nameとvalue値 が必要です. delete_クッキー(name)特定(部分)のクッキー情報を削除する delete_all_cookies()すべてのcookie情報を削除する ~~~python from time import sleep
from selenium import webdriver
driver = webdriver.Firefox() driver.get(‘http://www.baidu.com‘)
クッキーのnameとvalueに返信情報を追加
driver.add_cookie({‘name’:’key-aaaaaa’,’value’:’value-bbbbbb’})
クッキーのnameとvalue情報を巡る印刷
for cookie in driver.get_cookies():print("%s->%s"%(cookie[‘name’],cookie[‘value’))print("——-私は1番の区切り線です————")
特定のクッキーを削除
driver.delete_cookie(‘key-aaaaaa’) for cookie in driver.get_cookies():print("%s->%s"%(cookie[‘name’],cookie[‘value’))print("————–よし!私は2番の区切り線——————————’)
すべてのクッキーを削除
driver.delete_all_cookies() print(driver.get_cookies()) sleep(3) driver.quit() ~~~
オブジェクトのプロパティの取得
テストオブジェクトのプロパティを取得することで、オブジェクトの位置付けをよりよくすることができます.たとえば、ページにはinput要素というラベルがありますが、data-node属性の異なる要素の1つを特定する必要があります.
Webdriverはdata-nodeを直接使用してオブジェクトを位置決めすることをサポートしていないので、まずすべてのinputを見つけて、それから彼らを遍歴して、欲しい要素を取得するしかありません.
if判定で選択できます
JavaScriptの呼び出し
Webdriverが完了できない操作に遭遇した場合、JavaScriptを使用して完了することを考慮することができます.Webdriverでは完了できない操作を完了する以外に、JavaScriptに精通している場合は、weddriverを使用してJavaScriptを実行することは、腕立て伏せで効率的なことです.
Webdriverはexecuteを提供しています.script()言い訳jsコードを呼び出す
execute_script(script、*args)現在のウィンドウ、フレームワークでjavascriptスクリプトを同期実行
script:JavaScriptの実行
*agrs:javascriptスクリプトに適用
コントロールブラウザスクロールバー
一般的には、スクロールトーンを操作する2つのシーンが使用されます.
スクロールバーの位置を識別するコード
<body onload="document.body.scrollTop=0">
<body onload="document.body.scrollTop=100000">
~markdown document.body.scrollTop:オブジェクトの最上位とウィンドウで表示されるコンテンツの最上位との間の距離を設定または取得するために、ページがボリュームされていることをscrollTopに伝える~
~~~python from time import sleep
from selenium import webdriver
driver=webdriver.Firefox() driver.get(‘http://www.baidu.com‘)
driver.find_element_by_id(‘kw’).send_keys(‘selenium’) driver.find_element_by_id(‘su’).click() sleep(3)
スクロールバーを下に移動
js=”var q=document.documentElement.scrollTop=100000” driver.execute_script(js) sleep(3)
スクロールバーをページの上部に移動
js_=”var p=document.documentElement.scrollTop=0” driver.execute_script(js_) sleep(3)
Firefoxのみ
~~~
Cookie処理
実際のクッキーベースでは、ホワイトボックスと統合テストで完了できないため、ブラウザ3にクッキーがあるかどうかを確認する必要があります.Webdriverは、クッキー情報を読み取り、追加、削除することができます.
方法:
from selenium import webdriver
driver = webdriver.Firefox() driver.get(‘http://www.baidu.com‘)
クッキーのnameとvalueに返信情報を追加
driver.add_cookie({‘name’:’key-aaaaaa’,’value’:’value-bbbbbb’})
クッキーのnameとvalue情報を巡る印刷
for cookie in driver.get_cookies():print("%s->%s"%(cookie[‘name’],cookie[‘value’))print("——-私は1番の区切り線です————")
特定のクッキーを削除
driver.delete_cookie(‘key-aaaaaa’) for cookie in driver.get_cookies():print("%s->%s"%(cookie[‘name’],cookie[‘value’))print("————–よし!私は2番の区切り線——————————’)
すべてのクッキーを削除
driver.delete_all_cookies() print(driver.get_cookies()) sleep(3) driver.quit() ~~~
オブジェクトのプロパティの取得
テストオブジェクトのプロパティを取得することで、オブジェクトの位置付けをよりよくすることができます.たとえば、ページにはinput要素というラベルがありますが、data-node属性の異なる要素の1つを特定する必要があります.
Webdriverはdata-nodeを直接使用してオブジェクトを位置決めすることをサポートしていないので、まずすべてのinputを見つけて、それから彼らを遍歴して、欲しい要素を取得するしかありません.
if判定で選択できます