一、認識selenium
(1)selenium是什么?
a、selenium是python中的一個第三方庫
b、Selenium是一個應用于web應用程序的測試工具,支持多平臺,多瀏覽器,多語言去實現(xiàn)ui自動化測試,我們現(xiàn)在講的Selenium版本其實是Selenium2版本
c、Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Google Chrome等
(2)selenium庫用來做什么?
UI自動化(界面設計)
通過模擬用戶手工操作ui頁面方式,用代碼去實現(xiàn)自動化操作和驗證的行為
(3)ui自動化的優(yōu)點?
a、解決重復性功能測試和驗證
b、減少測試人員在回歸測試時用例漏測和驗證點的漏測
c、減少冒煙測試,回歸測試的人力成本,節(jié)約時間提高效率。
(4)ui自動化測試的情況?
a.需求不穩(wěn)定,無法進行ui自動化
b.自動化用例的覆蓋率,占用例15%-30%(正常場景)
c、場景覆蓋占當前功能場景70%-80%
(5)UI自動化一般在什么時間做?
1、接口測試
2、功能測試
3、ui自動化(在功能測試完以后)
(6)ui自動化和功能測試那個重要?
都重要,ui自動化測試是功能測試測試完以后進行
(7)selenium的優(yōu)點有哪些?
a.工具免費
b.安裝簡單,小巧,selenium其實就是一個包
c.支持多語言(java,python)+selenium完成自動化測試
d.支持多平臺(window,linux)
e.支持多瀏覽器 (ie,firefox,chrome)
(8)Selenium工具原理是什么?
Selenium2的核心是webdriver
=========================================================
二、安裝selenium庫
(1)方法一:在dos命令下,輸入以下命令
pip3 install selenium3.141.0 版本
pip install selenium 或python -m pip install selenium3.141.0
(2)在pycharm中seting中添加
備注:注意下版本,3.14.1
在通過pip list 查看安裝好的selenium 版本
第三方庫存放在puython中的路徑 :E:\python37\Lib\site-packages
============================================
三、安裝谷歌瀏覽器和對應驅(qū)動
1、谷歌驅(qū)動下載
下載連接:https://registry.npmmirror.com/binary.html?path=chromedriver/
2、將驅(qū)動放在C:\python37
3、安裝或下載谷歌瀏覽器
查看瀏覽器版本
如果出現(xiàn)報錯:
下載下urllib庫,降低版本:pyhton -m pip install urllib3==1.26.15
=========================================================
調(diào)試是否安裝:
from selenium import webdriver
import time
dx=webdriver.Chrome() #創(chuàng)建一個 webdriver對象
dx.get("https://www.baidu.com/") #通過對象打開網(wǎng)址
time.sleep(2) #休眠兩秒
dx.maximize_window() #窗口最大化
dx.find_element_by_id("kw").send_keys("多測師") #根據(jù)id元素定位,輸入內(nèi)容
能運行表示環(huán)境安裝好
=========================================================
1、打開瀏覽器
格式:對象.get(“網(wǎng)站”)
案例1:在同一個窗口,后一格瀏覽區(qū)覆蓋前一個瀏覽器
from selenium import webdriver
import time
dx=webdriver.Chrome() #創(chuàng)建一個 webdriver對象
dx.get("https://www.baidu.com/") #通過對象打開網(wǎng)址
time.sleep(3)
dx.get("https://www.jd.com/") #通過對象打開網(wǎng)址
案例2:格式:d.execute_script(“window.open(‘https://www.jd.com/’)”)
重開一個窗口
from selenium import webdriver
import time
dx=webdriver.Chrome() #創(chuàng)建一個 webdriver對象
dx.get("https://www.baidu.com/") #通過對象打開網(wǎng)址
time.sleep(3)
dx.get("https://www.jd.com/") #通過對象打開網(wǎng)址
# dx.execute_script("window.open('https://www.jd.com/')") #重開窗口
=========================================================
休眠:
1.強制等待 sleep(xx) #等待時間是固定
定義:強制等待我們可以通過time模塊中time.sleep()來實現(xiàn),不管瀏覽器是否加載完成,只要程序執(zhí)行到等待設定的時間,就會等待,時間一到,就繼續(xù)執(zhí)行后面的程序了。
2.隱性等待 implicitly_wait(xx) # #比sleep更節(jié)省時間
定義:隱式等待可以通過implicitly_wait()方法實現(xiàn),默認等待的時間為0秒,隱式等待可以設置一個時間間隔,網(wǎng)頁加載完成,就立即執(zhí)行下一步程序,不然就等到時間截止,然后執(zhí)行下一步程序,所以implicitly_wait()比time.sleep()應用起來更加方便。
3.顯性等待 WebDriverWait(了解)
定義:顯式等待是代碼中等待一定條件發(fā)生后再進一步執(zhí)行你的代碼,通過webDriverWait結(jié)合ExpectedCondition實現(xiàn)。實現(xiàn)的方法:程序每隔幾秒判斷一下設定的條件,如果條件成立,則執(zhí)行下一步,否則就繼續(xù)等待,直到超過設置的最長時間,然后拋出異常,
=================================
refresh 頁面刷新
案例:
from selenium import webdriver #d導入selenium庫中webdriver
from time import * #導入時間模塊
d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作
d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站
sleep(2)
d.refresh()
sleep(2)
d.quit()
=================================
back 返回上一頁
from selenium import webdriver #d導入selenium庫中webdriver from time import * #導入時間模塊 d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作 d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站 sleep(2) d.get(“https://www.jd.com/”) sleep(2) d.back() sleep(5)
forward 切換到下一頁
from selenium import webdriver #d導入selenium庫中webdriver from time import * #導入時間模塊 d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作 d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站 sleep(2) d.get(“https://www.jd.com/”) sleep(2) d.back() sleep(5) d.forward() d.quit()
窗口最大化
d.maximize_window() 窗口最大化
from selenium import webdriver #d導入selenium庫中webdriver from time import * #導入時間模塊 d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作 d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站 sleep(2) d.maximize_window() #窗口最大化 d.quit()
設置指定窗口的大小
d.set_window_size(500,500)
案例:
from selenium import webdriver #d導入selenium庫中webdriver from time import * #導入時間模塊 d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作 d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站 sleep(2) d.set_window_size(500,500) sleep(5) d.quit()
退出方式:
第一種:close
第二種:quit
案例1:關閉當前窗口 close
案例2:quit
from selenium import webdriver #d導入selenium庫中webdriver from time import * #導入時間模塊 d=webdriver.Chrome() # 創(chuàng)建一d對象來打開瀏覽器,對瀏覽器實現(xiàn)操作 d.get(“https://www.baidu.com/”) #通過對象谷歌瀏覽器輸入網(wǎng)址,在用get方法打開網(wǎng)站 sleep(2) d.execute_script(“window.open(‘https://www.jd.com/’)”) sleep(5) d.quit()
截屏:
對象.get_screenshot_as_file(“存放的路徑”)文章來源:http://www.zghlxwxcb.cn/news/detail-721018.html
d.get_screenshot_as_file(r"D:\f\aa.png")文章來源地址http://www.zghlxwxcb.cn/news/detail-721018.html
到了這里,關于多測師肖sir_高級金牌講師___ui自動化之selenium001的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!