零基礎如何學習自動化測試

在知乎開通了自動化測試專欄,想著第一篇文章放什麼好,忽然自己項目組下的測試人員有些急於求成,如何能一周內上手web UI自動化測試,不懂如何學習。

在學習自動化的時候總有人問些很低級的問題,有語法問題,有定位問題,居然連__init__.py文件名都弄錯誤,還有將pageage(包名) 命名為selenium、appium等導致無法引入對應相應庫。

寫個selenium腳本執行不成功拋出異常,跑來問,大哥這個怎麼又報錯了?異常類型提示NoSuchElementException,程序都告訴你沒有這樣的元素。

每遇到各種奇葩問題有時很無語,今天我就說下如何學習自動化?

一、編程語言基礎

要做好自動化測試,編程語言是基礎,是首要的。然而大部分測試人員不懂編程,也不想學編程,就直接上手自動化測試,錯誤頻出導致越做越沒有信心。

沒有編程基礎想學懂自動化很難,有多難,會編程的兩到三周就能上手自動化測試,不會編程就是你做了半年自動化你都沒入門。有些人會說:『selenium和QTP都有錄製功能,我錄製代碼就可以了。』我只能『呵呵』,你可以嘗試錄製幾個腳本的代碼,看看錄製的腳本能用多久。所以不懂編程絕對做不好自動化測試。

在學習selenium自動化語言的選擇,推薦python3,其次java,其他語言遇到問題很難找到資料。java語言學習時間成本太高,所以我建議你學習Python,Python簡單、容易理解,學習成本低,而且它夠強大,Python他能做的事情也永遠超乎你的想像,同樣的事情python實現方式更加簡單。

在學習Python時不要為了做自動化測試而學習Python,selenium只是python中的一個庫而已,Python他還有千千萬萬的庫,他能幫助你做各種各樣的事情,如requests庫,web能讓web介面自動化測試變得跟簡單

Python推薦學習資料:

1、如果你沒有語言基礎,推薦慕課網或者菜鳥教程的入門教程,兩個看一個就可以,上面的代碼必須動手一個一個敲。也有人說《笨辦法學Python》(自行搜索有電子版)將上面的例子每個敲十遍你就會了,還有《python核心編程》設計到方方面面,全而大可以挑選自己感興趣的內容學習。

零基礎學習內容,按流程你能更快掌握引領你入門(最好選擇python3):

基礎語法

基本數據類型

注釋

運算符

字元串處理(切片字元串連接轉義字元串運算字元串的多種引號區分常用函數)

數據結構(列表,元組,字典)

控制循環(if,for,while(可選))

函數

模塊的導入

OS模塊常用方法

文件讀寫(w,a,r 先這三種)

異常處理

正則表達式(可以延後)

json處理

config.ini文件讀寫

類的定義和單繼承(學好上面的兩個月後再看類,開始對類的理解會比較麻煩)

2、如果你有學過一門語言或者使用過1步驟1個月後,知道基本的數據結構和判斷、循環之類的,我推薦《Python簡明教程》 《Python核心編程》 兩者二選一就可以,自行百度。

能使用自動化,學到第一步就可以了,如果想更進一步通過第二步補充其他內容。

Python 入門教程 快捷門

有些文章的鏈接可能無法及時更新,請進入專欄 Python 入門教程

二、selenium學習

學習編程語言是自動化測試基礎的第一步,還需要補充下簡單的前端基礎知識:

HTML(網頁結構,各種標籤,如鏈接、輸入框、按鈕等使用哪個標記)

JavaScript(簡單了解)

Firebug或者chrome開發者工具的使用(必須會,他是最常用的)

在selenium學習前了解下selenium的原理,selenium操作瀏覽器需要依賴的驅動,驅動版本與瀏覽器版本也有對應關係,尤其是IE瀏覽器。

學習selenium最好用Python自帶的IDE工具,

selenium學習流程:

瀏覽器控制(打開網頁,最大化,關閉)

元素定位(優先id,name,link text其次class,partial link text,最後xpath)

操作元素(點擊,輸入,是否可見)

下拉框處理

等待時間(固定,顯性,隱性)

瀏覽器彈窗操作

frame的切換

瀏覽器頁簽的切換

js操作頁面元素

模擬滑鼠和鍵盤操作

相應文章已經在知乎專欄基本更新完成: 軟體自動化測試

三、unittest學習

學會了selenium還是不夠的,要對用例進行管理還要學會單元測試框架,Python有很多單元測試框架推薦unittest或者nose,兩者的資料都好找。

unittest可以簡單學習下基本結構,知道setUp,test_XX,tearDown的執行順序,批量用例執行,HTMLTestRunner測試報告,DDT數據驅動。

相應文章已經在知乎專欄基本更新完成: 軟體自動化測試

四、編寫自己的測試框架

學會了一、二、三步,恭喜你已經進入自動化測試的大門了,最後你要學會自動化測試的思想,自動化測試的流程,注意事項。

編寫自己的測試框架,框架需具備以下功能:常用的操作封裝、數據的管理、Html測試報告、用例的執行規劃等基本功能。

然後慢慢增加功能,可以對常用數據使用配置文件(configparser)、參數化(DDT)、記錄日誌(logging),腳本自動執行,自動發送報告,失敗用例重跑等,一個成熟自動化測試框架就搭建起來,你的Python技能也提高一大截。

2018年1月19日,第一次修改,修改語法錯誤,優化內容


推薦閱讀:

4.3 通過selenium 模擬瀏覽器抓取
mac下怎麼搭建selenium python環境?
python selenium 如何查看網頁的源代碼 ?
Pycharm—FileNotFoundError: [WinError 2] 系統找不到指定的文件?
爬蟲雜談(二)使用Selenium抓取動態網站

TAG:Selenium | 自动化测试 | 软件测试 |