天天看點

關于selenium自動化測試資料的管理---測試用例管理---jxl,POI

selenium 多數被應用于功能測試(冒煙測試)、流程測試、回歸測試,這裡要說的就是在執行這些測試的時候,測試用例的管理問題。

        常見的黑盒測試方法分為:邊界值分析、等價類劃分、因果圖、錯誤推測。。。這裡不都一一舉例,作者有一篇文章裡畫了一張圖,是專門詳解常用的測試方法的。總之,為了完成測試效果和目的,會有很多很多的測試用例産生,面對我們的業務進行測試的時候,為了不斷的增加測試用例的覆寫率,這個時候,對于測試用例的管理就成為一個比較重要的問題。如何讓自動化測試平台智能讀取測試用例的相關資料,然後進行相應的自動化測試,并且測試用例的資料來源可以友善的修改和增加,這個時候如果沒有一個完整的自動化測試管理系統平台,這個時候作者的這個小方法就可以試用。因為要考慮到一些手動測人員不懂自動化代碼,是以,這時候将測試用例與自動化測試代碼完全分離的形式進行,此時采用了excel檔案來儲存測試用例的資料。目前excel檔案包含了兩種檔案格式:一種是.xls,另一種是.xlsx。是以這裡也封裝的兩種不同的方法去解決這一問題。

       針對于97版本之前的.xls格式的excel檔案,這裡提供了2種常用的操作方法:1.使用jxl(javaexcelapi) 2.使用poi的hssf之是以提供了2種方式,是因為就作者目前整理的代碼來看,各有一些優勢,然後代碼不足另當别論。jxl隻能針對97版本之前的excel檔案進行操作,在其api中提供findcell的方法極為友善查找和定位。poi則是一個對office操作的完整封裝,這裡說的hssf就是poi的一種實作,它也是操作.xls檔案的一套成熟api。hssf提供兩種類型的操作,一種是eventmodel,另一種是usermodel,eventmodel是采用sax方式解析,屬于streaming類型的加載,在cpu和memory上占用都比較低,算是比較節省資源的,但是其隻支援讀操作。usermodel則是采用dom方式加載檔案,也就是說它是把整個檔案都加載到記憶體(in

memory tree)中,然後進行操作,這樣做的優勢是效率比較高,但是也相對耗費資源,這種方法對讀寫操作都支援。其特色是:create sheet/row/cell操作、styling cells操作、delete sheets/cells/rows、shift rows、cloning sheets、formula evaluation、cell comments、pictures操作。

      對于.xlsx檔案的操作,poi也給予了xssf sxssf兩種方式的實作,xssf的eventmodel也是和hssf的eventmodel相同的,都是采用了sax方式讀取,并且也是隻能進行讀操作,不能進行其它操作,它對cpu&memory的占用也是相對比較低的,xssf的usermodel也是in memory tree的方式,同樣支援讀寫操作和features。在xssf中,poi又提供了一種擴充,即sxssf:它是采用buffer

streaming的方式,但是這種方法不提供讀的操作,其隻能進行create sheet/row/cell操作、styling cells操作、pictures操作。它對cpu和memory的開銷還是比較低的。

          說了這麼上述的這麼多方法,現在轉回來,為什麼要用excel?因為excel比較友善,對于不懂自動化測試代碼的人員,可以直接在excel中編寫測試用例,修改測試資料,然後由程式去自動的執行測試,對于測試的維護成本還是相對比較低的,還有一個選擇excel的原因就是作者在生成測試用例資料的時候,常會依賴于一些測試工具,這些測試工具對于生成的資料導出時,多數支援excel格式,這樣更友善于測試,節省時間。junit和testng都提供了注解的方式進行參數測試自動化,是以這也是比較友善的一點。

            這裡就不共享代碼了,如果有朋友想要的話,可以直接加我qq,還是保留一點,其實文章寫的隻是簡單的一點點思路,具體的邏輯和想法,沒有完全的寫出來,隻有把這些想法靈活的運用起來才是最關鍵的,不結合實際情況,這些簡單的excel讀寫封裝是沒有特别大的意義的。具體的細節思路暫時保留!如果哪位同僚有不同或者更好的見解請直接指出和批評。

标 準

選擇朋友是結交之前要辦的第一件事.選擇朋友的标準是什麼?當然是與志向遠大的人交友,與興趣相投的人交友,與見識廣博的人交友,與正直的人交友,與誠信的人交友.近朱者赤,近墨者黑.交上益友,一生幸福;交上損友,一生禍害.

繼續閱讀