python+pytest+json+allure报告+jenkins搭建接口自动化测试(一)运行成功可生成报告

在搭建前,你的电脑要有python环境,需要安装pytest。

安装pytest

在命令行中运行以下命令:

pip install -U pytest

检查您是否安装了正确的版本:

$ pytest --version

安装allure

测试报告使用allure生成的测试报告,可改造性强,看起来也美观。

下载安装allure-pytest插件,可在pycharm里直接安装:File--Setting--Project--Python Interpreter--右侧"+"--输入"allure-pytest"--选中--点击左下角"Install Package"。

有问题是环境配置的问题的话,可以百度下。


1、开始新建项目文件夹为invengtory

 2、在文件夹内新建自己需要的内容

 3、先创建一个logo.json,写2个用例登录接口用例。

 

4、在testcase文件夹下创建一个test_login.py文件。

""" test_login.py 测试用例"""
import pytest
import requests
import allure
import json
import  os, os.path
import ast
def set_json_url(jsonName):
    """
     将获取路径的方法提取出来
    """
    path_url='c:inventory\\data\\'
    print(path_url)
    data =json.load(open(path_url+jsonName,mode='r',encoding='utf8'))
    return data

def set_http_url():
    """
     公共设置URL方法,设置http请求url
    """
    Base_url = 'http://192.168.8.67:1080'
    return Base_url
jsonName='login.json'
data =set_json_url(jsonName)
user_name=data['user_name']
base_url=set_http_url()+'checklogin'


@pytest.fixture(scope='function',params=user_name)
def my_fixture(request):
    return request.param

@allure.epic("接口自动化测试项目")
@allure.feature("用户登录测试")
class TestLogin:
    @allure.story('用户登录接口')
    @allure.title('用户登录接口')
    @allure.description('通过接口进行用户登录,检查登录接口是否正常')
    @allure.severity('critical')
    def test_01_login(self,my_fixture):
        print('---------'+str(my_fixture))
        user_dict=ast.literal_eval(str(my_fixture))
        print('用例转换',  user_dict)
        user_Paw=user_dict[0]
        print('请求参数', user_Paw)
        res = requests.post(base_url,user_Paw)
        print("响应内容:", res.json())
        code=user_dict[1]
        info=user_dict[2]
        assert res.json()['code'] == code
        assert res.json()['info'] == info

 最后写一个run.py

import  pytest
from SendEmail import *
if __name__ == '__main__':

    path = os.path.abspath(__file__)[:-6]

    tempath = os.path.join(path, "reports/temp")  # 报告临时存放文件
    reportpath = os.path.join(path, "reports/report ")  # 报告打开路径
    report_path= os.path.join(path,"report/index.html")
    Casepath =os.path.join(path, "testcase")  # 测试集合路径
    print('测试集合路径---',Casepath)
    pytest.main([Casepath, "-s", "--alluredir", tempath])  # 运行 testcase下所有测试用例
    os.system(f'allure generate {tempath} -o {reportpath} --clean ')

写好了run.py到终端中运行,先进入run.py文件的位置,命令行python.exe run.py 如图所示运行成功

运行成功后会生成一个测试报告,当然要先新建reports文件,生成测试报告后,在里面用谷歌浏览器打开查看

 

 

运行成功后,下一篇是压缩测试报告发送邮箱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值