天天看點

Selenium自動化測試(3)Selenium自動化測試架構

Selenium自動化測試架構

1.什麼是架構?

       架構(framework)是一個框子——指其限制性,也是一個架子——指其支撐性。是一個基本概念上的結構,用于去解決或者處理複雜的問題。

       架構是整個或部分系統的可重用設計,表現為一組抽象構件及構件執行個體間互動的方法;另一種定義認為,架構是可被應用開發者定制的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。

       架構,其實就是某種應用的半成品,就是一組元件,供你選用完成你自己的系統。簡單說就是使用别人搭好的舞台,你來做表演。

2.為什麼使用架構?

1)自己從頭實作太複雜

       2)使用架構能夠更專注于業務邏輯,加快開發速度

       3)架構的使用能夠處理更多細節問題

       4)使用人數多,穩定性,擴充性好

selenium環境搭建(詳情查閱Selenium自動化測試(1))

1.材料:

	1)python3.7

	2)Firefox35(大于43)

	3)selenium2架構
		穩定版 2.48.0    (pip install selenium=2.48.0)

	4)浏覽器驅動		
		chrome
		ie
           

Selenium IDE

IDE功能簡介

1.檔案:建立、打開和儲存測試案例和測試案例集。編輯:複制、粘貼、删除、撤銷和選擇測試案例中的所有指令。Options : 用于設定seleniunm IDE。

2.用來填寫被測網站的位址。

3.速度控制:控制案例的運作速度。

4.運作所有:運作一個測試案例集中的所有案例。

5.運作:運作目前標明的測試案例。

6.暫停/恢複:暫停和恢複測試案例執行。

7.單步:可以運作一個案例中的一行指令。

8.錄制:點選之後,開始記錄你對浏覽器的操作。

9.案例集清單。

10.測試腳本;table标簽:用表格形式展現指令及參數。source标簽:用原始方式展現,預設是HTML語言格式,也可以用其他語言展示。

11.檢視腳本運作通過/失敗的個數。

12.當選中前指令對應參數。

13.日志/參考/UI元素/Rollup

1、浏覽器驅動對象

  • 1)庫的導入
    from selenium import  webdriver
               
  • 2)建立浏覽器對象
    driver = webdriver.xxx()
    
    使用dir(driver)檢視方法
               
  • 3)浏覽器尺寸相關操作
    maximize_window()		最大化
    
    get_window_size()		擷取浏覽器尺寸
    
    set_window_size()		設定浏覽器尺寸
               
  • 4)浏覽器位置相關操作
    get_window_position()		擷取浏覽器位置
    
     set_window_position(x,y)		設定浏覽器位置
     
     注:顯示器以左上角為(0,0),所有的位置操作都是相對于顯示器左上角展開的位移操作,機關是像素。
               
  • 5)浏覽器的關閉操作
    close()			關閉目前标簽/視窗
    
    quit()			關閉所有标簽/視窗
               
  • 6)頁面請求操作
    driver.get(url)				請求某個url對應的響應
    
    refresh()				重新整理頁面操作
    
    back()				回退到之前的頁面
    
    forward()				前進到之後的頁面
               

八種定位方式的示例:

1、driver.find_element_by_xpath(value)

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

2、 driver.find_element_by_css_selector(value)

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

3、driver.find_element_by_id(value)

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

4、driver.find_element_by_name(value)

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

5、 driver.find_element_by_class_name(value)

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

7、driver.find_element_by_link_text(value)

Selenium自動化測試(3)Selenium自動化測試架構

運作後,就會跳出hao123網頁

8、 driver.find_element_by_partial_link_text(value)

這個方法是上一個方法的擴充。當你不能準确知道超連結上的文本資訊或者隻想通過一些關鍵字進行比對時,可以使用這個方法來通過部分連結文字進行比對

Selenium自動化測試(3)Selenium自動化測試架構
Selenium自動化測試(3)Selenium自動化測試架構

繼續閱讀