接口自动化测试框架完整搭建python+unittest+requests+ddt
接口自动化框架 一、首先废话不多说,直接开始讲解一下整个框架的目录结构,本次内容着重讲解测试用例类,只要掌握了测试用例类和接口测试用例怎么写就可以运用此框架。(需要一些python基础,能看的懂基本代码) common目录 1.contants是处理项目路径模块,本项目路径全部采取相对路径(这样做的好处是copy到任意地方可以直接运行,不用担心会路径报错) 2.handle_data处理excel用例中需要替换的参数,用来存储临时变量,和需要替换的excel用例中需要替换的字符串(注意存放临时变量时int类型应转换成str类型存放) 3.handle_db是连接数据库(mysql)处理需要进 【接口自动化测试框架搭建】基于Python的自动化测试框架通常由几个关键组件构成,这个框架结合了unittest、requests和ddt库。unittest是Python内置的单元测试框架,它提供了编写和组织测试用例的方法。requests库则负责发送HTTP请求,与服务器进行交互。ddt(Data Driven Tests)是一个unittest扩展,用于实现数据驱动测试,即从外部数据源(如Excel)读取测试数据,以执行多次相同或相似的测试,但每次使用的输入数据不同。 在搭建这样的框架时,首先需要规划项目的目录结构。一个典型的结构可能包括以下几个部分: 1. **common目录**: - **contants**: 处理项目路径的模块,使用相对路径避免路径问题。 - **handle_data**: 存储和处理Excel测试用例中的参数,如替换字符串,并处理临时变量(注意将int转为str存储)。 - **handle_db**: 连接MySQL数据库,提供数据库操作功能,如获取第一条数据、所有数据和数据数量。 - **handle_request**: 发送HTTP请求,支持cookie和token。 - **handle_webservice**: 处理webservice接口请求(如果需要)。 - **myconfig**: 配置文件读写,用于管理项目配置。 - **mylogger**: 日志记录模块,用于记录测试过程中的信息。 - **readexcel**: 读取Excel用例数据的模块。 - **send_email**: 发送测试报告邮件的模块。 2. **配置文件**(comf): 包含日志级别、测试报告名称、项目地址、账号和数据库连接信息。 3. **数据存放**: - **data**: Excel测试用例数据。 - **library**: 第三方库。 - **log**: 日志文件。 - **reports**: 测试报告。 4. **testcases**: 存放测试用例类的模块,所有测试用例类应放在这里。 5. **run.py**: 测试运行程序,启动整个测试流程。 在实际的接口测试用例中,我们通常不会在Excel中直接写入敏感数据,例如手机号。为了实现可复用性和自动化,可以在代码中动态生成这些值,比如使用random模块生成随机手机号。在测试用例类中,我们需要读取Excel中的数据,构建请求参数,发送HTTP请求,并对比预期结果和实际结果进行断言。 例如,在`Testregister`测试类中,我们可以使用`ddt.data`装饰器和`read_excel`函数从Excel中读取测试数据,然后通过条件判断和字符串替换生成动态的手机号。`test_register`方法内,先准备好用例数据,根据需要处理数据,然后使用requests发送请求并进行断言验证。 这个框架允许开发者高效地管理和执行接口自动化测试,通过数据驱动的方式,减少了重复代码,提高了测试的覆盖率和灵活性。同时,良好的日志管理和测试报告生成功能,有助于快速定位问题,提高测试效率。