乾貨|Python學習到什麼程度就可以進行自動化測試了呢?
關於自動化的學習,一直是大家關注的話題,那麼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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python自動化測試怎麼學?軟體測試進階Python自動化,收藏這篇文章就夠了Python
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 測試需要掌握演算法到什麼程度?演算法
- 使用PostMan進行自動化測試Postman
- 使用 PostMan 進行自動化測試Postman
- 你們測試介面做自動化的主要用於什麼目的呢?
- Flutter應用進行自動化測試Flutter
- 真的要進行介面測試自動化?
- ? python 介面自動化 (二)--什麼是介面測試、為什麼要做介面測試 (詳解)Python
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 用python進行應用程式自動化測試(uiautomation)PythonUI
- Python + requests + unittest + ddt 進行介面自動化測試的框架Python框架
- 為什麼要學習自動化測試?這篇文章告訴你答案
- Appium自動化(15) - 針對 webview 進行自動化測試APPWebView
- 深圳軟體測試學習:如何在Android手機上進行自動化測試【千鋒】Android
- Python學到什麼程度才可以去找工作?Python
- 使用 Headless Chrome 進行自動化測試Chrome
- 學習Python自動化能做什麼?Python程式語言Python
- 測開新手:從0到1,自動化測試接入Jenkins學習Jenkins
- 自動化測試落地為什麼那麼難
- 效能測試乾貨分享:JMeter如何使用Bean Shell進行引數化?JMeterBean
- python自動化測試Python
- 大佬答疑解惑丨進行Web自動化測試,為什麼總是定位不到元素?Web
- 從0到1學習介面自動化測試必備知識!
- 自動化測試與軟體測試有什麼區別?Python入門教程Python
- 新手如何開始學習自動化測試?
- 學習 java 做自動化測試相關Java
- 使用 Robot Framework 進行自動化視覺測試Framework視覺
- Android使用Espresso進行UI自動化測試AndroidEspressoUI
- 使用QTP進行非GUI的自動化測試QTGUI
- 【自動化測試入門】用Airtest - Selenium對Firefox進行自動化測試(0基礎也能學會)AIFirefox
- Java學到什麼程度才能叫精通?Java
- python 介面自動化測試Python
- 乾貨丨Python介面測試自動化實戰及程式碼示例:含get、post等方法Python
- 軟體自動化測試的作用有哪些?為什麼要選擇專業軟體測試公司進行?
- 單元測試效率優化:為什麼要對程式進行測試?測試有什麼好處?優化
- 自動化測試系列 —— UI自動化測試UI