Selenium自動化測試(3)

李逸風丶發表於2020-09-27

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)
在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

2、 driver.find_element_by_css_selector(value)

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

3、driver.find_element_by_id(value)

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

4、driver.find_element_by_name(value)

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

5、 driver.find_element_by_class_name(value)

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

6、 driver.find_element_by_tag_name(value)

在這裡插入圖片描述

7、driver.find_element_by_link_text(value)

在這裡插入圖片描述

執行後,就會跳出hao123網頁

8、 driver.find_element_by_partial_link_text(value)

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

在這裡插入圖片描述

在這裡插入圖片描述

相關文章