分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

web接口测试实践回顾

发布时间:2023-09-06 01:42责任编辑:沈小雨关键词:暂无标签

前段时间系统学习了测试专家虫师的《Web接口开发与自动化测试--基于Python语言》,自己也模仿完成了项目,收获颇丰。由于服务端没有错误日志输出,在定位错误、接口调试过程中,postman和fiddler起到了很大的作用。过去单独学习这两个工具,并没有感觉到它们的强大,果然,在项目实战中学习更有效率!

在已有项目的基础上,又对所有接口进行了优化,增加了10个接口:实现了http basic认证版本的接口和md5摘要认证版本的接口。另外,实现了自动发送测试报告邮件的功能。

接口测试还有一些常见的场景,例如获取cookie自动登录,对https接口处理,使用mock模拟等,这次项目暂时没有涉及到,未来完善。

回顾如下:

github地址:https://github.com/yulifromchina/InterfaceTest

一、项目成果展示

二、项目所用技术

开发平台:windows 10 x64 + pycharm + python3.6 + mysql 5.7.21

签到系统:django  2.0.1 + django-bootstrap3-9.1.0

测试框架:requests 2.18.4

三、项目具体介绍

1、发布会签到系统

发布会签到系统的功能包括:登录、发布会管理、嘉宾管理、签到功能

大致逻辑为:用户登录时向服务器发起Post请求,通过django的auth模块进行验证,并把用户信息存储在服务器session中。在登录的情况下,用户可以浏览发布会,嘉宾列表,以及进入发布会管理页面后签到。如果没有登录,则无法访问这些页面(通过django的login_required装饰器实现)。用户输入手机号签到,后台将手机号和发布会作为联合主键到后台数据库验证,并进行是否已签到、发布会是否已经结束等判断,最后返回签到结果。

以上逻辑均通过不同的路由以及回调函数进行响应,回调函数将数据从数据库取出,经模板渲染后返回给浏览器显示。

提供的接口如下:

2、测试框架

测试框架的结构如下:

对接口进行请求,使用了requests库;

case的组织,使用了unittest测试框架;

测试报告,使用了HTMLTestRunner生成;

测试数据,使用了MySQL数据库存储;

邮件发送,使用了smtplib和email库。

每个接口包括若干个用例,每个接口的测试由一个py文件负责:

四、项目总结

接口测试有一些专业的平台提供服务,例如三剑客接口测试平台,是使用现场的平台还是自己开发测试框架,或者二次开发,取决于项目的具体情况,没有绝对的好坏。通过实际完成接口,并对接口进行编写,加深了认识,相信能够更好的使用工具。使用django开发项目,快速且结构清晰。

项目中存在一个bug没有解决。在run_test.py中,目前不能raw_*.py, http_*.py,md5_*.py三个版本的15个用例一起运行,只能分三批运行。因为这三个批次的接口,往数据库中插入的是同一批数据,因此一起运行会造成数据污染。尝试在三次运行间进行了清空数据库再重新插入数据的操作,但是这个插入操作会失败。没有定位到原因。如果有大牛解决过类似情况,望指教!多谢!

web接口测试实践回顾

原文地址:https://www.cnblogs.com/bluebirid/p/8440337.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved