pytest---环境切换(base-url)

这篇具有很好参考价值的文章主要介绍了pytest---环境切换(base-url)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  前面小编介绍了如何通过pytest的插件来实现自动化测试的环境的切换,当时使用的方法是通过钩子函数进行获取命令行参数值,然后通过提前配置好的参数进行切换测试环境地址,今天小编再次介绍一种方法,通过pytest的插件:pytest-base-url进行来实现。

pytest-base-url

  pytest-base-url 是pytest的第三方插件,主要用来帮助我们进行切换测试环境地址,其中配置方法存在两种,一种直接在命令行中进行添加url参数,一种是通过pytest.ini的方法进行提前存储测试环境地址,接下来跟着小编一起看看两种方式都是如何实现的吧。

命令行参数传入

  命令行参数传入,这里需要在我们需要传入的测试用例中,提前加入base-url的参数名称,方便后续命令行时好直接传入参数

# test_01.py
# coding:utf-8
import requests
def test_01(base_url):
    data = {
        'city': "上海",
        'key': 'xxxxxxxxxx'
    }
    r = requests.post(base_url, data=data)
    result = r.json()['reason']
    print(r.json())
    assert result == '查询成功!'

测试用例编写完成后,我们通过打开命令行,进行执行对应的命令,正常我们执行只需要加上pytest -vs 执行程序就可以进行运行成功,但是在这里我们需要新加入一个参数,也就是我们的测试环境地址。pytest -vs --base-url 测试环境地址 执行程序

pytest -vs --base-url http://apis.juhe.cn/simpleWeather/query  test_01.py 

运行后会发现我们的测试用例,已经成功的执行了。

pytest---环境切换(base-url),pytest,linux,运维,服务器

如果不想通过命令行形式执行,我们也可以在pytest的运行程序下将命令行的参数直接写入进去

# coding:utf-8
import pytest
import requests
def test_01(base_url):
    data = {
        'city': "上海",
        'key': 'xxxxxxxxx'
    }
    r = requests.post(base_url, data=data)
    result = r.json()['reason']
    print(r.json())
    assert result == '查询成功!'
if __name__ == '__main__':
    pytest.main(['-vs','--base-url','http://apis.juhe.cn/simpleWeather/query',])

pytest---环境切换(base-url),pytest,linux,运维,服务器

注意:在这里编写命令行时,一定要将--base-url和测试环境地址分开写,不然程序会报错。

pytest.ini方法

其中pytest.ini主要属于pytest的配置文件工具,一些简单的参数都可以存放在这个文件中,小编等下就需要通过pytest.ini文件存放我们的测试环境

创建一个pytest.ini文件,将其base_url的参数存放进入

[pytest]
base_url = http://apis.juhe.cn/simpleWeather/query

配置文件编写好后,在通过最上方的代码,直接运行,命令行参数中就不需要添加对应的url地址和base_url的命令了。

# coding:utf-8
import pytest
import requests
def test_01(base_url):
    data = {
        'city': "上海",
        'key': 'xxxxxxxx'
    }
    r = requests.post(base_url, data=data)
    result = r.json()['reason']
    print(r.json())
    assert result == '查询成功!'

pytest---环境切换(base-url),pytest,linux,运维,服务器

这里就会有小伙伴们询问了,如何多个测试环境的地址,我这里应该如何切换呢? 这个简单,我们还是通过运行pytest.ini配置文件帮我们实现这个功能,我们在pytest.ini配置文件添加参数addopts参数,且我们需要创建两个ini文件,分别代表两个测试环境

pytest_dev.ini文件

# pytest_dev.ini
[pytest]
addopts = --base-url=https://test.anjing.com

pytest_qa.ini文件

# pytest_qa.ini
[pytest]
addopts = --base-url=https://qa.anjing.com

然后在简单的编写一个断言判断我们想要的参数是否传入成功

# coding:utf-8
def test_home_page(base_url):
    print(base_url)
    assert base_url == "https://test.anjing.com"

接下来我们继续通过命令行参数执行,不过这个时候需要加入-o参数,所谓的-o参数就是读取不同的ini文件配置信息,先读取pytest_dev.ini配置文件,发现执行程序是正常的

pytest---环境切换(base-url),pytest,linux,运维,服务器

接下来我们在读取pytest_qa.ini的配置文件,发现程序断言失败了,两个测试环境地址不一致

pytest---环境切换(base-url),pytest,linux,运维,服务器

总结

小编通过简单的两种方法介绍了在自动化测试过程中切换我们的测试环境,当然方法是不固定的,主要的是大家如何根据项目进行灵活的运用,如果您有更好的方法,可以在下方留言,大家一起交流学习,感谢您的阅读,希望本篇文章对您有所帮助。文章来源地址https://www.toymoban.com/news/detail-610875.html

到了这里,关于pytest---环境切换(base-url)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(76)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(66)
  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书

    本文思维导图概述的主要内容: 1.1 什么是 crontab Crontab 是一个在 Unix 和 Linux 操作系统上 用于定时执行任务 的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它

    2024年02月08日
    浏览(85)
  • 【Linux运维】shell脚本检查服务器内存和CPU利用率

    在管理服务器时候写了一个 shell脚本,在服务上实现每天凌晨3点查系统的指定文件夹下的容量大小,如果超过10G就要删除3天前的内容,还要时刻查询内存和cpu利用率,如果超过80%就要提示用户出现过载 将以上代码保存为一个.sh文件,然后通过crontab在每天凌晨3点运行即可:

    2024年02月09日
    浏览(64)
  • 解决linux第一次安装anaconda无法进入base环境的问题

    使用conda --version发现conda是安装好的,刚开始是环境配置问题,打开.bashrc文件修改环境配置,在路径那块将自己的annconda对应的文件路径填进去 gedit ~/.bashrc进入 修改环境变量后还是无法进入base环境,应该先使用下列语句激活环境,以后可以正常使用conda activate和conda deactiva

    2024年01月22日
    浏览(49)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(74)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(92)
  • URL编码和Base64编码

    数据操作过程中,经常涉及到编码与解码等相关操作,如web请求时会对 url进行编码 ,其中的中文等字符会转义为其他内容;中文字符串数据传输时,会将其使用 base64编码 并在接收后解码,以避免乱码的出现。 URLDecoder 和 URLEncoder 用于普通字符串 和 application/x-www-form-urlenco

    2024年02月02日
    浏览(57)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(89)
  • 【Linux】进程优先级 && 进程切换 && 环境变量

    目录 一、进程优先级  1、优先级概念  2、优先级特点  3、修改Linux下的优先级 二、进程切换  1、进程特性  2、进程切换 三、环境变量  1、基本概念  2、常见环境变量  3、查看环境变量方法  4、PATH环境变量  5、和环境变量相关的命令  6、环境变量的组织方式  7、通过

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包