用Python實現自動化測試


1.關於自動化測試的概述

研發效能

可以通過技術的手段來提高效率

 

自動化測試分類

1.1UI自動化測試(前端自動化測試)-->selenium(框架&庫&工具)

1.2API自動化測試

1.3單元自動化測試

 

服務端測試開發領域(架構)

大數據測試開發領域

算法測試開發領域(離散數學:線性代數)

專項測試開發領域

 

功能測試-->自動化測試-->測試開發(前端&架構&容器化)-->回歸功能測試本質

測試開發=測試思維+開發的技術+質量管理體系

 

自動化測試:可以理解為通過一定的技術手段,操作機器來得到人的模擬操作

目的&意義:隨着產品的完善,需要回歸驗證的測試點越來越多,這個時候我們可以

通過自動化測試的手段,把需要回歸的測試點鍾,可以使用自動化測試實現的部分實現

那么這樣我們需要回歸測試的點就會減少,已實現部分可以一勞永逸的執行。

 

環境搭建步驟:

1、安裝selenium的地方放的庫 pip3 install selennium

2、按照chrome的瀏覽器

3、下載瀏覽器對應的驅動

 

支持主流的編程語言:python ,java,go,net,php,js

支持主流的瀏覽器:chrome fireofox ie

2.Selenium元素定位實戰

Selenium是一個用於Web應用程序的自動化測試工具,它可以直接運行在瀏覽器中,可以模擬用戶的行為操作,操作界面友好。且支持IE Chrome Firefox 等主流瀏覽器

2.1元素定位實戰

在UI自動化測試中,最基礎最核心的技能是對頁面元素進行定位,定位到相應的元素后才可以對頁面的操作進行編碼驗證

2.2調試工具實戰

在Chrome瀏覽器中,點擊鼠標右鍵,在彈出的快捷菜單中選擇“檢查”選項:在彈出的調試 窗口中,點擊按鈕后,將鼠標移動到需要定位的目標未知,調試信息窗口就會顯示元素的屬性

 

 

舉例:

 

 

 然后我們在進行查找元素

 

 

 

 我們就能獲取元素

前提是在寫代碼的時候需要導入 

from selenium import webdriver

2.3利用id查找元素:find_element_by_id

通過元素id定位到元素 以百度的方式來呈現

 

 

 可以看到百度當中 id的屬性是kw

我們在百度搜索框中輸入“美女”

代碼如下

1 driver=webdriver.Chrome()
2 #導航到被測的網址
3 driver.get('http://www.baidu.com/')
4 t.sleep(5)
5 driver.find_element_by_id('kw').send_keys('美女')
6 t.sleep(5)
7 #退出
8 driver.quit()
View Code

2.4利用name查找元素:find_elemet_by_name

通過元素屬性NAME定位到元素 以百度的方式來呈現

 

 

圖中我們可以看到百度的name屬性為wd

我們在百度搜索框中輸入“美女”

用同理我們也可以找到搜索按鈕的name的屬性為su

執行點擊

代碼如下

 1 from selenium import webdriver
 2 driver=webdriver.Chrome()
 3 #導航到被測的網址
 4 driver.get('http://www.baidu.com/')
 5 t.sleep(5)
 6 driver.find_element_by_name('wd').send_keys('美女')
 7 t.sleep(5)
 8 driver.find_element_by_id('su').click()
 9 t.sleep(5)
10 #退出
11 driver.quit()
View Code

2.5利用class_name查找元素:find_element_by_class_name

通過元素屬性CLASS_NAME定位到元素 以百度的方式呈現

 

 

 圖中我們可以看到百度搜索款的class_name屬性為s_ipt

我們在百度框中輸入“美女”

代碼如下

 1 from selenium import webdriver
 2 driver=webdriver.Chrome()
 3 #導航到被測的網址
 4 driver.get('http://www.baidu.com/')
 5 t.sleep(5)
 6 driver.find_element_by_class_name('s_ipt').send_keys('美女')
 7 t.sleep(5)
 8 driver.find_element_by_id('su').click()
 9 t.sleep(5)
10 #退出
11 driver.quit()
View Code

2.6利用xpath查找元素:find_element_by_xpath

通過XPATH定位百度搜索輸入框的元素 以百度的方式呈現

 

 

 這樣我們就獲取了XPath屬性的元素

代碼如下

 1 from selenium import webdriver
 2 driver=webdriver.Chrome()
 3 #導航到被測的網址
 4 driver.get('http://www.baidu.com/')
 5 t.sleep(5)
 6 driver.find_element_by_xpath('//*[@id="kw"]').send_keys('美女')
 7 t.sleep(5)
 8 driver.find_element_by_xpath('//*[@id="su"]').click()
 9 t.sleep(5)
10 #退出
11 driver.quit()
View Code

2.7利用link_text查找元素:find_element_by_link_text

LINK_TEXT是用於對超鏈接的處理。在HTML的代碼中主要是以標簽a對應 以百度的方式呈現

 

 

 

上圖所示我們是想實現點擊hao123網頁,實現代碼如下

1 from selenium import webdriver
2 driver = webdriver.Chrome()
3 #導航到被測的網址
4 driver.get('http://www.baidu.com/')
5 t.sleep(5)
6 driver.find_element_by_link_text('hao123').click()
7 t.sleep(5)
8 #退出
9 driver.quit()
View Code

輸出結果為我們進入了百度頁面點擊了hao123進入hao123網頁

2.8利用partial_link_text查找元素:模糊匹配

partial_link_text也是用於對超鏈接的處理,它與link_text不同的是,它是進行模糊搜索 ,(可以理解成按照模糊關鍵字進行搜索)

代碼如下

1 from selenium import webdriver
2 driver = webdriver.Chrome()
3 #導航到被測的網址
4 driver.get('http://www.baidu.com/')
5 t.sleep(5)
6 driver.find_element_by_partial_link_text('hao').click()
7 t.sleep(5)
8 #退出
9 driver.quit()
View Code

2.9利用css_selector查找元素:find_element_by_css_selector

當我們使用ID,NAME等定位方法定位不到元素的時候 就可以使用css_selector來獲取元素

以百度為例

 

 

 

代碼如下

 1 from selenium import webdriver
 2 driver=webdriver.Chrome()
 3 #導航到被測的網址
 4 driver.get('http://www.baidu.com/')
 5 t.sleep(5)
 6 driver.find_element_by_css_selector('#kw').send_keys('美女')
 7 t.sleep(5)
 8 driver.find_element_by_css_selector('#su').click()
 9 t.sleep(5)
10 #退出
11 driver.quit()
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM