pytest_demo_实战2_fixture应用
1、py文件所在文件夹下创建 __init__.py 文件
2、文件夹目录下:创建conftest.py
import pytest # @pytest.fixture() 里面没有参数,那么默认scope="function", 也就是此时的级别 function,针对函数有效
"""
firture相对于setup和teardown来说应该有以下几点优势 命名方式灵活,不局限于setup和teardown这几个命名
conftest.py 配置里可以实现数据共享,不需要import就能自动找到一些配置
scope="module" 可以实现多个.py跨文件共享前置
scope="session" 以实现多个.py跨文件使用一个session来完成多个用例
"""
@pytest.fixture()
def test():
print("pytest测试")
3、创建 test_02.py
"""
小说网站
""" import pytest
import requests
import urllib3
from lxml import etree
urllib3.disable_warnings() class Test: s = requests.session()
uri = "https://so.88dush.com" def test_01(self, test):
url = "{}/xiaoshuo/130/130340/".format(self.uri) resonse = requests.get(url, verify=False)
resonse.encoding = 'gb2312'
selector = etree.HTML(resonse.text)
chapter_list = selector.xpath('//div[@class="mulu"]/ul/li/a/text()')
print(chapter_list) if __name__ == '__main__':
pytest.main(["-s", "test_02.py"])
4、右键运行
============================= test session starts ==============================
platform darwin -- Python 3.7.3, pytest-4.6.1, py-1.8.0, pluggy-0.12.0
rootdir: /Users/edz/PyLearn/gengmei/pytest_learn, inifile: pytest.ini
plugins: html-1.20.0, allure-pytest-2.6.4, cov-2.7.1, rerunfailures-7.0, metadata-1.8.0, celery-4.3.0collected 1 item test_02.py [100%] =========================== 1 passed in 1.41 seconds =========================== Process finished with exit code 0
pytest测试
.['1、酒馆打烊了', '2、时间重启游戏', '3、这堆垃圾,人人有份', '4、这是你想的?', '5、连升三级', '6、技能卡', '7、摆正心态,游戏人生!', '8、天大的乌龙!', '9、难,好难,太难了!', '10、她来了吗?', '11、底气决定态度', '12、没有做不到,只有想不到!', '13、朱达昌的中级卡', '14、这不是钱不钱的问题', '15、定了一个小目标', '16、你懂个P的996!', '17、镇住了!', '18、熟练度在提升', '19、生活的幸福感', '20、一个都没猜对!', '21、我是一个摄影师!', '22、这话说得没毛病!', '23、哥哥真棒!', '24、你快乐,所以我快乐!', '25、人生如梦,梦如人生', '26、陪你慢慢玩', '27、你还真是谦虚!', '28、有压力才有动力啊!', '29、这是在挥锄头吗?', '30、怎么啦,我是你哥!', '31、难道是在做梦吗?', '32、居然还可以这样玩?', '33、这又演的哪一出?', '34、我真的不想跳槽啊!', '35、装,还跟哥装!', '36、知己知彼,百战不殆', '37、能力越大,责任越大', '38、完了,不来了!', '39、得来全不费工夫', '40、真是恍然如隔世啊!', '41、这是要搞事情啊!', '42、果然心动了!', '43、人果然都是逼出来的!', '44、这家伙真是任性', '45、二个字:从容', '46、好人有好报啊!', '47、你不是小孩子了', '48、还真是巧啊!', '49、这个梗我不熟啊', '50、好久不见,老铁们!', '51、这玩意来钱不?', '52、出事了,快点来!', '53、正确答案只有一个', '54、他是真懂行!', '55、你们一个都逃不掉', '56、究竟是谁的电话', '57、还是太年轻啊', '58、来一把试试', '59、我现在就是人生赢家', '60、信你个鬼!', '61、大师级的操作', '62、这哪里是青铜啊?', '63、你开一个给我看看!', '64、老哥有些飘了', '65、要学会花钱,才懂得赚钱', '66、端回去重做吧!', '67、吃的这一口讲究', '无题', '69、肾上腺飙升的刺激游戏', '70、不要不要,太吓人了!', '71、意外,绝对是意外!', '72、哥,你太坏了!', '73、兄弟,在哪儿高就啊?', '74、这抽的啥啊?', '75、开天眼了吗?', '76、好像在哪见过', '77、一步,两步,三步', '78、这是鱼皮?', '79、真是不容易啊!', '80、你信吗?', '81、无形装逼最致命', '82、这猫,你还要吗?', '83、哥会骗你吗?', '84、有一说一,不吹不黑', '85、暴富的捷径', '86、看看到底有多高!', '87、不要害人害己哦', '88、老江湖,套路深', '89、有兴趣来玩玩吗?', '90、择日不如撞日', '91、呃……剧本不对啊?', '92、它注定是我的']
5、命令行执行
python3 -s test_02.py
作者:含笑半步颠√
博客链接:https://www.cnblogs.com/lixy-88428977
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。
pytest_demo_实战2_fixture应用的更多相关文章
- pytest_demo_实战1
1.根目录配置 pytest.ini [pytest] addopts = -p no:warnings 2.更改运行手势,系统配置 file -> setting -> Tools -& ...
- SSH实战 · 唯唯乐购项目(上)
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- asp.net core 实战之 redis 负载均衡和"高可用"实现
1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的"高可用"实现, 呵呵双引号的"高可用"并不是 ...
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
- Linux实战教学笔记07:Linux系统目录结构介绍
第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...
随机推荐
- Freemarker简单封装
Freemarker是曾经很流行的一个模板库,它是一种通用的模板库,不仅仅可以用来渲染html. 模板可以分为两类: 只能生成特殊类型文件的模板,如jinja.django.Thymeleaf.jad ...
- mac下chm文件打开乱码解决
菜单栏点击---显示---文本编码(选择编码格式)
- 深入理解--VUE组件中数据的存放以及为什么组件中的data必需是函数
1.组件中数据的存放 ***(重点)组件是一个单独模块的封装:这个模块有自己的HTML模板,也有data属性. 只是这个data属性必需是一个函数,而这个函数返回一个对象,这个对象里面存放着组件的数据 ...
- Mac OSX(Mac OS10.11) 安装 pwntools 失败的最新解决方案
pwntools是一个 CTF 框架和漏洞利用开发库,用 Python 开发,由 rapid 设计,旨在让使用者简单快速的编写 exploit. 网上针对 Mac OS 的安装教程大多都是基于 pip ...
- 剑指:和为S的两个数字
题目描述 输入一个数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s. 如果有多对数字的和等于s,输出任意一对即可. 你可以认为每组输入中都至少含有一组满足条件的输出. 样例 输入:[1, ...
- linux下oracle无法删除用户
Oracle删除用户的提示无法删除当前已连接用户.且无法kill掉用户进程的两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user ...
- centos7 升级php7 添加配置epel源 报错:Cannot retrieve metalink for repository: epel. Please verify its path and try again
文章来自:循序渐渐linux:基础知识 一书 7.3章LAMP服务器搭建 日常故障 centos上好多软件升级需要配置epel源 其中有一点小插曲 需要手动更改 1.很多时候,对PHP环境要求较新的版 ...
- MLflow安装配置初入门
学习这个时,要和Kubeflow作比较, 看看它们俩在解决和规范机器学习流程方面的思路异同. mlflow三大内涵: Tracking, Projects, Models. 一,基础镜像 harbor ...
- Rust中的控制结构
fn main() { let number = ; { println!("condition was true"); } else { println!("condi ...
- Hello,DTOS!(中)
org 0x7c00 //主引导程序的入口地址为0x7c00(物理地址),类似于用c或c++程序中的main函数. start: //定义标签,标签的含义就是mov ax,cs这条指令的地址. ...