做測試的同學們都了解,做Web自動化,我們主要用Selenium或者是QTP。
有的人可能就會說,我沒這個Java基礎,沒有Selenium基礎,能行嗎?測試雖然屬于計算機行業,但其實并不需要太深入的編程知識!
01、行業現狀
我們先看看目前的行業現狀:
?測試行業現在70%是以手工測試為主,那么只有20%是自動化測試,剩下的10%是性能測試。
有人可能會說,我現在做手工,我為什么要學自動化呢?我去學性能更好性能的人更少?
其實,性能的要求比自動化要求更高,那個是更高級別的了。
現在看一下手工測試工作,只有那么多,70%。但是每年的應屆生卻在增加。那么,你是想通過手工測試來挑戰高薪嗎?
根據國內普遍現象來看,手工測試的薪資沒有后兩者的高,這是不爭的事實,后兩者更具有難道和挑戰。
絕大多數的情況下啊,沒有絕對的啊,如果說你說你那個自動化剛工作的沒有,我這個手工測試工作了4 5年的,那當然沒有可比性。
那么如果說你的基礎不好,你又想改變這個現狀,那么你就只有學習或者培訓。
02、自動化測試入門實例
下面看幾個簡單的程序。這里打開eclipse,這是一個簡單的一個Java的一個程序啊,能夠打開一個網頁。
然后登錄,下單。它的流程是什么樣的,運行一下。
這里用的是Chrome瀏覽器,打開了Chrome瀏覽器,它會自動去登陸,然后以及跳轉到商品詳情頁進行一個下單。
?現在已經在登錄頁面進行登錄。登錄完了之后,自動跳轉到一個商品詳情頁,然后點擊立即購買,之后跳轉到確認訂單頁,然后直接跳轉到支付中心!
然后立即支付。
?支付完,那這樣的自動化腳本算是自動化嗎?
答案是肯定的,這是我們第一個版本,那我們再看看我們的第二個版本。
第二個版本是這樣的,就說我們把所有的操作啊都封裝好了,都封裝成每一個方法輸入,我們封裝成一個方法,選擇梳成一個方法,多選框也封裝成一個方法,那這樣的就算是自動化測試嗎?
答案肯定還是肯定的。
如果說你學到這個地步,那么我只能算說,你算入門了,那什么樣的才是真正的自動化測試呢?來我這里看一下,我這里打開了一個谷歌瀏覽器,打開了Chrome。
回過頭來看,那如果我們做自動化要做到這樣,那他應該是怎么去實現的呢?
首先我們要掌握我們這個自動化工程,必須要掌握自動化基礎。自動化基礎包括哪些東西呢?自動化用例的編寫以及Selenium的優勢以及原理,還有自動化環境的一個搭建。
03、Selenium基礎知識概要
當我們有自動化基礎的時候,我們就需要去掌握什么,掌握我們Selenum相關的知識,Selenum的一個基礎知識需要有哪些呢?如下圖:
?常見的8大元素定位,還有擴展的東西,比如說表格,還有什么常見元素的處理,比如說你要操作一個元素,你的element點擊輸入信息等等,還有下拉框元素的處理,不同窗口之間的切換,這些會運用的非常多。
還有元素的拼接,元素的進階,如果說當前頁面沒有出現什么元素,那如何才能出現,還有元素的一個等待。
那么當我們有Selenium基礎之后,我們是不是就應該是向著更高級的去發展,那怎么去發展,那么肯定是需求到框架。
當我們要做自動化測試工程師的時候,我們一定要明白一個道理,就是說我們肯定是首先要拿到自動化的一個需求,所以說拿到需求之后,我們要怎么到我們剛剛展現的這個框架的一個開發,那中間要經歷哪些途徑呢?來我們看一下。
04、自動化測試需求分析
(從需求出發到自動化)
如下圖,描述了自動化測試需要分析的基礎步驟:
?首先需求分析,需求分析完了之后要有一個用例設計,用例設計當然也包含了我們自動化用例的設計,如果說你連功能測試都做不好,那么我建議你可以先看一下自動化用例的一個設計,因為我們這個自動化用例設計和功能測試沒有太大的區別,但是他會更加的詳細,當我們有用例設計之后,我們是不是要看基礎腳本的開發了,因為我們已經掌握了Selenium基礎。
是不是要試著研究,怎么去開發到這一步,看不到任何的定位信息,我們把這一步學完之后呢,我們就干什么? 登陸和購物腳本的重構了,因為在整個的過程中,我們是做什么呢?我們拿一個登錄,購物這兩個流程來看。
一個登錄是1個簡單的例子,但是一個購物他就是一個非常復雜的一個流程,我們會把這兩個例子拿過來講那么。
這兩個例子呢,最開始都是有基礎腳本的,最后,通過腳本的重構,把這兩個腳本進行還原。最后呢,就是封裝讀取,配置文件,在做自動化的時候,如果說你不會讀取配置文件,那是不可能的,因為我們很多的操作都需要通過讀取配置文件來完成讀取配置完成之后呢,我們就可以去實現一個數據驅動。
當一個case失敗了,怎樣收集信息呢?很多情況下,測試用例失敗后,我們并不能準確知道哪里失敗了,這個時候就需要進行截圖,打印執行日志等,必要的時候甚至斷點調試。
總結
相比于手工測試,自動化測試具備一定的難度和挑戰性,但二者必然是一個相互結合的整體。對于想要在測試行業長遠發展的同學,自動化測試技能還是必不可少的。本文只是一個入門教程介紹,雖然自動化測試難度不大,但流程很長,門檻不高,但知識技能面豐富!
Python接口自動化測試零基礎入門到精通(2023最新版)