一.基於http/https的接口python
通常狀況下,當前大多公司在作接口自動化的時候都會使用一些工具;好比:postman/jmeter/python自研開發接口平臺。。。git
以上的狀況,都是在源碼與測試使用分離的狀況下實踐的。也就是說:目前國內還不多有存在google的相似崗位SET。chrome
因爲公司開發了一套測試框架是基於源碼實現的,那麼就須要將其餘接口工具內的腳本或者其餘純腳本代碼移植都該框架內,框架與源碼是在同一個git。通俗的講:即測試是產品的一部分功能。api
這點,google作的很好,參見《google測試之道》服務器
二.實現方式基於curlcookie
1.定義全局變量框架
ip:ip地址,以上爲獲取本機ipcurl
captcha:驗證碼初始化工具
mainHost:公共url post
chrome/ContentType/XRequestedWith:header部分,能夠適當增減
2.curl-post請求
a)獲取cookie
getLogin:登陸功能,並獲取cookie
hostApi:api 路徑
apiName:獲取api方法名
data:post請求的參數
expect:期待返回的值
成功:返回True
失敗:返回False
b)請求數據---結果正則匹配
$1:api路徑名
$2:post請求參數
$3:指望值---此爲正則匹配
c)請求數據---結果全值匹配
三.執行
四.結果保存文件
五.Curl常見參數
-A/--user-agent <string> 設置用戶代理髮送給服務器 -b/--cookie <name=string/file> cookie字符串或文件讀取位置 -c/--cookie-jar <file> 操做結束後把cookie寫入到這個文件中 -C/--continue-at <offset> 斷點續轉 -D/--dump-header <file> 把header信息寫入到該文件中 -e/--referer 來源網址 -f/--fail 鏈接失敗時不顯示http錯誤 -o/--output 把輸出寫到該文件中 -O/--remote-name 把輸出寫到該文件中,保留遠程文件的文件名 -r/--range <range> 檢索來自HTTP/1.1或FTP服務器字節範圍 -s/--silent 靜音模式。不輸出任何東西 -T/--upload-file <file> 上傳文件 -u/--user <user[:password]> 設置服務器的用戶和密碼 -w/--write-out [format] 什麼輸出完成後 -x/--proxy <host[:port]> 在給定的端口上使用HTTP代理 -#/--progress-bar 進度條顯示當前的傳送狀態