1 在做接口自动化测试前,进行一轮手工测试是有必要的。
可以保障系统环境能运行,还有重要的一点是确保接口是否已经开发完成,可以进行测试阶段的活动了。
这是第3篇
1 http请求的时候把字典转换成json 用json.dumps()
| tmp_response = requests.get(url=order_url, headers =conf_common.http_header, |
| data=json.dumps(data_order.input_body)) |
2 http响应的时候把 text转换成json 用json.loads
| tmp_content = json.loads(tmp_response.text) |
| print(type(tmp_content),tmp_content) |
1 拿到字段里第二层的值 : ["order"]["data"]
| self.assertIsNotNone(tmp_content["order"]["data"], "获取db订单数据不全") |
2 断言结果是空的
| self.assertIsNone(tmp_content["order"]["data"], "获取db订单数据不全") |
3 验证不能获取不存在的订单
| def test_getnoneorder(self): |
| '''验证不能获取不存在的订单 |
| |
| :return: |
| ''' |
| |
| data_order.input_body["order"]["id"]=conf_common.sepcial_ordernotexist |
| |
| |
| print(conf_common.hostname + conf_common.order_url) |
| tmp_response = requests.get(url=order_url, headers =conf_common.http_header, |
| data=json.dumps(data_order.input_body)) |
| |
| |
| tmp_content = json.loads(tmp_response.text) |
| print(type(tmp_content),tmp_content) |
| |
| |
| print(tmp_content["order"]["data"]) |
| self.assertEqual(200, tmp_response.status_code, "响应状态不是200") |
| self.assertIsNone(tmp_content["order"]["data"], "获取db订单数据不全") |
4 验证不能获取不存在的订单
| |
| def test_getsuccess(self): |
| '''验证获取订指定单成功''' |
| |
| |
| data_order.input_body["order"]["id"]=conf_common.special_orderexist |
| |
| |
| print(conf_common.hostname + conf_common.order_url) |
| tmp_response = requests.get(url=order_url, headers =conf_common.http_header, |
| data=json.dumps(data_order.input_body)) |
| |
| |
| tmp_content = json.loads(tmp_response.text) |
| print(type(tmp_content),tmp_content) |
| |
| |
| print(tmp_content["order"]["data"]) |
| self.assertEqual(200, tmp_response.status_code, "响应状态不是200") |
| self.assertIsNotNone(tmp_content["order"]["data"], "获取db订单数据不全") |
1 业务场景方法是最重要的测试用例设计方法,必须要有。
2 性能测试主要还是接口层面的性能。
3 安全方面的测试越来越受到重视,是个不可忽视的部分。
4 在表格最后加上 【是否已自动化】可以方便的统计接口自动化覆盖率。
1 一个接口的测试用例数量高达 30个,合适吗?
2 除了http协议类型的接口,还有别的类型的接口吗?