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应用的更多相关文章

  1. pytest_demo_实战1

    1.根目录配置 pytest.ini [pytest] addopts = -p no:warnings 2.更改运行手势,系统配置 file -> setting -> Tools -& ...

  2. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  3. GitHub实战系列汇总篇

    基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...

  4. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  5. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  7. asp.net core 实战之 redis 负载均衡和"高可用"实现

    1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的"高可用"实现, 呵呵双引号的"高可用"并不是 ...

  8. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  9. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

随机推荐

  1. Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录

    Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...

  2. python 排序和查找算法

    一.搜索 1.顺序查找 数据存储在具有线性或顺序关系的结构中时,可顺序访问查找 def sequential_search(ilist, item): pos = 0 while pos < l ...

  3. 深入理解--VUE组件中数据的存放以及为什么组件中的data必需是函数

    1.组件中数据的存放 ***(重点)组件是一个单独模块的封装:这个模块有自己的HTML模板,也有data属性. 只是这个data属性必需是一个函数,而这个函数返回一个对象,这个对象里面存放着组件的数据 ...

  4. vue--购物车案例(小知识点总结)

    Html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. Java并行程序基础。

    并发,就是用多个执行器(线程)来完成一个任务(大任务)来处理业务(提高效率)的方法.而在这个过程中,会涉及到一些问题,所以学的就是解决这些问题的方法. 线程的基本操作: 1.创建线程:只需要new一个 ...

  6. visudo: /etc/sudoers is busy, try again later

    启动visudo时,报错"visudo: /etc/sudoers is busy, try again later" 解决思路:杀掉visudo进程 ps -ef|grep vi ...

  7. mtime, atime, ctime 的区别

    mtime ls -l 显示最近修改文件内容的时间 atime ls -lu 显示最近访问文件的时间 ctime ls -li 显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等 ...

  8. Django 基于 jquery 的 ajax

    <1> $.ajax的两种写法: $.ajax("url",{}) $.ajax({}) <2> $.ajax的基本使用 $.ajax({ url:&quo ...

  9. odoo10学习笔记八:qweb引擎

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189307.html 一:简介 QWeb是一个基于xml的模板引擎,用于生成HTML片段和页面,模板指令是 ...

  10. 当请求进入Nginx后,每个HTTP执行阶段的作用

    阶段顺序 阶段名称 作用 1 NGX_HTTP_POSTREAD_PHASE = 0 接收并读取请求阶段 2 NGX_HTTP_SERVER_REWRITE_PHASE 修改url阶段,通常有重定向和 ...