最近有幾個小伙伴在后台給安靜私信說,如何學習自動化,不知道如何入手?在網上看的資料都是亂七八糟的,每天這學習一點,那里學習一點,到最后什么都沒有學會。安靜自己也簡單的總結了一點內容,分享給大家
測試基礎
要想學習自動化方面的內容,肯定需要了解到一些測試基礎,如果測試基礎都不是了解,如何進行書寫自動化測試用例,以及設計自己的自動化框架內容
1、熟悉測試內容。
2、熟悉各個場景的測試點,以及測試方法
3、熟悉各個測試類型。
4、了解哪些用例可以實現自動化,哪些用例不可以實現自動化。(成本方面)
Python基礎
想要學習自動化,首先需要選擇一本代碼語言,對於我們測試來說,語言基本上都是從Java和Python來選擇了,安靜以前學習了java的簡單基礎,了解到了Python后,就放棄了Java,為什么呢?因為個人覺得Python比較簡單,更適合於測試來用,方便我們輔助來完成測試內容(注:沒有說那個語言好,那個語言不好,勿噴!)
1、數據類型:字符串,列表,字典,元祖,布爾值
2、運算符:算法運算符,比較運算符,邏輯運算符
3、條件語句:判斷語句
4、循環語句:for,while
5、文件操作:with,csv,xlwt
6、函數應用:函數內容,傳參,返回值
7、類和對象:類的實例化,類的繼承
8、模塊:模塊的分類,如何導入模塊
9、異常處理:try....except
selenium
對於web自動化來說,安靜這里首選的就是selenium框架,為什么呢?因為安靜只會這一種。對於目前新出現的Cypress,通過JS語言來實現web自動化測試的,目前安靜還沒有學習過。對於我們來說,肯定是哪一種方便就使用哪一種
1、環境准備:安裝瀏覽器驅動,以及安裝selenium庫。
2、定位元素:id,name,class,xpath,css
3、等待方法:強制等待,顯式等待,隱式等待
4、瀏覽器操作方法:最大化,刷新,后退,前進,輸入,退出等
5、應用操作:表單切換,彈出框操作,下拉框操作,勾選框操作。
6、鼠標操作:點擊,雙擊,拖動,長按
7、鍵盤操作:組合鍵,單鍵
8、文件操作:文件上傳,文件下載
9、JS語法操作:js點擊,修改頁面元素信息
10、多線程:操作多個瀏覽器執行用例
appium
對於app自動化來說,目前最最最流行的也就是appium了。
1、環境准備:安裝JDK,android_sdk,appium客戶端或者命令行
2、app簡單操作:打開,關閉,截屏,返回,退出,滑動
3、adb命令:多用來輔助進行測試
4、元素定位:id,xpath,class,name,text,css等
5、Monkey:多用來進行壓力測試。
6、原生頁面和H5頁面:判斷H5頁面和原生頁面,操作H5頁面
7、操作手機按鍵:相當於模擬手機按鍵
8、等待時間:和selenium一樣的三種
9、多線程:多線程啟動多個手機
requests
requests多用來進行接口之間的交互,也用於我們的接口自動化操作。
1、環境准備:安裝python,requests
2、請求方式:get,post
3、參數關聯:上一個接口的返回用到下一個接口的請求中
4、session:session關聯登陸
5、狀態碼:重定向
6、多種數據類型:data,json,xml
7、文件操作:上傳文件,下載文件
8、超時處理:請求超時異常處理
9、加密接口:請求加密接口
unittest
以上內容呢,主要是自動化中對應的方法,那么這個時候到了框架的選擇了,目前市場上隨隨便便都能說出來幾個框架,框架的選擇也是新手同學們的一個困擾。既然選擇了python語言,安靜就用了通過unittest單元測試框架和pytest框架,目前來說pytest框架更加簡單方便,更適合我們做測試,(安靜這里pytest只是會一點,先不做太多介紹,后期進行補充)
1、unittest整體內容:前置,用例,后置
2、unittest使用方法:測試集,測試用例,測試套件
3、斷言:通過斷言來判斷用例是否成功和通過
4、執行方法:單個執行,執行順序,全部執行
5、跳過用例:通過裝飾器的方法進行跳過用例
6、報告結果:unittest自帶的沒有html報告輸出,需要插件HTMLTestRunner的幫助
7、數據驅動:ddt
安靜簡單的列出來一些自動化中需要用到的知識和內容,可能會有遺漏,大家可以進行下方留言進行補充。
安靜也整理了一些測試資料來幫助我們學習,大家可以進行關注個人公眾號,回復內容進行獲取。