Webオートメーションテストの難しさ:スクロールバーの操作、日付ボックスの処理、ファイルのアップロード

ページを一番下にスライドさせる方法は?

一般的に言って、Webオートメーションテストを行う場合、コードを個別に記述してページをスライドさせて表示する必要はありません。クリック操作は、要素が存在して読み込まれている限り、要素をスライドするための追加のコードを記述しなくてもクリックできるためです。

特別な状況でスライドする必要がある場合は、Pythonのセレンライブラリのexecute_scriptメソッドがjsステートメントを実行してスクロール関数を実装します

 「引数[要素オブジェクト] .scrollIntoView();」、要素オブジェクト
driver.execute_script( 'arguments [0] .scrollIntoView(false);'、ele)要素を一番下に表示しますdriver.execute_script( 'arguments [0] .scrollIntoView();'、ele)#要素を一番上に表示される
ドライバーに移動します.execute_script( 'window.scrollTo(0、document.body.scrollHeight)')#ページをページの下部に移動します

driver.execute_script( "window.scrollTo(document.body.scrollHeight、0)")#ページをページに移動します上へ

  

日付ボックス処理

Webページのテスト中に日付ボックスが表示されたと思います。これは、選択のみが可能で、直接入力できないタイプです。この種のWeb自動化テストの処理方法は?

直接入力できるように属性値を変更します

from selenium import webdriver 

driver = webdriver.Chrome()

#pha_js = "var a = arguments [0]; a.readOnly = false; a.value = arguments [1];"#js语法

loc =( "xpath"、 " // * [@ id = 'train_date'] ")
ele = driver.find_element(* loc)

now_10 =" 1111 "#datetime获取当前时间

driver.execute_script(" var a = arguments [0]; a.readOnly = false ; a.value = arguments [1]; "、ele、now_10)

  

12306日付選択ボックスの例

= webdriver.Chromeドライバー()
driver.get( 'https://www.12306.cn/index/')

driver.implicitly_wait(20です)

#出発まず選択し、[変更出発
driver.find_element_by_id( "fromStationText") .click()
driver.find_element_by_xpath( '// li [@ title = "北京"]')。click()
pha_js = 'var a = document.getElementById( "fromStationText"); a.value = "Shenzhen"' 
ドライバー.execute_script(pha_js)#まず宛先を選択し

、次に宛先を変更します
driver.find_element_by_id( "toStationText")。click()
driver.find_element_by_xpath( '// li [@ title = "上海"]')。click()
arive_js = 'var a = document.getElementById( "toStationText"); a.value = "常德"' 
driver.execute_script(arive_js)
#日付

処理time_js = 'var a = document.getElementById( "train_date"); a.readOnly = false; a.value = "2020-05-01" '
driver.execute_script(time_js)
execute_script(time_js)#日付
処理
ele4 =(By.ID、 'search_one')
driver.find_element(* ele4).click()

  

アップロード操作

Web自動テスト、ファイルのアップロードをシミュレートする方法

ウェブインターフェースではないアップロード操作のため、Pythonでセレンライブラリを使用できません

他のライブラリのみを使用

1.  最初に pipをインストールしますpypiwin32 ライブラリをインストールします

#1 \入力ボックスを見つけてボタン要素を開く; 2.アドレスを入力して[開く]をクリックします。

#前提:ウィンドウのアップロードウィンドウが表示されました。ポップアップが表示されるまで1〜2秒待ちます。
def upload(filePath、browser_type = "chrome"):
    browser_type == "chrome":
        title = "open" 
    else:
        title = ""の場合

    要素の
    最初の
    ウィンドウ "#32770"、 "open" dialog = win32gui。 FindWindow( "#32770"、タイトル)
    ComboBoxEx32 = win32gui.FindWindowEx(ダイアログ、0、 "ComboBoxEx32"、なし)#2 
    コンボボックス= win32gui.FindWindowEx(ComboBoxEx32,0、 "コンボボックス "、なし)# 3 
    #編集ボタンの
    編集= win32gui.FindWindowEx(comboBox、0、 'Edit'、None)#四
    级#Open 
    button button = win32gui.FindWindowEx(dialog、0、 '


    win32gui.SendMessage(edit、win32con.WM_SETTEXT、None、filePath)ファイルパスを送信win32gui.SendMessage(dialog、win32con.WM_COMMAND、1、button)#開くボタンをクリック

  

 

おすすめ

転載: www.cnblogs.com/hherbk/p/12707318.html