ウェブの自動位置決め要素の故障の分析

分析

  1. まず第一に - 明確な範囲 - ウェブテストの自動化

  2. 第二に - 急行条件 - 要素が正しく配置されています

  3. そして、 - 明確な現象 - 位置決め要素が失敗

  4. 最後に - と結論

    1. 位置決め要素は、属性情報が(正確に決定された)正しい判断が、サービスロジックが決定される正しいです

    2. ネットワーク/サーバ/ブラウザの衝撃により、ページの負荷があまりにもゆっくりで必要とされる、見つけるために失敗につながるのを待っている要素の処理

    3. 以下のためのターゲット要素を直接目に見える/必要があるかどうかをマウス操作が表示されるまで

    4. デフォルトのブラウザのページの負荷範囲の大きさの後、いくつかの要素をブロック小さすぎる原因は、ブラウザを起動する必要が最大化されたウィンドウを

    5. 動的ローディング技術のフロントエンドの影響により、ページが動的に時々データをロードするアクション(長いページフリップを)スクロールに耳を傾ける必要がある、あなたがする必要があるバーをスクロール

    6. ウィンドウ内のページの動作時にも弾性警告ページフレームの位置や動作に影響を与えることができ、する必要があるアラートを処理します

    7. ハイパーリンクをクリックした後のページの一部は、新しいウィンドウでの必要性新しいウィンドウでターゲット要素を開きますウインドウスイッチを

    8. フレームサブページであってもよく、我々がする必要があるページのコンテンツに影響を与えるフロントページフレームワークを受け切り替えフレーム

 

 

問題の概要

この質問への答えは明らかに一般的な操作のためのセレンAPIの多くを必要とするので、この質問に対する答えは、コードの実装に特別な注意を払う必要がありますので、

  1. ビジネスロジック

    オープンホームを直接操作してログイン-ビジネスロジックの順序があること#注意
    #2は、URLを入力
    します。#ドライブオブジェクトの呼び出しは、(「の// URLプロトコル」)を取得
    ドライバを。GET(「http://www.xxx.com」)#3.業務ユーザー名/パスワードを入力する。#着陸操作/コードドライバー。find_element_by_id("ユーザ名")。send_keys("XXXXXX")ドライバー。find_element_by_id("パスワード")。send_keys("123456")ドライバー。find_element_by_id ("verify_code")。send_keys("8888")ドライバー。find_element_by_name("sbtbutton")。クリック()






  1. 待っている要素


    #ハード待つ
    プログラムの実行中断、#利用睡眠
    時間を。SLEEP(3)
    ドライバー。Find_element_by_id("Q")。Send_keys("iPhone")暗黙の待機を-一度設定-グローバルのために-配置のすべての要素#をselenium.common.exceptions.NoSuchElementExceptionの#コール-ブラウザ駆動型オブジェクト呼び出しの引数使用して-長い秒待ちを。ドライバimplicitly_wait(10)ドライバー。find_element_by_id("Q")。send_keys("iPhone") 明示的な待機-について指定された要素の位置は-障害がスローされた位置決め#selenium.common.exceptions.TimeoutException #WebDriverWaitは、オブジェクト・クラスのインスタンスを、オブジェクトのクラスが呼び出されるまではWebDriverWait ウェイト= WebDriverWait(ドライバ、タイムアウト= 10










    poll_frequency = 1)
    userA_element = 待ちます。まで(ラムダD:D。find_element_by_id("Q"))
    userA_element。send_keys("iphone")
  1. マウスの動き


    #チェーンオブジェクトの動作の一例
    #オブジェクトがチェーン--move_to_elementの操作のアクションメソッドを呼び出し(オブジェクト対象要素)
    #チェーン操作対象コールがperfom()
    ActionChains(ドライバ)。Move_to_element(ドライバ。Find_element_by_class_name(「UG-カート」))を実行()
  1. 最大化したウィンドウ


    1.ブラウザ#の
    駆動ブラウザの#インスタンス
    #OBJ =クラス名()
    ドライバ= webdriverを。クローム()
    は、ブラウザウィンドウの最大化
    ドライバ。Maximize_window()
  1. スクロールバー


    #スクロールバーの
    ドライバー。Execute_script("window.scrollToは(0,100000)")
    バックの上部にクリックしてください
    ドライバー。Find_element_by_class_name("ICO-slidebar4")。クリック()
  1. 処理警告


    #は、ポップアップ閉じ
    ドライバを。Switch_to。警告。(却下)
  1. ウィンドウスイッチ


    ウィンドウの切り替え# -一般的なルールは、最後のウィンドウハンドルに新しいデフォルトである
    ドライバー。switch_to。ウィンドウ(ドライバー。Window_handles [ - 1])
  1. フレームスイッチ

    ホームを切り替える#フレーム-サブページ
    driver.switch_to.frame(driver.find_element_by_tag_name(「のiframe」))
    のクリック数カートの決済に
    driver.find_element_by_link_text(「カートの決済を行く」).click()
    サブページを切り替える#フレーム- -ホーム
    driver.switch_to.default_content()

 

おすすめ

転載: www.cnblogs.com/ray-mr-huang/p/11518610.html