接口测试课程2

📅 发布时间:2026/7/16 5:40:29
接口测试课程2 接口测试流程1.接口用例设计与评审- 2.接口调试- 3.接口测试- 4.回归测试- 5.缺陷跟踪- 6测试总结单接口用例设计有参数的接口要充分考虑到有什么输入规则还要在这些规则的基础上划分出正向场景和逆向场景提取测试点再根据提取的测试点排列组合——分成正向的组合和逆向组合其中逆向组合每条只取一个逆向场景。最后根据获得的组合完成接口测试用例的编写。原则正向——一条测试用例尽可能覆盖多个有效等价类正向用例数是由单个参数最大有效用例数决定逆向——一条测试用例只覆盖一个逆向场景评审接口用例编写接口用例组成编号、模块、名称、优先级、接口名称、前置条件、请求URL、请求类型、请求头、请求参数、预期响应状态码、预期返回数据、测试结果、实际返回数据、截图、备注。业务接口测试先要跑通业务流程的测试才进行单接口测试顺序不要搞错了。首先确认业务流程图然后根据业务流程图用Xmind提取测试点在业务流程中要设计检查点确保获取到的数据是否正确正常情况下需要调用查询接口无法直接从数据库中获取数据。PostmanPostman的新版本需要进行登录sigh in才能使用还有就是新版和旧版前后置操作的位置不一样旧版前置操作pre-……和后置操作tests单独列出新版前后置操作集成到了scripts中。pm.globals.set(自定义变量名, pm.response.json().kye): 用来获取请求中json的数据。Postman断言响应状态码断言名称Status code: Code is 200模板内容pm.test(Status code is 200, function(){ pm.response.to.have.status(200) }); pm.test(参数1 参数2): 参数1字符串-测试断言名称 参数2回调函数-具体断言语句 pm.response.to.have.status(code:Number):判断是否包含指定的状态码包含指定字符串断言名称Response body: Contains string模板内容pm.test(Body matches string, function(){ pm.expect(pm.response.text()).to.include(string_you_want_to_search); }); pm.expect()接受实际结果 .to连接符用于连接断言与判断 .include用于指定断言方式和预期结果 pm.presponse.text()获取响应结果的文本格式数据JOSN数据断言名称Reponse body :JSON value check模板内容pm.test(Your test name, function(){ var jsonData pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); pm.response.json()获取响应结果的json数据 .eql:用于指定断言方式和预期结果批量执行和自动断言选择要测试的业务点击右上角Run进行批量执行。在业务界面选择scripts脚本输入你需要的断言后业务中每一条接口执行完都会自动断言。引入随机数应对数据不可重复问题// 生成一个 8 位数字基于毫秒时间戳取模确保每次请求不重复 // const suffix (Date.now() % 100000000).toString().padStart(8, 0); // pm.variables.set(contractNoSuffix, suffix); // 原理Date.now() 获取当前毫秒时间戳如 1720000000000取模 100000000 得到 0~99999999 的数字并用 padStart 补足 8 位。由于毫秒时间戳在连续请求中必增生成的后缀几乎不会重复。 const suffix (Math.floor(Math.random() * 90000) 10000).toString(); pm.variables.set(contractNoSuffix, suffix);这是我新增合同成功接口中用到的合同号码他要求合同号不能重复所以我引入了随机数来解决手动输入的麻烦。