自动化测试框架项目
接口测试,从接口文档出发,完整的接口文档包括:接口名称、接口地址、请求方法、请求头信息、请求参数、返回值及其数据结构
单接口测试:某个接口在不同参数组合下是否符合预期:正向测试、反向测试、边界测试
业务逻辑测试:验证多个接口之间的协同工作。商品下单:库存检查、订单创建、支付确认等,接口存在依赖关系,需要保证每个步骤的返回值都正确传递给下一个接口。
手动测试:Postman、Reqable、Jmeter等工具,手动快速验证
自动测试:手动测试的步骤脚本化,在代码中实现,使用Python requests库,结合pytest、unitest等编写自动化测试脚本,并将这些脚本集成到 持续继承(CI)系统中,如Jenkins、Gitlab CI等
DevOps
Section titled “DevOps”DevOps 是一种将开发(Development)和运维(Operations)结合的文化和实践方法。 其目标是通过协作和自动化来提高软件交付的速度、频率和可靠性。DevOps 强调持续交付(CD)和持续部署(CI/CD),即通过自动化构建、测试和部署,确保代码能够快速、安全地推向生产环境。
自动化测试,可以在每次代码变更后立即验证其正确性,减少引入新bug的风险
• 回归测试:确保新代码不会破坏已有功能。
• 持续集成:在每次代码提交时自动运行测试,快速发现和修复问题。
• 持续交付:确保代码在交付前通过所有测试,从而减少部署后的问题。
测试驱动开发、行为驱动开发
进化到现在 CI/CD
CI : 每次代码提交后,CI工具(jenkins)自动运行所有测试,确保代码符合预期
CD: 持续交付/部署:代码在所有测试通过后被自动部署到生产环境中
Python requests
Section titled “Python requests”会话管理与持久性连接
Section titled “会话管理与持久性连接”在一些需要多次请求的场景下,使用会话对象 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 配置文件
Section titled “YAML 配置文件”YAML(YAML Ain’t Markup Language)是一种专门用来写配置文件的语言,具有简洁、易读的特点。相比 JSON,YAML 更加人性化,适合用来编写配置文件和数据交换。
key: value2)嵌套结构
Section titled “2)嵌套结构”parent: child1: value1 child2: value2items: - item1 - item2 - item3