當前位置:首頁 » 網頁前端 » pythonselenium腳本測試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

pythonselenium腳本測試

發布時間: 2022-12-06 05:42:05

Ⅰ 如何用python和selenium寫自動化腳本語言

一開始,基本上很多人都是用selenium IDE錄制腳本開始的,我也是!有一本書寫得很不錯:selenium初學者指南!So,從錄制回放開始我的selenium,而在這個過程中,不斷地去補充我的html css知識,熟悉selenium的api!

慢慢地,發現錄制的腳本在回放的時候經常報錯,通過檢查發現,是定位上的錯誤,導致這種定位的錯誤的最大原因是系統前端採用了某種框架,如tigerUI,exj....所以HTML裡面的標簽很多都是動態的,比如id,class,name!這對selenium操作定位的元素而進行自動化來說是致命傷!

所以,開始自己寫定位信息,這已經是必須的了!從而學習了xpth和css選擇器,掌握了更加有效,快速和穩定地定位頁面上的元素(定位的時候難免會碰到有iframe,這就得先切換到iframe中再進行定位了)!也就是,在selenium IDE上寫腳本!

信心滿滿地在selenium IDE上寫了長長地一段腳本,並且反復跑都能成功!總算嘗到了一點點幸福的滋味!然後呢,問題來了,當我要修改和擴展這段的腳本的時候,才發現這效率是相當地低!一句句查!一句句改!多麼痛的領悟!

另外,selenium IDE 默認啟動的是火狐,在使用selenium RC 啟動 IE 進行跑腳本時瀏覽器總是會報錯!各種搞不定,各種不淡定!決定放棄使用IDE!

selenium有一個強大之處就是支持多種語方:java,C#,python等等,並且可以把錄制的腳本轉換成代碼!我用的是java,果斷走起!

不用說,當然是把腳本轉為java代碼了,在E www.hbbz08.com clipse中重新開始搞!

選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我就用junit驗證selenium腳本的運行結果!並且,Junit和TestNG都可以生成比較直觀的測試報告!

寫好一些代碼,會看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之後代碼看著就舒服多了!

接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!

Ⅱ 如何搭建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里的保護模式都選上或都勾掉就可以了。

Ⅲ python+selenium+behave自動化測試如何生成html測試報告

使用python的單元測試框架,可以建立測試類,構造測試集。 測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。

Ⅳ python+selenium 在執行測試腳本時,遇到錯誤如何能繼續執行下去而不停止

(1)遇到錯誤繼續執行需要做好異常處理就好了
(2)定位元素有時成功有時失敗,可能由於網路不穩定,元素沒有載入出來,腳本就去找這個元素,那肯定會失敗的,你可以試下用顯示等待,等頁面全部載入出來後,再進行定位元素操作

Ⅳ python寫的selenium測試腳本,run.py文件引測試腳本怎麼批量引入

獲取以test開頭,以.py結尾的測試用例create_suite

生產測試報告eport_design

#coding=utf-8

fromemail.headerimportHeader

fromemail.mime.textimportMIMEText

importsmtplib

importunittest

importtime

importsys

#reload(sys)

#sys.setdefaultencoding('utf-8')

defcreate_suite():

#1.獲取框架中腳本的位置

script_dir="..Script\add"

#2.獲取要運行的腳本--discover

discv=unittest.defaultTestLoader.discover(script_dir,pattern="test_add_*.py")

#3.講獲取的腳本加入到測試集合

#創建一個測試集合

suite=unittest.TestSuite()

#循環遍歷discv列表中腳本的名字,並加入到suite中

forcaseindiscv:

#printcase

suite.addTest(case)

#講測試集返回

returnsuite

defreport_design():

globalfilename,runner,file1

now=time.strftime("%Y-%m-%d%H-%M-%S")

filename=".\Ggpt\add\"+now+"result.html"

file1=open(filename,'wb+')#wb+二進制寫入方式

#stream報告文件title標題description

runner=HTMLTestRunner(stream=file1,title="selenium_test_report",description="用例執行情況")

Ⅵ selenium webdriver 執行測試常見問題

  1. selenium中如何保證操作元素的成功率?

  2. 如何提高selenium腳本的執行速度?

  3. 用例在運行過程中經常會出現不穩定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩定性?

  4. 你的自動化用例的執行策略是什麼?

Ⅶ 如何在python中使用selenium

下載python版本的python包,放入到python的lib下面,然後下載selenium的jar。

啟動使用Java -jar selenium-server-standalone-2.0b3.jar
測試例子:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox() # Get local session of firefox
browser.get("") # Load page
assert "Yahoo!" in browser.title
elem = browser.find_element_by_name("p") # Find the query box
elem.send_keys("seleniumhq" + Keys.RETURN)
time.sleep(0.2) # Let the page load, will be added to the API
try:
browser.find_element_by_xpath("//a[contains(@href,'')]")
except NoSuchElementException:
assert 0, "can't find seleniumhq"
browser.close()

運行的結果是打開雅虎瀏覽器搜素seleniuhq,然後查找

Selenium (SeleniumHQ) 是 thoughtworks公司的一個集成測試的強大工具。
一、Selenium 的版本
Selenium 現在存在2個版本,一個叫 selenium-core, 一個叫selenium-rc 。
selenium-core 是使用HTML的方式來編寫測試腳本,你也可以使用 Selenium-IDE來錄制腳本,但是目前Selenium-IDE只有 FireFox 版本。
Selenium-RC 是 selenium-remote control 縮寫,是使用具體的語言來編寫測試類。
selenium-rc 支持的語言非常多,這里我們著重關注java的方式。這里講的也主要是 selenium-rc,因為個人還是喜歡這種方式.
下圖是Selenium IDE的運行界面截圖:

Ⅷ selenium自動化測試中,python腳本無法操作網頁頁面元素!

這個讀不了網頁元素,是因為你的網頁都沒有打開!它怎麼去讀取元素。建議用chrome來做這些頁面操作,會比較好用,沒有這么多問題,IE和Firefox對這個webdriver支持不太好,會有很多問題!