1. 程式人生 > >關於selenium自動化測試資料的管理---測試用例管理---jxl,POI

關於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讀寫封裝是沒有特別大的意義的。具體的細節思路暫時保留!如果哪位同事有不同或者更好的見解請直接指出和批評。

標 準

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