APPIUM+JAVA實現對安卓APK的自動化測試----第十五篇【參數化和對象化】

作者在百忙之中,抽出時間來和大家探討自動化項目的參數化和對象化問題,我想做自動化的少年們一定都用過QTP,沒用過的一邊涼快去,作者的自動化框架也是借用了QTP的思路,參數化使用EXCEL【.xls】文件(要對EXCEL文件操作需要導入JXL.JAR包),對象化使用JAVA【.properties】文件,至於如何操作這些和書寫代碼,少年們可以去網上自己找,太多了,作者就不多說了。

作者要說的的是,一開始用這個套路,勢如破竹,無往不利,但是到了項目維護階段,就發現開始有問題了,

1.作者的參數化是按照用例來劃分的,一個SHEET代表一條用例,一行代表一條數據,一列代表一個數據類型。

2.對象化也是按照用例來分的,一段屬性值代表一條用例中的對象值。

這樣劃分雖然思路簡單條理清晰,但是有個致命的問題,就是維護問題,當有數據需要修改就要打開EXCEL文件,並且數據量龐大時,作者一不小心就錯改或者誤刪除又或者是改了忘記保存等等的操作,記得改回來還好,不記了,就等着運行時候,痛苦的排錯,以及痛苦的核對數據。

再說說對象化,這個一條用例爲單位的劃分,一開始作者就一個properties文件,那個壯觀啊,茫茫的屬性,茫茫的找,而且有很多都是重複的,你肯能要說爲啥不合並,我只能說少年你先來一發,再來質疑作者,一開始這個問題作者就已經在考慮範圍之內了,如果合併光命名規則,和寫註釋就夠你喝一壺的了,在經過不知多多少少的不眠之夜後,作者才做出這樣的決定,但是最終的效果還是不佳。

經過好幾個月的實驗下來,作者已經被茫茫的維護工作折磨的快崩潰了,後來有一天沒事,作者閒來沒事,就買本SELENIUM的書看了看,瞬間頓悟了一些,作者目前的做法交之前的做法高級了許多,開始藉助數據庫來實現參數化和對象化,以前都是用線性的方式,現在使用切片的方式,以頁面爲單位,每個頁面都劃分爲參數化和對象化兩個表,這樣一來,所有的數據都可以藉助數據來統一管理,需要改數據或者查看數據,就寫SQL可以了,而且方便統計。

目前作者的做法,參數化還是採用用例爲單位的,還沒有轉到頁面,應爲那個設計要求很高而且不太容易實現,但是對於大型項目還是很有好處的,因爲這樣可以實現數據的拼裝,而且在作者還是一個小白的時候就聽到過,“某某某,那個這個頁面測試,用幾號數據來着的?”,當時還不懂,現在想想,我哩個天啊大原來我以前就已經和大內高手一起共事過了。然後對象化,作者已經以頁面爲單位來收集元素了,發現數據量較之前真的少了許多,而且查詢真心方便。

好了,作者關於【APPIUM+JAVA】所有的家當都已經告訴大家了,希望可以給大家一些思路,也希望可以擦出火花或者是共鳴,同志們,給點好評啊,給點贊啊。

嗯~作者現在在玩SELENIUM,如果有啥新的動向,也是還會發表文章的,在廢話幾句,作者原本是不會寫代碼所以做了測試,可是整着整着,都快變碼農了。所以在裝那啥一下,少年們找門適合自己的語言慢慢學,還是很有用的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章