目录
摘要:
环境准备
编写测试用例
运行测试脚本
总结
摘要:
作为一名测试工程师,我们常常需要进行接口测试,目的是验证接口是否符合规范并且稳定可靠。然而,手动测试难免会出现疏漏和人为错误,因此我们需要编写自动化测试脚本来实现接口自动化测试。
本文将介绍如何使用 Python 编写接口自动化测试脚本,并介绍其中一些关键点和深度思考。
环境准备
在开始编写测试脚本之前,我们需要确保已安装以下软件:
- Python 开发环境
- requests 库
- unittest 测试框架
安装完以上软件后,我们可以开始编写测试代码。
编写测试用例
测试用例是用于对接口进行测试的具体步骤和数据信息等的描述。通常情况下,一个接口具有多个测试用例,我们可以将其放置在同一个测试类中。
import unittest
import requests
class TestAPI(unittest.TestCase):
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/"
self.headers = {"Content-Type": "application/json"}
def test_login_success(self):
url = self.base_url + "login"
data = {"username": "admin", "passwor": "123456"} #此次代码需要修改
response = requests.post(url, headers=self.headers, json=data)
self.assertEqual(response.status_code, 200)
self.assertTrue(response.json().get("token"))
def test_login_fail(self):
url = self.base_url + "login"
data = {"username": "admin", "passwor": "wrong_password"} #此次代码需要修改
response = requests.post(url, headers=self.headers, json=data)
self.assertEqual(response.status_code, 401)
self.assertEqual(response.json().get("code"), 1001)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
在上面的例子中,我们编写了两个测试用例 test_login_success
和 test_login_fail
,分别测试登录接口返回正常和异常的情况。其中,setUp
和 tearDown
分别为每个测试用例的前置和后置条件,base_url
和 headers
是每个测试用例都需要用到的公共数据。
在这里,我们使用了 requests
库来发送请求并获取响应结果,并使用 unittest
框架进行测试断言。在 test_login_success
中,我们验证了响应的状态码是否为 200,并且判断响应体中是否包含 token
字段;而在 test_login_fail
中,我们验证了响应的状态码和错误码是否符合预期。
运行测试脚本
完成测试代码的编写之后,我们可以在命令行界面执行以下命令来运行测试脚本:
python test_api.py
如果所有测试用例都通过了,那么输出结果应该是类似下面这样的信息:
Ran 2 tests in 0.052s OK
如果测试用例执行失败,那么输出的信息会告诉你具体失败的原因和位置。
总结
通过本篇文章,我们学习了如何使用 Python 编写接口自动化测试脚本,并介绍了其中一些关键点和深度思考。在实际工作中,我们可以根据项目需求和实际情况进行调整和扩展,例如增加数据驱动、日志记录、异常处理等功能,以使测试代码更加完善和健壮。
自动化测试学习步骤结构框架图:
小编还准备了一些福利: