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:\你 ...
随机推荐
- Webpack相关原理浅析
基本打包机制 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(de ...
- 10.Redis 主从架构
作者:中华石杉 Redis 主从架构 单机的 redis,能够承载的 QPS 大概就在上万到几万不等.对于缓存来说,一般都是用来支撑读高并发的.因此架构做成主从(master-slave)架构,一主多 ...
- Git的认识与使用
Git教程 https://www.liaoxuefeng.com/wiki/896043488029600/897271968352576 Git与SVN区别 Git 不仅仅是个版本控制系统,它也是 ...
- CVE-2019-0708漏洞利用复现
CVE-2019-0708漏洞利用复现 距离这个漏洞爆出来也有好几个月了,之前一直忙也没来得及写文档,现在重新做一遍. 准备环境: win7靶机 IP地址:172.16.15.118 Kali攻击机 ...
- Linux学习之常用命令(三)
常用命令之工作目录 显示当前目录 pwd[选项] 切换目录 cd [文件路径] cd /root 注意:可以使用Tab键进行路径补齐 cd .. >>返回上次的目录 显示目录以及文件信息 ...
- 201871010101-陈来弟《面向对象程序设计(Java)》第十一周学习总结
201871010101-陈来弟<面向对象程序设计(Java)>第十一周学习总结 实验九 泛型程序设计技术 实验时间 2019-11-8 第一部分:理论基础知识 1.什么是泛型类 泛型是 ...
- TVM:
Hello TVM 发表于 2019-06-29 TVM 是什么?A compiler stack,graph level / operator level optimization,目的是(不同框 ...
- zz视频分割在移动端的算法进展综述
视频分割在移动端的算法进展综述 语义分割任务要求给图像上的每一个像素赋予一个带有语义的标签,视频语义分割任务是要求给视频中的每一帧图像上的每一个像素赋予一个带有语义的标签. 视频分割是一项广泛使用的技 ...
- leetcode2. 两数相加
使用迭代的方式 class Solution{ public: ListNode *addTwoNumbers(ListNode* l1,ListNode *l2) { ListNode *res=) ...
- Taro/JS/H5/小程序:纯前端解决小程序微信支付统一下单和调起支付
这个文章不会说具体0到1的代码流程,我会着重讲几个问题的解决 准备以下依赖 "md5": "^2.2.1", "xml-js": " ...