第三节:接口自动化测试的实现

07-02-03接口自动化测试的实现

引言:

1 在做接口自动化测试前,进行一轮手工测试是有必要的。

可以保障系统环境能运行,还有重要的一点是确保接口是否已经开发完成,可以进行测试阶段的活动了。

这是第3篇

正文:

1. json转换的汇总:

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)

2. 断言的汇总

1 拿到字段里第二层的值 : ["order"]["data"]

self.assertIsNotNone(tmp_content["order"]["data"], "获取db订单数据不全")

2 断言结果是空的

self.assertIsNone(tmp_content["order"]["data"], "获取db订单数据不全")

3 验证不能获取不存在的订单

def test_getnoneorder(self):
'''验证不能获取不存在的订单
:return:
'''
# 把默认请求的订单id 改成指定的不存在的订单id
data_order.input_body["order"]["id"]=conf_common.sepcial_ordernotexist
## 把 http请求的响应 赋值给tmp_response
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_response 进行json格式化 ,并赋值给tmp_content
tmp_content = json.loads(tmp_response.text)
print(type(tmp_content),tmp_content)
### 获取json数据中的值 的语法 [""]
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):
'''验证获取订指定单成功'''
# 把默认请求的订单id 改成指定的订单id
data_order.input_body["order"]["id"]=conf_common.special_orderexist
## 把 http请求的响应 赋值给tmp_response
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_response 进行json格式化 ,并赋值给tmp_content
tmp_content = json.loads(tmp_response.text)
print(type(tmp_content),tmp_content)
### 获取json数据中的值 的语法 [""]
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协议类型的接口,还有别的类型的接口吗?

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 沪ICP备2022009235号 沪公网安备31011802005110号 青浦区尚茂路798弄 联系方式-13697081366