Postman接口从入门到精通

目录

  • 一、工具资源
    • 1.资源
    • 2.工具
  • 二、实战演练
  • 三、断言
  • 四、Postman导出python代码
    • 1.数据驱动
    • 2.非数据驱动


一、工具资源

1.资源

Postman接口从入门到精通

2.工具

Cmder
cmder如何切换到指定目录?
Node.js安装详细步骤教程(Windows版)

二、实战演练

测试对象:v2ex的api
文档
api地址

三、断言

#GET http://itest.info/course
tests["状态码必须是200"] = responseCode.code === 200;
pm.test("返回正确的状态码",function(){
    pm.expect(pm.response).to.have.status(200);
    pm.expect(pm.response).to.be.success;
});

#GET https://www.v2ex.com/api/topics/hot.json
var res = JSON.parse(responseBody);
console.log(res.length);
tests["必须返回10条数据"] = res.length === 10


#GET http://www.itest.info/courses
var cheerio = require('cheerio');
var l = cheerio.load(responseBody);

pm.test("必须包含4门课程",function(){
    pm.response.to.be.success;
    pm.expect(l('servive-block-in').length === 4);
});

#GET https://www.v2ex.com/api/nodes/show.json?name={{node_name}}
#从环境变量中读取变量
tests["Status code is 200"] = responseCode.code === 200;
var jsonData = JSON.parse(responseBody);
var node_name = postman.getEnvironmentVariable("node_name");
tests["返回值的name必须跟参数中的name相等"] = jsonData.name === node_name;
console.log(node_name);

#GET https://www.v2ex.com/api/nodes/show.json?name={{node_name}}
#从数据中读取变量
tests["Status code is 200"] = responseCode.code === 200;
var jsonData = JSON.parse(responseBody);
var node_name = postman.getEnvironmentVariable("node_name");
tests["返回值的name必须跟参数中的name相等"] = jsonData.name === data.node_name;
console.log(node_name);

#从命令行运行Postman
newman run v2ex.postman_collection.json -d text_data.json -r html,cli,json,junit

四、Postman导出python代码

1.数据驱动

import requests
import unittest


class V2exAPITestCase(unittest.TestCase):
	def test_mode_api(self):
		url = "https://www.v2ex.com/api/nodes/show.json"
		querystring = {"name":"php"}
		for node_name in ['php','python','qna']:
			response = requests.request("GET", url, params={'name':node_name}).json()
			self.assertEqual(response['name'],node_name)


if __name__=='__main__':
	unittest.main()

2.非数据驱动

import requests
import unittest



class V2exAPITestCase(unittest.TestCase):
	def test_mode_api(self):
		url = "https://www.v2ex.com/api/nodes/show.json"

		querystring = {"name":"php"}
		response = requests.request("GET", url, params=querystring).json()
		self.assertEqual(response['name'],querystring['name'])


if __name__=='__main__':
	unittest.main()

你可能感兴趣的:(测试学习笔记,工具学习笔记,测试,接口测试,postman)