一.基于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 进度条显示当前的传送状态