一.基于http/https的接口
一般情況下,當前大多公司在做接口自動化的時候都會使用一些工具;比如:postman/jmeter/python自研開發接口平臺。。。
以上的情況,都是在源碼與測試使用分離的情況下實踐的。也就是說:目前國內還很少有存在google的類似崗位SET。
由于公司開發了一套測試框架是基于源碼實現的,那么就需要將其他接口工具內的腳本或者其他純腳本代碼移植都該框架內,框架與源碼是在同一個git。通俗的講:即測試是產品的一部分功能。
這點,google做的很好,參見《google測試之道》
?
二.實現方式基于curl
1.定義全局變量
ip:ip地址,以上為獲取本機ip
captcha:驗證碼初始化
mainHost:公共url?
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 進度條顯示當前的傳送狀態
?