乾貨|Python學習到什麼程度就可以進行自動化測試了呢?

博為峰網校發表於2022-05-30

關於自動化的學習,一直是大家關注的話題,那麼Python學習到什麼程度就可以進行自動化測試了呢?下面結合我自身的學習歷程跟大家分享一下。加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

初識自動化

剛開始學自動化的時候,是跟著視訊課程學習的,當時學習完用Selenium進行指令碼錄製之後,就覺得自動化測試好簡單,錄製指令碼後回放指令碼就行了,所以學完錄製指令碼之後,就沒再往下繼續學習,使用Selenium指令碼錄製的功能進行指令碼的錄製回放。

結果可想而知,錄製指令碼時,一個滑鼠懸浮事件沒有錄製上,導致元素找不到,最終整個指令碼以失敗而告終。

因為隨著前臺開發技術的不斷更新換代,並不是所有的事件、操作都能使用Selenium自動錄製上,還需要我們手動處理。

定位元素

總結這次失敗的教訓,我繼續進行視訊課程的學習,學到了使用WebDriver去定位元素,之前使用Selenium錄製不到的滑鼠懸浮操作,用元素定位的方式也定位到了,指令碼能正常跑通。

學習完本章內容後,我使用現有的知識,寫了一個迴歸測試的指令碼,包含下單、新增使用者、發貨等功能,基本包含了系統的主要的功能流程。

但是在寫完這個指令碼後,我發現,目前掌握的知識只能滿足於這種簡單的流程測試,就像是下單的整個流程、發貨的整個流程,並不能滿足我們多樣化下單的需求。

比如說我這次下單要買紅色L碼,下次下單要買藍色S碼,如果使用我們現有的這種指令碼編寫方式,同一個功能,只是引數不同,我們需要重複寫這一段程式碼,有多少用例,就要重複多少次,不僅浪費時間,而且造成了程式碼的冗餘,而且還有引數寫錯的風險。

如果後期某個引數名改變,我們要把所有相關的引數名都改一遍,不利於後期程式碼的維護,人員成本也比較高。

自動化測試框架

接下來就進行了自動化測試框架的學習,將不同的頁面、初始化方法、功能模組等分開來寫,引入UnitTest進行測試用例的管理等等。引入UnitTest之後,上面提到的程式碼冗餘的問題就得到了解決。

因為UnitTest測試框架,把功能單獨寫一個方法裡,使用該方法時就進行方法的呼叫,如上述提到的下單的功能,先將功能寫成一個方法,然後將不同的引數值寫到測試用例集合中,每次執行測試用例,就呼叫下單的方法,只需更改引數,不需要重複編寫程式碼,這也解決了引數名更改導致的指令碼問題,只需要在下單方法裡修改引數名,並不需要在每個測試用例裡都修改一遍,節省了時間,也避免了修改不完全造成的遺漏。

問題定位及解決

當然我們應該還具備問題定位及解決的能力。因為在學習的過程中,我們完全是按照視訊教程上按部就班的操作的,所以基本上不會遇到什麼問題。

但是在實際的工作中應用的時候,網站是千變萬化的,難免會出現這樣那樣的問題,比如說教程裡只說了可以通過class進行元素的定位,但沒有說如果一個class有多個屬性名應該怎麼處理,比如我們如果直接把inputstyle password這兩個元素作為元素定位的標誌,實踐發現並不能定位到元素,從搜尋引擎搜尋才知道,這種的代表這個元素都多個class的屬性名,我們只需選擇其中一個名稱進行定位即可。

諸如此類的這種小知識一般在課程裡不會提到,但是是實際的工作中確實經常遇見的,所以我們還需要具備問題解決的能力,不能只侷限於教程上的知識,不然自動化測試是進行不下去的。

結語

學習到此,小編認為就可以嘗試進行自動化測試指令碼的編寫工作了。

當然,這只是基礎,學習是永無止境的,想要讓自己變得更優秀,讓自己寫的指令碼更好,我們要不斷的擴充套件自己的知識,學到這裡只是起點,後面我們還有很長的路要走。

但是也不能貪多,貪多嚼不爛,只是一味的學習但不應用到實際的工作中,學習的知識很快就會忘記了,而且學習和真正應用到工作也是不一樣的,因為在工作中我們會遇到各種各樣的在學習中未提及的知識點,需要我們不斷的去充實、鞏固當前已經掌握的知識,這樣才能將知識轉化為自己的所有物,並將其靈活運用。

最後:

可以到我的個人號:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2898025/,如需轉載,請註明出處,否則將追究法律責任。

相關文章