接口自动化测试

一、安装python环境

1.前往 Python 官网(https://www.python.org/downloads/windows/)下载 Python 安装程序。请注意,下载时需要选择与您的操作系统和计算机架构相对应的版本。

2.运行下载的安装程序并按照提示进行安装。在安装过程中,请注意选择要安装的组件。通常情况下,您应该选择 “Add Python to PATH” 选项以将 
Python 添加到系统环境变量中,并方便后续使用。 3.在安装完成后,打开命令提示符或 PowerShell 窗口(在 Windows 中搜索
"cmd""PowerShell"),输入 "python" 并回车,如果出现以下信息
则表示 Python 已经成功安装: Python
3.x.x [其他信息] >>> (可选)安装 pip: pip 是一个用于管理 Python 包的工具,可以方便地安装、升级和卸载第三方库。大多数 Python 安装程序都会自动包含 pip。
如果您的 Python 版本未包含 pip,则可以从官方网站(https:
//pip.pypa.io/en/stable/installing/)下载并手动安装。

二、准备Excel文件——测试用例

 

 (预期状态码是200,上面的写错了!)

 

三、写python脚本

# 1.读取excel测试用例
# 2.循环每一条测试用例
# 3.执行每一条测试用例

1.安装pandas读取excel文件,在vsc终端输入命令

& D:\python3.11.3\python.exe -m pip install pandas

2.代码:test_api.py

import pandas as pd
import allure,os  # 终端命令:& D:\python3.11.3\python.exe -m pip install allure-pytest
import pytest     #需install
import requests   # 终端命令:& D:\python3.11.3\python.exe -m pip install requests

# 1.读取excel测试用例
# 2.循环每一条测试用例
# 3.执行每一条测试用例

df = pd.read_excel('校园帮接口测试用例.xlsx')
# 使用 fillna() 方法将 NaN 值替换为空字符串
df.fillna('', inplace=True)
# print(df.columns)
test_data_list = df.apply(lambda row: row.to_dict(), axis=1).tolist()
# print(test_data_list)


# 自动循环
@pytest.mark.parametrize("case_info", test_data_list)
def test_send_request(case_info):
    # 执行请求
    if (case_info["请求方式"] == "get"):
        if (case_info["输入参数"] is not None and case_info["输入参数"] != ""):
            url = case_info["接口URL"]+str(int(case_info["输入参数"]))
        else:
            url = case_info["接口URL"]
        req = requests.request(
            url=url,
            method=case_info["请求方式"]
        )
    else:
        req = requests.post(
            case_info["接口URL"],
            json=eval(case_info["JSON参数"]),
            headers=eval(case_info["URL参数"]))
    # 判断请求返回结果
    print("状态码:"+str(req.status_code))
    assert req.status_code == case_info["预期状态码"]

# for i in range(len(test_data_list)):
#     print("这是第{}条:".format(i))
#     print(test_data_list[i])
#     test_send_request(test_data_list[i])

#pytest的启动命令,生成测试报告,会产生一个文件夹allure-results,
# if __name__ == '__main__':
#     pytest.main(['-s', '-v', '--capture=sys', 'test_api.py', 
#     '--clean-alluredir',
#      '--alluredir=allure-results'])  
#     os.system(r"allure generate -c -o测试报告")

3. 使用pytest执行代码

执行命令:

pytest --alluredir=reports test_api.py

(可以在cmd执行,也可以在vsc的终端执行,前提是要安装allure插件)

 

4.使用allure生成网页版测试报告

执行命令:

allure serve reports

 

 

四、备注

1.windows安装allure
(1) allure包下载:https://github.com/allure-framework/allure2/releases
(2) 解压 -> 进入bin目录 -> 运行allure.bat,
把bin目录加入PATH环境变量

allure官网 : https://qameta.io/allure-report/

allure文档 : https://docs.qameta.io/allure/#

 

2.vsc安装allure

我们可以使用allure生成漂亮的测试报告,具体步骤如下:

1. 安装allure-pytest插件

在终端中运行以下命令安装allure-pytest插件:

```
pip install allure-pytest
```

2. 在pytest.ini配置文件中添加allure选项

在项目根目录下创建pytest.ini配置文件,并添加以下内容:

```
[pytest]
addopts = --alluredir=./reports/allure-results
```

这个配置告诉pytest将测试结果输出到./reports/allure-results目录下。

3. 运行测试并生成报告数据

在终端中运行以下命令运行所有的测试用例:

```
pytest -s -v --alluredir=./reports/allure-results tests/
```

这个命令会执行tests/目录下所有的测试用例,并将测试结果输出到./reports/allure-results目录下。

4. 生成HTML报告

在终端中运行以下命令生成HTML格式的报告:

```
allure generate ./reports/allure-results -o ./reports/allure-report --clean
```

这个命令会从./reports/allure-results目录读取报告数据,并将其转换为漂亮的HTML格式,然后输出到./reports/allure-report目录下。

5. 查看报告

打开./reports/allure-report/index.html文件即可查看生成的测试报告。

在测试报告中,我们可以看到每个测试用例的执行结果、日志信息、截图等详细信息,这有助于定位和解决问题。

 

posted @ 2023-06-04 18:44  湘summer  阅读(76)  评论(0编辑  收藏  举报