pytest参数化的两种方式
1、传统方式
import requests,pytest
from Learning.variable import * # 定义变量
#url = "https://www.baidu.com" class TestClass(object):
global url #在此获取全局变量,并将其设置为TestClass类的全局变量
def setup_class(self):
print("start...") def test_get(self):
#global url #在此获取全局变量,并将其设置为test_get方法内的全局变量
res = requests.get(url=url)
assert res.status_code == 200 if __name__ == '__main__':
pytest.main()
2、pytest推荐模式,即conftest测试数据共享
2.1、在function中使用
# content of test01.py import pytest,requests #将conftest中的com_variable方法传入用例中,不需要导入即可使用
def test_getBaidu(com_variable):
a=requests.get(com_variable['url'])
code = a.status_code
assert code == 200
def test_paas():
pass
# content of conftest.py
import pytest iaas={
'url':'https://www.baidu.com', } @pytest.fixture(scope="module")
def com_variable():
return iaas
2.2、在class中使用
conftest不变,直接在class中的方法入参中传入即可
import requests,pytest
from Learning.variable import * # 定义变量
#url = "https://www.baidu.com" class TestClass(object):
#global url #在此获取全局变量,并将其设置为TestClass类的全局变量
def setup_class(self):
print("start...")
#直接在此传入即可
def test_get(self,com_variable):
#global url #在此获取全局变量,并将其设置为test_get方法内的全局变量
res = requests.get(url=com_variable['url'])
assert res.status_code == 200 if __name__ == '__main__':
pytest.main()
推荐第二种方式!
pytest参数化的两种方式的更多相关文章
- testNG中dataprovider使用的两种方式
testNG的参数化测试有两种方式:xml和dataprovider.个人更喜欢dataprovider,因为我喜欢把测试数据放在数据库里. 一.返回类型是Iterator<Object[]&g ...
- Struts2实现ajax的两种方式
基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...
- CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking)
CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking) 我在(Modern OpenGL用Shader拾取 ...
- 两种方式实现java生成Excel
Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...
- 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入
在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ...
- (转)SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步
最近在琢磨主从数据库之间的同步,公司正好也需要,在园子里找了一下,看到这篇博文比较详细,比较简单,本人亲自按步骤来过,现在分享给大家. 在这里要提醒大家的是(为了更好的理解,以下是本人自己理解,如有错 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- Xamarin Android Activity全屏的两种方式
方式一 直接在Activity的Attribute中定义 如下 在 MainActivity 中 [Activity(Label = "app", MainLauncher = t ...
随机推荐
- linux下通过进程名查看其占用端口
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
- VS2008 Qt Designer 中自定义信号槽
一.Qt Designer自定义槽函数 发现:在VS2008 +Qt4.7 中打开ui文件,所用的英文QT Designer工具,没有转到槽函数的功能,不如QtCreator自带的QtDesigne ...
- Linux字符编码默认为UTF-8,如出现乱码可设置为GBK
Linux字符编码默认为UTF-8,如出现乱码可设置为GBK1.手动更改profile文件的命令: vi /etc/profile 也可以修改 /etc/sysconfig/i18n 文件,如 LAN ...
- HttpURLConnection断点下载
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- python之NLP数据清洗
1.知识点 """ 安装模块:bs4 nltk gensim nltk:处理英文 1.安装 2.nltk.download() 下载相应的模块 英文数据处理: 1.去掉h ...
- jar/war文件的解释
http://blog.csdn.net/tang_123_/article/details/6012202#comments
- 新导入的项目目录结构不对(main目录)
Eclipse导入一个maven项目,碰到一个这样的错误:项目的包路径编程了main.java开头的,而java代码中的pakge却是com开头的,如图. 导致项目编译不通过 错误提示: 解决办法: ...
- powerdesigner使用遇到的一些问题
1.数据库逆向生成er图时,连接数据库问题 由于powerdesigner版本是32位,可能就导致不兼容64位的机器,导致连接mysql失败: 解决方法:方法1.重新配置32位jdk 方法2.mysq ...
- Swift 3.0 Date的简单使用
// // ViewController.swift // Date的使用 // // Created by 思 彭 on 16/9/20. // Copyright © 2016年 思 彭. All ...
- vue如何监听键盘事件中的按键?
原文地址 背景 在一些搜索框中,我们往往需要监听键盘的按下(onkeydown)或抬起(onkeyup)事件以进行一些操作.在原生js或者jQuery中,我们需要判断e.keyCode的值来获取用户所 ...