docker环境搭建pytest+allure结合 jenkins 自动化测试

各位测试的小伙伴,现在主流的自动化测试实现的方式非常多,比如小伙伴已经在使用的 jmeter+ant 完成自动化测试,又或者 Apipost 这种接口测试工具完成单接口或场景的自动化测试等等,但各有优缺点,工具实现自动化的话比较方便,但也有缺点,不能定制化,只能依照工具已有的功能或插件去做,如果碰到特殊场景需要处理,工具就稍显鸡肋,但如果使用代码完成接口自动化的话,相对来说可扩展性就强一些,不管是前置、后置、SQL、测试数据制造、数据处理等等,代码的处理扩展性都是较强的,缺点就是维护成本相比较工具来说是要高一点的。

比如现在有一个场景是这样的:用户登录某系统后提示需要VIP认证才能继续使用系统,那么如何才能知晓当前用户是不是VIP并继续展示对应的VIP界面呢,仅通过 cookie判断?好像还不够。 如果接口鉴权方式是需要二次封装cookie 的话,工具好像又不太支持,但如果用代码的话,实现起来还是比较轻松的。

HOST = "http://xxx.xx.xx.xxx"

import requests

def cookies_v2():
    """
    登录
    return: 原生态cookie里的sessionID
    """
    url = f'{HOST}/login'            #登录接口地址

    payload = {'username': 'zhangsan', 'password': '123456'}       #请求参数

    response = requests.post(url, data=payload)          # 发送请求

    return session_id=response.cookies['sessionid']            # 获取原生态cookie里的sessionID


def add_interface(session_id):

    url = f'{HOST}/xx/xx/xxx/'     #业务接口

    # 二次封装、把session +token 合并成一个新的cookie
    cookies_k = {"sessionid": session_id, "token": "123456"}

    # 发送请求
    response = requests.get(url, cookies=cookies_k)

    # 获取响应信息
    # 查看请求头的cookies
    print(response.request.headers)


if __name__ == '__main__':

    session_id= login()
    add_interface(session_id)

可以看到,上面用代码进行二次封装起来还是比较方便的,但是仅写代码还是不够的,如何从0实现一个完整的接口自动化方式呢,今天这里给大家介绍一种自动化实现方式--------pytest框架+allure报告结合jenkins 完成自动化测试。

由于jenkins 内需要安装和配置许多东西,每次安装配置都比较麻烦,这里我们使用docker 去搭建jenkins 环境,搭建好了自行封装成镜像即可。

一、docker 安装 jenkins

1、如果是第一次搭建的话,首先需要一台linux 服务器or 虚拟机也可,先安装docker,安装步骤可自行根据当前的系统环境的版本进行百度安装即可,安装完docker 之后,可以使用:docker -version 检查一下docker 是否安装成功,若出现有版本信息表明已经安装成功。接下来需要使用docker 安装jenkins,输入以下命令

docker search jenkins    #搜索jenkins镜像

2、搜索到了之后可以看到有比较多的jenkins镜像选择,我们能选择第二个jenkins,输入命令进行下载

docker pull jenkins/jenkins       #下载jenkins镜像

3、下载完成之后,可以使用 docker images 查看当前的镜像仓库是否已经存在了刚下载的 镜像

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值