1. 程式人生 > >自動化測試——下拉選擇框、警告框、滾動條操作

自動化測試——下拉選擇框、警告框、滾動條操作

一、下拉選擇框

1、什麼是下拉選擇框

說明:下拉框就是HTML中<select>元素

2、為什麼學習下拉選擇框?

(1)傳統程式碼實現:

                      定位option選項(8中定位方式)

(2)問題:

                       1、傳統定位根據option選項的值來判斷

                       2、如果有多個選項傳統定位方式處理起來比較繁瑣

 3、Select類

說明:Select類是WebDriver為解決select標籤定位誕生的,此類定位的是select標籤

(1)select方法

select_by_index()    根據option索引來定位,從0開始

select_by_value()     根據option屬性 value值來定位

select_by_visible_text()  根據option顯示文字來定位

(2)select實現程式碼

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\註冊A.html')
sleep(2)

select = Select(driver.find_element_by_id("selectA"))

#根據索引實現
sleep(2)
select.select_by_index(1)

#根據文字值實現
sleep(2)
select.select_by_value('bj')

#根據value屬性實現
sleep(2)
select.select_by_visible_text('A重慶')


sleep(3)
driver.quit()

二、警告框處理

說明:WebDriver中對處理警告框的操作,有專門的處理方法

提示:HTML中常用的對話方塊有三種,處理的方法都一樣

(1)alert

(2)confirm

(3)prompt

1、警告框處理方法

(1)text                          返回alert/confirm/prompt中的文字資訊

(2)accept()              接受對話方塊選項

(3)dismiss()            取消對話方塊選項

2、呼叫方法

(1)獲取警告框 alert = driver.switch_to.alert

(2)呼叫 :

             alert.text

             alert.accept()

             alert.dismiss()

3、處理警告框

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\註冊A.html')
sleep(2)

driver.find_element_by_id('alerta').click()
sleep(2)

alert = driver.switch_to.alert

print(alert.text)
alert.accept()

sleep(2)
driver.find_element_by_id('userA').send_keys('admin')


sleep(3)
driver.quit()

三、滾動條操作

說明:WebDriver類庫中並沒有直接提供對滾動條進行操作方法,但是它提供了可呼叫JavaScript指令碼的方法,所以我們可以通過JavaScript指令碼來達到操作滾動條的目的

備註:(1)滾動條:一種可控制程式顯示範圍的元件

           (2)JavaScript:一種流行指令碼語言,可以操作HTML標籤

1、為什麼要學習滾動條操作?

(1)在HTML頁面中,由於前端技術框架的原因,頁面元素為動態顯示,元素根據滾動條的下拉而被載入

(2)頁面註冊同意條款,需要滾動條到最底層,才能點選同意

2、設定JavaScript指令碼控制滾動條

js = “window.scrollTo(0,1000)”

                   (0:左邊距;1000:上邊距,單位畫素)

WebDriver呼叫js指令碼方法:  driver.execute_script(js)

3、處理滾動條

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\註冊A.html')
sleep(2)

js1 = "window.scrollTo(0,1000)"
js2 = "window.scrollTo(0,0)"

driver.execute_script(js1)
sleep(2)

driver.execute_script(js2)

sleep(3)
driver.quit()

4、滾動條總結

(1)WebDriver控制滾動方法

(2)JavaScript控制滾動條語句