大家好,我是阿萨。 最近在学习 Cypress。刚学会了如何使用Crypress 写API 脚本。 赶紧动手写了 三个数据相关的接口:读取数据,保存数据,删除数据。
写完后兴冲冲地 用Runner 运行了一下。三个接口中有2个失败,只有一个成功。2个失败的接口都是状态码成功,但是数据校验点均失败。
因为状态码成功,说明接口请求URL是对的。校验数据失败,说明是参数失败。在结合给出的接口返回请求内容,初步怀疑如下:
- 接口返回值提示没有权限操作资源。说明权限有问题。
- 参数body 内容有异常情况
- Header中存在漏掉或者少的情况。
使用高级权限用户运行,依然报错,说明不是鉴权问题。
自己把Crypress 执行log 里的URL,body 以及参数compose 后发给服务器,返回不正确。抓包 重放一切正常。
比较compose 结果和抓包结果的curl,结果发现参数中 body 少了[]。因为sample 里的body 都是{}开头. 而我的接口恰好是[] 开头。 参考sample code 写的json 以及用例,就失败了。
通过这个调查过程学到了几个新知识:json [] 是数组。{} 是对象。
还学会了 使用json 把环境变量,header,body,URL path 都写到json 文件中的写法了。这个bug 调查得真值。给阿萨点个赞。
我是阿萨。一个爱分享的互联网人。为你分享软件测试领域,质量管理,职场等等相关知识。