pytest 自动化学习

news2024/11/27 12:42:36

一  pytest简介与安装

def inc(x):
return x+1

def test_answer():
assert inc(3) == 5 #判断 4会不会等5

二  Pytest 命令规则

三  pycharm配置与界面化运行

 

 

 

四  pytest测试用例结构

用例结构
三部分构成
      1.用例名称用例步骤                2.编辑                 3.断言

 

 

 

五  Pytest 测试用例断言

def test_a():
    a = 1
    b = 2
    expect = 3
    assert a + b == expect


def test_str():
    assert  "abc" in "abcd"  # abcd 是否包含在 abc 里面 

def test_plat():
    assert ('linux' in sys.platform) ,"该代码不在 linux 下运行"  #直接报我写的这个错误

六 Pytest 测试框架结构

 

 

七  pytest参数化用例

 

 

import pytest

search_list =['appium']

# 单参数  的第一个名字 ,第一个如果有多的数字可以放在列表里面
@pytest.mark.parametrize('name',search_list)

def test_search(name):
    assert name in search_list
import pytest

#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
@pytest.mark.parametrize("test_input,expected",[
    ("3+5",8),("2+5",7),("7+5",12)
])

def test_mark_more(test_input,expected):
    assert eval(test_input) == expected
# 用例重用名

import pytest

#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
#3.ids 的个数==传递的数据个数
@pytest.mark.parametrize("test_input,expected",[
    ("3+5",8),("2+5",7),("7+5",12)
],ids=["number1","number2","number3"])  #ids用于重命名

def test_mark_more(test_input,expected):
    assert eval(test_input) == expected

 

 

  

 

八  Pytest 标记测试用例

九   Pytest 设置跳过、预期失败用例

十  运行用例

十一 测试用例调度与运行

十二 常用命令行参数

十三  Python 代码执行 pytest

十四 Pytest 异常处理

十五  数据驱动-yaml

十六  pytest数据驱动-excel

十七 Pytest结合数据驱动csv

十八  Pytest结合数据驱动json

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 进入容器和交换文件

1、进入容器 有些时候需要进入容器进行操作,使用 docker exec 命令,这个命令后面可以添加很多参数,我们这里只讲添加 -i 和 -it 参数。 只添加 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示…

人工智能第2章基于图的知识表示与图搜索技术(课后部分习题答案)

解:用四元组(f,w,s,g)表示状态,其中 f 表示猎人,w 表示狼, s 表示羊,g 表示草,其中每个元素都可以为 0 或 1,表示在左案, …

chatgpt赋能python:Python将图片转换为代码的顶级SEO文章

Python将图片转换为代码的顶级SEO文章 在当今数字化的世界中,图像和代码都是最为重要的元素之一。Python作为一种流行的编程语言,可以帮助我们将这两种元素结合起来,让我们从图像中提取出代码。本文将讨论Python如何将图像转换为代码&#x…

哈工大计算机网络传输层协议详解之:TCP协议

哈工大计算机网络传输层协议详解之:TCP协议 文章目录 哈工大计算机网络传输层协议详解之:TCP协议TCP概述TCP段结构序列号和ACKTCP可靠数据传输RTT和超时TCP发送方事件TCP发送端程序伪代码TCP重传示例TCP接收方 ACK生成TCP快速重传机制 TCP流量控制TCP连接…

总结905

今日已做: 1.核聚课程 2.进步本回顾,重做8道题,有两道还没掌握,记录3页。 3.线性代数第5讲 4.三大计算,刷题15道,纠错。 5.每日长难句。 6.考研常识课 明日必做 1.熟练背诵《the king’s speech》并默写 2…

chatgpt赋能python:Python抽卡:让你的游戏更充实

Python抽卡:让你的游戏更充实 作为一款流行的游戏,抽卡是许多玩家最喜欢的功能之一。通过不断的抽卡,你可以获取到更加强大的角色和装备,从而在游戏中获得更多的胜利。但是,手动抽卡需要耗费大量的时间和精力&#xf…

简要介绍 | 点云距离度量:从原理到应用

注1:本文系“简要介绍”系列之一,仅从概念上对点云距离度量进行非常简要的介绍,不适合用于深入和详细的了解。 点云距离度量:从原理到应用 3D deep learning on Point cloud 1. 背景介绍 点云数据在计算机图形学、计算机视觉、自…

C#探索之路(9):深入理解C#代码编译的过程以及原理

