pythonselenuim
⑴ 如何搭建python+selenium自動化測試框架
selenium是一個web的自動化測試工具,不少學習功能自動化的同學開始首選selenium,相因為它相比QTP有諸多有點:
*免費,也不用再為破解QTP而大傷腦筋
*小巧,對於不同的語言它只是一個包而已,而QTP需要下載安裝1個多G的程序。
*這也是最重要的一點,不管你以前更熟悉C、java、ruby、python、或都是C#,你都可以通過selenium完成自動化測試,而QTP只支持VBS
*支持多平台:windows、linux、MAC,支持多瀏覽器:ie、ff、safari、opera、chrome
*支持分布式測試用例的執行,可以把測試用例分布到不同的測試機器的執行,相當於分發機的功能。
關於selenium的基礎知識與java平台的結合,我之前寫過一個《菜鳥學習自動化測試》系列,最近學python,所以想嘗試一下selenium的在python平台如何搭建;還好這方法的文章很容易,在此將搭建步驟整理分享。
搭建平台windows
准備工具如下:
-------------------------------------------------------------
下載python
-------------------------------------------------------------
如果你是新學python,哪果你沒有要用的包是必須依賴於pyhton2.x 的,那麼請毫不猶豫的選擇python3.5吧!
window安裝步驟:
1、下載python安裝。
又報了個錯:
Chromeversionmustbe>=27.0.1453.0 (Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)
說我chrome的版本沒有大於27.0.1453.0,這個好辦,更新到最新版本即可。
安裝IEdriver
在新版本的webdriver中,只有安裝了iedriver使用ie進行測試工作。
iedriver的下載地址在這里,記得根據自己機器的操作系統版本來下載相應的driver。
暫時還沒嘗試,應該和chrome的安裝方式類似。
記得配置IE的保護模式
如果要使用webdriver啟動IE的話,那麼就需要配置IE的保護模式了。
把IE里的保護模式都選上或都勾掉就可以了。
⑵ Selenium 和python是啥關系是否相關參考文檔
Selenium是一個軟體測試工具; python是一種面向對象、直譯式計算機程序設計語言.
Selenium分成Selenium IDE, Selenium RC (Remote Control), 和Selenium Grid. 他們都是基於Selenium Core的. 這里給你說說Selenium IDE和RC吧. Selenium IDE是Firefox的一個插件, 它可以錄制一系列的過程(比如google中輸入一個單詞, 點搜索按鈕,...,). Selenium IDE可以把這個過程錄制號, 並且轉化成多種語言, 比如:Java, C#, Perl, PHP, Python,等等吧.
那麼這時候我們就可以這些語言對應的編譯器(比如Java我們用ECLIPSE; C#用Visual Studio)把從Selenium IDE經過錄制, 得到並轉化好的程序代碼在這些編譯器里運行, 運行的時候, 程序會調用Selenium RC來實現對剛才這段過程錄制的遠程操作 (可以控制打開一個firefox或者IE的瀏覽器進行回放, 也就是測試的過程.
簡單地說就是 Selenium可以用python語言來調用它(Selenium RC)進行測試.
不知道我說明白了沒有.
⑶ 如何搭建Python3.4+Selenium
今天是第一次嘗試寫技術有關的流水文字,讀書時候,曾經寫過。時隔4年,再次拿起,將自學的,以及工作中遇到的有代表性的問題,在此記錄下來。同時敦促自己,堅持下去。
謝謝網友們的分享。在此 ,也將曾經遇到的各種問題,記錄在此。
下面開始在CSDN的第一篇文章:
System OS:Win7 (64位)
Python3.4(32位)
Chrome
詳細步驟:
1.下載32位的python3.4 ,安裝,注意在安裝過程中,選擇pip
2.添加系統環境變數
C:\Python34;C:\Python34\Scripts;C:\Program Files\Google\Chrome\Application(後面會用到)
3.使用pip命令,安裝selenium
cd Python34
然後輸入: pip install -U selenium
安裝成功後,顯示:
Runing setup.py install foe selenium
Successfully installed selenium-2.48.0
4.檢測selenium是否安裝成功。
在python的IDLE中,輸入:
from selenium import webdriver
如果沒有報錯,則selenium安裝成功。
5.開始第一個程序
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(「htu.com「)
driver.find_element_by_id(「kw」).send_keys(「自動化測試」)
按F5運行,然後會自動打開網路網頁。
能夠順利安裝,那是幸運的,但是更多時候,總因為各種原因導致安裝過程不太順利。
下面將安裝過程中遇到的問題,總結在此:
issue 1:
使用pip 命令安裝結束後,載入selenium模塊報錯。
from selenium import webdriver
報錯:
File 「pyshell#0」, line 1, in
import selenium
File 「C:\Python34\selenium.py」, line 1, in
from selenium import webdriver
ImportError: cannot import name 『webdriver』
Traceback (most recent call last):
File 「pyshell#0」, line 1, in
import selenium
File 「C:\Python34\selenium.py」, line 1, in
from selenium import webdriver
網路了很多方法,仍無解。
解決方法: 最後換了版本,將64位python3.4 改為32位的python3.4
再次重新安裝,成功。
issue 2:
使用browser=webdriver.Chorme() 報錯。
報錯:
Error message: 「』chromedriver』 executable needs to be available in the path」
這是因為缺少驅動:Chromedriver.exe
下載Chormedriver.exe
注意安裝Chromedriver.exe要與PC所安裝的Chrome版本匹配。
解決方法:下載安裝ChromeDrvier.exe 將ChromeDrvier.exe 放到C:\Python34\Scripts\
OVER
⑷ python selenium select選擇器
from selenium.webdriver.support.select import Select
select_by_value(value)
select_by_index(index)
select_by_visible_text(text)
selector = Select(driver.find_element_by_id("selectdemo"))
selector.select_by_index("2") # 通過index進行選擇,index從0開始
selector.select_by_value("210103") # 通過value屬性值進行選擇
selector.select_by_visible_text("籃球運動員") # 通過標簽顯示的text進行選擇
deselect_all() # 取消全選
deselect_by_value(value) # 通過value屬性取消選擇
deselect_by_index(index) # 通過index取消選擇
deselect_by_visible_text(text) # 通過text取消選擇
selector = driver.find_element_by_id("selectdemo")
selector.find_element_by_xpath("//option[@value='210103']").click()
driver.find_element_by_xpath(".//*[@id='selectdemo']/option[3]").click()
⑸ 關於Python selenium,無法使用,find_element求大神指點
題主你好,
首先來說你的代碼不能正確執行的最終原因是下面這兩個函數沒有正確調用,這兩個函數都是有參數的:
=====
希望可以幫到題主, 歡迎追問.
⑹ python和selenium怎麼判斷進度條
phython:
首先利用pip快速安裝第三方庫,tqdm
使用tqdm的函數之前需要導入qdm庫
在tqdm的應用中,直接在for結構上,添加一個tdqm()即可。
執行上一步的操作,就可以觀察到進度條。
selenium:
拿到瀏覽器滾動條的js代碼,然後執行,就可以看到進度條
.通過模擬鍵盤的形式去滾動屏幕,就可以看到進度條
其中通過 driver.execute_script()執行js代碼時,可以用兩個語法,語法:scrollBy(x,y)和語法:scrollBy(x,y
⑺ selenium python怎麼封裝方法
一、常用函數的封裝
在使用selenium做web自動化測試的過程中,經常會碰到各種各樣的問題,比如:
1、頁面載入比較慢時,selenium查找元素拋出異常,導致腳本運行中止
2、寫完腳本後發現代碼邏輯不夠清晰,維護困難,降低測試效率
所以很有必要對selenium進行封裝使框架更適合公司的需求,下面是基類的封裝,主要使用單例模式,可以將業務邏輯代碼存放在不同的Python文件中
註:BASE_URL為博客園的登錄地址
四、其他
按照此模式博友可根據公司具體的業務來實現自動化測試腳本,本文拋磚引玉,如有其他更好的想法可以一起探討
⑻ Python+selenium 怎麼定位自定義彈窗元素
首先要確定彈窗的類型。
彈出窗口基本上有如下三種實現方式:
(1)div彈窗
(2)新標簽頁彈窗
(3)alert彈窗
針對不同類型的彈窗,相應採取不同的定位措施。
由於不知問題中實際的彈窗類型,在此籠統說下:
1、div彈窗
對於此類彈窗,可以直接用find_element_by_...得到 div窗口中各元素,再進行操作即可,需要注意的一點是,需要等 div窗口元素載入完畢之後,再去獲取窗口中的元素。
2、新標簽頁彈窗
新標簽頁彈窗,則需要進行窗口的切換。從圖片看,問題中的彈窗應該不屬於此類彈窗。
3、alert彈窗
此類彈窗是由 js執行 alert、confirm、prompt等生成的彈窗,其應對方法是:
使用 switch_to.alert() 方法定位到 alert/confirm/prompt,然後使用text/accept/dismiss/send_keys 方法進行操作。
⑼ 前端是vue框架如何用python+selenium做自動化測試
你好,下面是一個簡單的python+selenium的例子:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www..com")
print(driver.title)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.close()
webdriver.Chrome():創建一個Chrome瀏覽器的webdriver實例
driver.get(「http://www..com「):打開」http://www..com「頁面
driver.find_element_by_id(「kw」).send_keys(「selenium」):找到id為「kw」的元素,在這個頁面上為網路首頁的搜索框,在其中輸入「selenium」
driver.find_element_by_id(「su」).click():找到id為「su」的元素並點擊,在這個頁面上為網路首頁的「網路一下」按鈕
driver.close():退出瀏覽器