跳转到内容

搜索仅适用于生产版本。 尝试构建并预览网站以在本地测试。

自动化测试框架项目

接口测试,从接口文档出发,完整的接口文档包括:接口名称、接口地址、请求方法、请求头信息、请求参数、返回值及其数据结构

单接口测试:某个接口在不同参数组合下是否符合预期:正向测试、反向测试、边界测试

业务逻辑测试:验证多个接口之间的协同工作。商品下单:库存检查、订单创建、支付确认等,接口存在依赖关系,需要保证每个步骤的返回值都正确传递给下一个接口。

手动测试:Postman、Reqable、Jmeter等工具,手动快速验证

自动测试:手动测试的步骤脚本化,在代码中实现,使用Python requests库,结合pytest、unitest等编写自动化测试脚本,并将这些脚本集成到 持续继承(CI)系统中,如Jenkins、Gitlab CI等

DevOps 是一种将开发(Development)和运维(Operations)结合的文化和实践方法。 其目标是通过协作和自动化来提高软件交付的速度、频率和可靠性。DevOps 强调持续交付(CD)和持续部署(CI/CD),即通过自动化构建、测试和部署,确保代码能够快速、安全地推向生产环境。

自动化测试,可以在每次代码变更后立即验证其正确性,减少引入新bug的风险

• 回归测试:确保新代码不会破坏已有功能。

• 持续集成:在每次代码提交时自动运行测试,快速发现和修复问题。

• 持续交付:确保代码在交付前通过所有测试,从而减少部署后的问题。

测试驱动开发、行为驱动开发

进化到现在 CI/CD

CI : 每次代码提交后,CI工具(jenkins)自动运行所有测试,确保代码符合预期

CD: 持续交付/部署:代码在所有测试通过后被自动部署到生产环境中

在一些需要多次请求的场景下,使用会话对象 Session 可以管理持久性连接,避免重复登录等繁琐操作。尤其是涉及用户登录、会话保持的场景,Session 的使用至关重要。

session = requests.Session()
# 使用会话对象进行登录
login_url = 'http://127.0.0.1:8787/login'
session.post(login_url, data={'username': 'testuser', 'password': 'testpass'})
# 登录后,访问受保护的资源
protected_url = 'http://127.0.0.1:8787/protected'
response = session.get(protected_url)
print(response.text)

YAML(YAML Ain’t Markup Language)是一种专门用来写配置文件的语言,具有简洁、易读的特点。相比 JSON,YAML 更加人性化,适合用来编写配置文件和数据交换。

key: value
parent:
child1: value1
child2: value2
items:
- item1
- item2
- item3