
# 创建测试用例 $ vim case.frank url="https://httpbin.org" // 一个 POST 请求 POST /post Post json data header["Accept"] = "application/json" header["Content-Type"] = "application/json" json.key0 = "value0" json.key1 = "value1" list=[] list.push("value3") list.push("value4") json.key2 = list Response must(status==200) j = JSON.parse(body) myip = j.origin // 创建个新变量 // 一个 GET 请求 GET /etag/:myip Just a GET request query.key0 = myip // 使用之前创建的变量 Response must(status==200) # 运行测试用例 $ frank # 自动生成Markdown接口文档 $ frank -m > api.md case.frank 可兼容Javascript
1 fuckgfwfuckgfw OP 喜欢 Cli 工具的 Linux 和 MacOS 同学可以一叙 |
2 xlvecle 2017-11-23 11:00:34 +08:00 有没有和 curl 或者 httpie 的对比 |
3 fuckgfwfuckgfw OP 主要想哪方面的对比 |
4 xwhxbg 2017-11-23 11:14:08 +08:00 https://github.com/marcusolsson/tui-go/blob/master/example/http/screenshot.png 这个才叫类似 postman 吧。。。。你这还要写脚本呢 |
5 fuckgfwfuckgfw OP ### 一开测试 API,自己是写 curl 的 wrapper。 类似这样 api.sh ``` ... for((i=1;i<=$#;i++)) do a=$(eval echo \$$i) # method if [ $i -eq 1 ] then method=$a case $a in 'get') m='-G' ;; 'post') m='-X POST' ;; 'put') m='-X PUT' ;; 'delete') m='-X DELETE' ;; esac continue fi ... ``` 慢慢的发现还是不太方便 ### 于是就用 Postman MacOS Client 但是请求经常卡住,而且不太习惯 GUI 总得点来点去 ### 于是 Frank 就出现了 写一个文本,然后自动运行,check |
6 fuckgfwfuckgfw OP @xwhxbg You are right. |
7 0ZXYDDu796nVCFxq 2017-11-23 11:25:18 +08:00 感觉 Python + requests 封装一下,功能、便捷性、可扩展性都更好…… 命令行的话,还是写单元测试和回归测试比较靠谱 |
8 xionger 2017-11-23 11:30:50 +08:00 via Android JS 语法,不错 |
9 iyaozhen 2017-11-23 11:35:49 +08:00 via Android 这样的话有个问题,有些业务逻辑的接口不好写吧。比如接口间依赖,需要生成 token 啥的 |
10 iyaozhen 2017-11-23 11:37:07 +08:00 via Android |
11 fuckgfwfuckgfw OP @xwhxbg GUI 或者 这个 TUI, 还是 CLI, 看自己习惯吧 |
12 xionger 2017-11-23 12:35:28 +08:00 @iyaozhen 正在用,可以这样 POST /api/auth/code 登录发送验证码 header["Accept"] = "application/json" header["Content-Type"] = "application/json" json.Mobile = "+8613800138008" Response must(status==200) j = JSON.parse(body) _Token = j._Token POST /api/auth 登录 header["Accept"] = "application/json" header["Content-Type"] = "application/json" json.Mobile = "+8613800138008" json._Token = _Token json._Code = "1111" Response must(status==200) |
13 weakish 2017-11-23 12:53:48 +08:00 IntelliJ 也有类似的功能,还可以直接把请求什么的写文件,批量跑。 |
14 fuckgfwfuckgfw OP @weakish 嗯 属于 IDE。 这个算是给喜欢在纯命令行下工作的同学一个选择吧。 |
15 fuckgfwfuckgfw OP |
16 fuckgfwfuckgfw OP |