在Jmeter中使用Selenium WebDriver完成測試
引子
以下內容選自《小強軟體測試瘋狂講義》一書,本書第一批已經全部賣完了,第二批下個星期會上架,現在購買的童鞋可以去噹噹,目前還有一些余貨(搜索本書名即可)
正文
首先不得不感嘆Jmeter的日漸強大,尤其是其插件。之前我們講解過,Jmeter可以完成性能測試、介面測試,而這次它居然可以依靠WebDriver來完成GUI的功能自動化測試了。
下面我們就以打開我的博客地址首頁為例進行講解,大致的實現步驟如下:
1)下載JMeterPlugins-WebDriver-1.3.1.zip,解壓之後把lib目錄下的所有jar文件和lib/ext目錄下的JMeterPlugins-WebDriver.jar文件分別拷貝到本地Jmeter安裝目錄下的lib目錄中和lib/ext目錄中。
2)進入本地Jmeter安裝目錄下的lib目錄中,把httpclient、httpcore、httpmime三個jar包較低版本的刪除掉,只保留較高版本的。
3)啟動Jmeter,可以看到圖3.38中配置元件中新增了幾個Driver Config。
圖3.38配置元件
4)新建jp@gc - Firefox Driver Config,配置如圖3.39所示。
圖3.39 jp@gc - Firefox Driver Config
5)新建jp@gc - WebDriver Sampler,編寫如下代碼:
//測試代碼開始,需要測試的業務放在start和end之間即可。
WDS.sampleResult.sampleStart()
try{
//打開博客首頁
//測試代碼結束
WDS.sampleResult.sampleEnd()
}catch(x){
WDS.sampleResult.sampleEnd()
//設置為結果失敗
WDS.sampleResult.setSuccessful(false)
//返回信息設置為-_- sorry
WDS.sampleResult.setResponseMessage( -_- sorry )
}
6)新建查看結果樹和用表格查看結果。
7)運行Jmeter腳本,可以看到會自動調用火狐瀏覽器並模擬操作。最終運行結果如圖3.40所示。
圖3.40運行結果
以上是最簡單的使用,算是一個嘗鮮吧,其中WebDriver Sampler中代碼編寫可以擴展,和你編寫WebDriver一樣,可以利用By.id,By.cssSelector等方法進行元素的定位並操作,類似如下代碼:
WDS.browser.findElement(pkg.By.id( what )).sendKeys([ xiaoqiang ])
感興趣的朋友可以到官網查看詳細的示例代碼,地址:
http://jmeter-plugins.org/wiki/WebDriverSampler/。
TAG:小強軟體測試與脫口秀 |
※Avaya完成對Spoken Communications的收購
※未完成的傑作 The Unfinished Masterpiece
※VR運動模擬器Feel Three登陸Kickstarter,5小時完成
※復星集團完成對Guide Investimentos的收購
※在Haswell、Broadwell後,Intel完成對Skylake重啟的修復
※Microchip宣布完成對Microsemi的收購
※VR運動模擬器Feel Three登陸Kickstarter,5小時完成眾籌目標
※Done is better than perfect.-完成比完美更重要
※NetBooster Asia與Artefact完成併購,致力於加強區域布局
※DheeYantra Research Labs完成種子輪融資
※「APAX Recreation」 完成1億元A輪融資,將在3年內落地6家「Discovery Adventures Park」
※VR視覺小說遊戲Tokyo Chronos成功完成Kickstarter眾籌
※Clarke完成1,000萬美元風投融資,由Saudi Aramco Energy Ventures領投,Chevron參投
※jQuery UI 實例-自動完成(Autocomplete)
※Ventureum Inc.完成數百萬元天使輪融資,Genesis Financial投資
※幣安Binance宣布完成收購移動錢包 Trust Wallet
※Chargebee完成C輪融資,獲Insight Venture Partners 1,800萬美元投資
※完成度接近正式版,Google 推送 Android P Beta 3
※宏碁&Starbreeze合資企業StarVR正式完成台灣上市申請
※Coindesk也要發幣?|EOS矽谷測試網路完成搭建|Telegram放棄ICO計劃