Python学习 - Pytest+Request+Allure+Jenkins实现接口自动化

如果下面文章内容,不够全面,我这边给你推荐一套视频:这个视频可以说是B站百万播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取

B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliB站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

  • 利用Pytest+Request+Allure+Jenkins实现接口自动化;
  • 实现一套脚本多套环境执行;
  • 利用参数化数据驱动模式,实现接口与测试数据分离
  • 使用logger定制实现自动化测试日志记录

实现步骤:

框架结构:  

 

1、接口自动化项目代码编写(先在window实现)

1.1 项目准备

先在window安装响应的环境依赖

  • 安装python3.7(要保证pip能用,一般安装python3.7会自动安装pip)
  • 安装pytest框架---- pip install pytest
  • 安装request库---- pip install request
  • 安装openpyxl库(测试数据保存在excel中,需要依赖读取excel的库)---- pip install openpyxl
  • 安装pycharm(编写python脚本工具)

注意:可能还需要一些依赖的东西,项目步骤里会依据需要进行安装

1.2 设计基于pytest的测试框架结构

在pycharm中开发构建项目结构

common:存放公共方法
config:存放环境配置信息
lib:存放第三方库
main:框架主入口
report:存放allure测试报告
test_case:存放测试用例
test_data:存放测试数据

 

1.3 实现接口公共请求发送能力

从这一步开始正式编写代码

 封装http请求的公共能力(封装request库,变成自己的公共处理能力),放到common目录下。

# encoding: utf-8
 
import requests
import urllib3
# from urllib3.exceptions import InsecureRequestWarning
 
urllib3.disable_warnings()
# 加这句不会报错(requests证书警告)
# requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
 
 
class HTTPRequests(object):
    def __init__(self, url):
        self.url = url
        self.req = requests.session()
        # 依据自己公司的请求头默认值配置
        self.head = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko',
            'Accept': 'image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, '
                      'application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, '
                      'application/msword, */*',
            'Accept-Language': 'zh-CN'}
 
    # 封装自己的get请求,获取资源
    def get(self, uri='', params='', data='', headers=None, cookies=None, verify=False):
        if headers is None:
            headers = self.head
        # print("请求头是:{}".format(headers))
        url = self.url + uri
        response = self.req.get(url, params=params, data=data, headers=headers, cookies=cookies, verify=verify)
        return response
 
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值