shell 本地接口自动化

Posted Vsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 本地接口自动化相关的知识,希望对你有一定的参考价值。

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

 

以上是关于shell 本地接口自动化的主要内容,如果未能解决你的问题,请参考以下文章

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

nodejs常用代码片段

Flask 编写http接口api及接口自动化测试

Bash的变量类型