Cypress接口自动化5-接口驱动化数据保存json中
- 2021-09-28 14:00:00
- wencheng
- 转贴:
- 微信公众号
- 4372
前言
数据通过json
文件管理
/** * Create by dell on 2021/4/9 * Author :wencheng * describe : * */ // 导入数据文件 example.json,并保存在 testData 变量中 import testDatas from '../data/example.json' describe('接口数据驱动化', function () { beforeEach("获取token", function () { cy.token() }) //遍历case for (const data in testDatas) { it(`${testDatas[data].casename}`, function () { //获取token var token = sessionStorage.getItem("Token") var url = testDatas[data].url var method = testDatas[data].method var header = testDatas[data].headers var body = testDatas[data].body var status_code = testDatas[data].status_code var header = JSON.stringify(header) var body = JSON.stringify(body) //发送请求 cy.requests2(url, method, header, body, token, status_code) }); } })二次封装请求
//封装http请求 Cypress.Commands.add("requests2", function (url, method, header, body, token, status_code) { cy.log('测试地址: ' + url) cy.log('请求参数: ' + body) cy.log('请求方法: ' + method) cy.log('请求头部: ' + header) var headers = JSON.parse(header.replace('token', token)) if (method.toUpperCase() == "GET") { cy.request({ url: url, method: method, headers: headers, body: body }).then(function (resp) { cy.log("返回结果:" + JSON.stringify(resp.body)) expect(resp.status).to.eq(status_code) }) } else if (method.toUpperCase() == "POST") { var randomName = require("chinese-random-name"); var randomname = randomName.names.get3() var bodys = body.replace('randomname', randomname) var body = JSON.parse(bodys) cy.request({ url: url, method: method, headers: headers, body: body }).then(function (resp) { cy.log("返回结果:" + JSON.stringify(resp.body)) expect(resp.status).to.eq(status_code) }) } })
json
数据[ { "casename": "获取配置列表信息", "url": "/configures/", "method": "GET", "headers": { "Content-Type": "application/json", "authorization": "JWT token" }, "body": "", "status_code": 200 }, { "casename": "获取项目(多个)列表数据", "url": "/projects/", "method": "GET", "headers": { "Content-Type": "application/json", "authorization": "JWT token" }, "body": "", "status_code": 200 }, { "casename": "返回所有项目ID和名称", "url": "/projects/names/", "method": "GET", "headers": { "Content-Type": "application/json", "authorization": "JWT token" }, "body": "", "status_code": 200 }, { "casename": "创建项目", "url": "/projects/", "method": "POST", "headers": { "Content-Type": "application/json", "authorization": "JWT token" }, "body": {"name": "randomname", "leader": "张三", "tester": "李四","programmer": "王五", "publish_app": "测测测", "desc": "randomdesc"}, "status_code": 201 } ]运行结果
发表评论
联系我们
- 联系人:阿道
- 联系方式: 17762006160
- 地址:青岛市黄岛区长江西路118号青铁广场18楼