1. 程式人生 > 其它 >macaca,request,unitest,flask 框架介紹和理解

macaca,request,unitest,flask 框架介紹和理解

macaca,框架:
Macaca框架的理解
Macaca是阿里團隊做的一套自動化測試開源框架
Macaca框架將app和web的自動化合併到一起了。web瀏覽器、IOS、Android端都支援、web application也支援。
Macaca支援java、python、node.js等三種語言
Macaca與appium、selenium的區別:
實現原理本質上與selenium的webdriver是一樣的。appium也是使用的webdriver,只不過添加了一些app特別的屬性和操作。
都是使用W3C標準協議
要執行哪個終端的自動化,都需要事先安裝一個客戶端環境。
比如要執行安卓裝置app自動化,需要安裝好安卓自動化執行環境。
web端 - chrome瀏覽器,也需要事先安裝好chrome自動化環境 ,即chrome驅動和chrome瀏覽器。
由Macaca自己來啟動服務端,與appium的機制一樣。
客戶端支援:js、java、python. 客戶端與伺服器進行連線,併發送命令到驅動程式。Server-Client模式。
request,框架
request爬蟲自動化框架
一、HTTP協議
協議的組成部分:
request:請求地址,請求型別,請求引數,請求頭
response:協議狀態碼,響應頭,響應資料
請求型別:get,post,put,delete
請求頭需要攜帶:content-type、referer、cookie、user-agent
協議狀態碼:
400:請求頭不對
404:請求資源不存在
405:請求型別不對,不被允許
401和403:需要認證授權
資料格式:json、xml、表單
二、postman工具
collections集合:
1、可以批量執行集合裡面的測試用例
2、解決業務中的關聯問題
請求引數在body下寫,不同的資料格式在不同的的地方寫,
如果get請求方法有引數,需要在params下面寫
斷言在tests下面寫,包括:協議狀態碼、業務狀態碼,響應資料
表單上傳,newman
三、cookie、session、token的請求流程
cookie:
1、客戶端向服務端傳送請求
2、服務端相應回覆set-cookie管理使用的cookie
(服務端得到客戶端的請求後,在響應頭的set-cookie記錄下cookie並反饋給客戶端,客戶端將收到cookie資訊本地化,並儲存起來)
3、客戶端再次帶上伺服器返回給客戶端的cookie(客戶端再次傳送請求的時候,在請求頭新增cookie後傳送給服務端)
4、服務端找到對應的資訊返回給客戶端
(服務端接收到的cookie資訊與儲存在)
unitest框架:
1-什麼是UnitTest框架
概念:UnitTest框架是專門用來進行執行程式碼測試的框架
2-為什麼要使用UnitTest框架?
能夠組織多個用例去執行
提供豐富的斷言方法
提供豐富的日誌與測試結果
3-UnitTest核心要素
TestCase
TestSuite
TextTestRunner
Fixture
flask框架:
記錄請求使用的HTTP方法
  Flask 本身相當於一個核心,其他幾乎所有的功能都要用到擴充套件,都需要用第三方的擴充套件來實現,比如可以用 Flask 擴充套件加入ORM、窗體驗證工具,檔案上傳、身份驗證等。Flask 沒有預設使用的資料庫,你可以選擇 MySQL,也可以用 NoSQL。
  其 WSGI 工具箱採用 Werkzeug(路由模組),模板引擎則使用 Jinja2。這兩個也是 Flask 框架的核心。
Flask常用擴充套件包:
Flask-SQLalchemy:操作資料庫;
Flask-script:插入指令碼;
Flask-migrate:管理遷移資料庫;
Flask-Session:Session儲存方式指定;
Flask-WTF:表單;
Flask-Mail:郵件;
Flask-Bable:提供國際化和本地化支援,翻譯;
Flask-Login:認證使用者狀態;
Flask-OpenID:認證;
Flask-RESTful:開發REST API的工具;
Flask-Bootstrap:整合前端Twitter Bootstrap框架;
Flask-Moment:本地化日期和時間;
Flask-Admin:簡單而可擴充套件的管理介面的框架
中文文件(http://docs.jinkan.org/docs/flask/)
英文文件(http://flask.pocoo.org/docs/0.11/)
擴充套件列表:http://flask.pocoo.org/extensions/