selenium腳本
『壹』 怎樣開始用selenium進行自動化測試
作為一個之前沒接觸過selenium的新手來說,如果之前有過寫代碼的經驗,那麼學習起來就會更加快速!但無論如何,開始總是比較難的!
我也是從一個接近純24K小白成長起來的,一步一個腳印,在這個過程中我學習到了很多新的知識,有了新的突破,新的成長,不斷地努力,不斷地嘗試,不斷地總結經驗,讓我一直走到了今天,未來,還有很多路要走!義無反顧,我的測試之路!
所以,今天抽空回顧一下我的selenium學習過程,也就是,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代碼了,在Eclipse中重新開始搞!
選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我就用junit驗證selenium腳本的運行結果!並且,Junit和TestNG都可以生成比較直觀的測試報告!
寫好一些代碼,會看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之後代碼看著就舒服多了!
接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!
到這里,腳本寫出來了,常用的api封裝起來了,定位路徑分離出來了!整個代碼簡潔多了!寫起來容易和舒服多了!這時候,該個性化定製一下自己的框架了,這里,就暫時不寫下去了,已經離怎樣開始selenium挺遠的了!或許,到了這一步,你早就有自己對測試框架的想法和對腳本的設計方法了。。。。加油吧,把想法化為實際的動力,繼續向前!
『貳』 selenium腳本中怎麼定位
該selenium的學習我是根據java語言來進行的,所以很多語法都是根據java而來的。
很多時候我們都在與頁面打交道,這樣或多或少的應該對html代碼有一點了解。html 也就是所說的超文本標記語言,利用一些標簽的集合來搭建整個頁面。
每一個標簽都會有自己的屬性,現在的對象定位也就是根據其中的屬性進行獲取的。
<div id="header">
<h1>Main Title of Web Page</h1>
</div>
在很多頁面中都包含id屬性,如何獲取由id定義的內容呢?
WebDriver dr=new FirefoxDriver();//這里使用的是火狐瀏覽器
dr.findElement(By.id("header"));這樣就可以獲取上面的<div>盒子了
以網路經驗首頁html代碼為例:
<a target="_blank" href="http://jingyan..com/list/17">手機</a>
此代碼顯示的為一個鏈接,那麼怎麼獲取該鏈接呢?
WebElement link=dr.findElement(By.linkText(「手機」));這里根據link標簽名獲取內容,並且返回的是一個類型為WebElement的元素
WebElement paLink=dr.findElement(By.partialLinkText(「link前幾個字母」));此命令是根據標簽的前幾個字實現的匹配
很多頁面都會使用css進行頁面的控制,那麼怎麼使用css進行獲取頁面內容呢?
WebElement d=dr.findElement(By.cssSelector(「css名稱」))
有的頁面中獲取不了以上的特殊信息的時候,可以根據xpath獲取唯一的控制項標識
dr.findElement(By.xpath(「xpath」)).click();//click事件的使用時因為該xpath所標志的為按鈕事件
還有一些是根據標簽名進行獲取的
String s=dr.findElement(By.tagName(「tagName」)).getAttribute(「class」)
tagName也就是控制項名稱,比如input
大體上以上獲取的方法基本包括了頁面上所有能夠獲取到的信息,不管一個html頁面中有多少種控制項組合而成,其屬性基本都是以上幾種,只要結合使用以上信息,就能夠完成整個頁面的信息獲取。
『叄』 用java怎麼編寫selenium腳本
1、control-1.0.1-dist.zip。 解壓。
2. 用命令行來到解壓的文件夾下: selenium-remote-control-0.9.2selenium-server-0.9.2
3. 運行: java -jar selenium-server.jar 啟動selenium server (務必啟動!!)
4. 在Eclipse創建一個項目,在項目的build path裡面加上junit.jar和selenium-java-client-driver.jar(這個在剛解壓的包裡面)
5. 先利用firefox selenium IDE來錄制檢測頁面檢測功能用的junit代碼。
6. 在項目裡面新建一個class(junit用例):將上面的junit代碼帖於此。
7. 根據eclipse的錯誤提示來增加相應要import的類
8. 在進行測試前,最好將對應瀏覽器關閉,否則容易出錯。
9. 然後在Eclipse里運行 「Run As -> unit Test」即可看到自動化的範例.
10.運行期間,會彈出ie窗口,自動進 行操作測試。檢測完後,若junit顯示為「綠色」則表示成功。
『肆』 selenium腳本,現在在做smoketest
貼selenium腳本來看看.
『伍』 求一個完整的用java寫的selenium腳本。
你要哪個客戶端版本的腳本? Junit3 / Junit4 / WebDriver?
其實你用Firefox的Selenium IDE插件錄制腳本, 然後轉化成需要的java腳本即可.
『陸』 怎樣開始寫第一個基於python的selenium腳本
怎樣開始寫第一個基於python的selenium腳本
解答如下:
首先打開txt文件,使用open(txtName),進行一行一行的讀;
如果需要的話,對每行的數據進行解析;
導入xlrd,xlwt進行excel讀寫;
大致代碼如下:
import xlrd,xlwt
txtName=r"C:\value.txt"
workbook = xlwt.Workbook(encoding = 'ascii')
worksheet = workbook.add_sheet('sheet1')
fp=open(txtName)
for linea in fp.readlines():
worksheet.write(0, 0, label = linea)
workbook.save('Excel_Workbook.xls')
fp.close()
『柒』 使用selenium IED自動化腳本,以及怎麼導出腳本
一開始,基本上很多人都是用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 clipse中重新開始搞!
選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我就用junit驗證selenium腳本的運行結果!並且,Junit和TestNG都可以生成比較直觀的測試報告!
寫好一些代碼,會看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之後代碼看著就舒服多了!
接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!
『捌』 如何利用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封裝起來!封裝好之後代碼看著就舒服多了!
接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!
『玖』 selenium腳本IE 游覽器 啟動
已經new好了WebDriver oWebDriver = new InternetExplorerDriver(ieCapabilities);
為什麼還要WebDriver driver = new InternetExplorerDriver();