C#探索之路(9):深入理解C#代码编译的过程以及原理 文章目录 C#探索之路(9):深入理解C#代码编译的过程以及原理一、前言:概念解析1、编译器:2、JIT是什么?3、AOT是什么?4、如何理解这个“基于运行时”的概念…

Shell 脚本和编程

shell脚本和编程 Shel基础概念 Shell是一种命令行解释器,是Linux系统中最常用的命令行界面。Shell脚本是由一系列Shell命令组成的文本文件,可以用来自动化执行Linux系统上的任务。Shell脚本是一种强大的工具,可以通过编写脚本来实现自动化运…

FPGA XDMA 中断模式实现 PCIE X8 测速试验 提供工程源码和QT上位机源码

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案XDMA简介XDMA中断模式QT上位机及其源码 5、vivado工程详解6、上板调试验证7、福利:工程代码的获取 1、前言 PCIE(PCI Express)采用了目前业内流行的点对点串行连接&#xf…

Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益

Unity 之 最新Ads原生广告接入流程详解和工具类分享 一,注册 Unity Ads 广告 SDK二,下载 Unity Ads 广告 SDK三,配置 Unity Ads 广告 SDK3.1 广告位展示流程3.2 代码初始化 四,集成 Unity Ads 广告 SDK4.1 相关介绍4.2 代码分享 五…

开发日记-凌鲨中数据库代理的实现

凌鲨定位于连接研发过程中一切信息和工具。下面是数据库代理的大概框架: 技术选型 使用golang开发各种数据库协议代理,redis-proxy,mysql-proxy,mongo-proxy使用swagger提供代理协议的调试 选型原因 我们的客户端使用了tauri作为框架,在实现扩展功能的…

基于阴影检测和平衡亮度差阴影消除算法的MATLAB完整程序分享

完整代码: clc; clear; close all; warning off; addpath(genpath(pwd)); I=imread(1.png);%%此处导入自己需要检测的图片 [x,y,z]=size(I); figure(Name,Processing Steps),subplot(3,2,1), imshow(I),title(Image 1: Original Image); I=uint8(I); temp1=I; half_intens…

MySQL优化--MVCC

目录 概念 MVCC的具体实现 隐式字段 undo log日志 概念 undo log版本链 readview 接上文,redo log保证了事务的持久性,undo log 保证了事务的原子性和一致性 那,隔离性是如何保证的呢? 锁:排他锁(如…

Linux下Redis 存储

命令使用 目录 命令使用 RDB持久化 AOF持久化 yum安装 [rootlocalhost ~]# yum -y install redis 已加载插件:fastestmirror Loading mirror speeds from cached hostfile* c7-media: * epel: ftp.yz.yamagata-u.ac.jpvim到文件etc/redis.conf 取消注释requirep…

Paddle lite 初识与简单使用

一、何为Paddle lite 官方解释如下: Paddle Lite是飞桨基于Paddle Mobile全新升级推出的端侧推理引擎,在多硬件、多平台以及硬件混合调度的支持上更加完备,为包括手机在内的端侧场景的AI应用提供高效轻量的推理能力,有效解决手机…

Android——事务处理(十二)

1. 事件处理简介 1.1 知识点 (1)了解事件处理的作用; (2)了解常用的事件及相关处理接口; 1.2 具体内容 在android当中,基本上每一个组件都有用相应的事件处理,但是不过有多少种事…

chatgpt赋能python:Python抢单软件:如何优化SEO?

Python抢单软件:如何优化SEO? 导言 随着互联网技术的飞速发展,越来越多的人开始关注SEO(Search Engine Optimization)技术。而对于Python编程工程师来说,了解SEO技术也是非常重要的。那么,如何…

day10 伪操作与混合编程

伪操作 伪操作:不会生成代码,只是在编译之前告诉编译器怎么编译 .global symbol 将symbol声明成全局符号.local symbol 将symbol声明成局部符号.equ DATA, 0xFFMOV R1, #DATA.macro FUNCMOV R1, #1MOV R2, #2.endmFUNC.if 0MOV R1, #1MOV R2, #2.endif…

简要介绍 | 快速傅里叶变换:从原理到应用

注1:本文系“简要介绍”系列之一,仅从概念上对快速傅里叶变换进行非常简要的介绍,不适合用于深入和详细的了解。 快速傅里叶变换:从原理到应用 Denoising Data with Fast Fourier Transform 1. 背景介绍 傅里叶变换(F…