1. 简介

  2. 今天还是开始pytest的学习和修炼,学习就不是一件一蹴而就的事情,需要日积月累,不要灰心。慢慢的来,多花点时间,争取赶上来就好了。今天主要学习一下pytest的执行用例的规则。

  3. 通过help帮助查看pytest如何使用
    1.查看pytest命令行参数,可以用pytest -h 或pytest --help查看

  4. 用例设计原则
    文件名以test_.py文件和test.py
    以test_开头的函数
    以Test开头的类
    以test_开头的方法
    所有的包pakege必须要有__init
    _.py文件

4.开始用例设计
4.1.用例设计目录

4.2.test_bjhg_class.py

#content of  test_bjhg_class.py
class TestClass:def test_one(self):x = "this"assert 'h' in xdef test_two(self):x = "hello"assert hasattr(x, 'check')def test_three(self):a = "hello"b = "hello world"assert a in b

4.3.test_bjhg_sample.py

#content of  test_bjhg_sample.py
def func(x):return x + 1def test_answer():assert func(3) == 5
  1. 执行方式
    cmd执行pytest用例有三种方法,以下三种方法都可以,一般推荐第一个。简单、好记、好写。
    pytest
    py.test
    python -m pytest

如果不带参数,在某个文件夹下执行时,它会查找该文件夹下所有的符合条件的用例(查看用例设计原则)

  1. 执行规则
    1.执行某个目录下所有的用例
    pytest 文件名/

2.执行某一个py文件下用例
pytest 脚本名称.py

1.-v:pytest -v 说明:可以输出用例更加详细的执行信息,比如用例所在的文件及用例名称等。

2.-s:pytest -s 说明:输入我们用例中的调式信息,比如print的打印信息等,我们在上面用例8行加上一句 print(driver.title)。

3.-m:pytest -m ”标记“ 说明:执行特定的测试用例。我们再次修改一下我们的用例,并添加一个新的用例。我们可以看到只执行了被标记的用例,新添加的用例并没有被执行.

4.-k按关键字匹配:pytest -k “关键字” 说明:执行用例包含“关键字”的用例。
这将运行包含与给定字符串表达式匹配的名称的测试, 上面的例子将运行pytest -k “test_two”

5.-q:pytest -q 说明:简化控制台的输出,可以看出输出信息和上面的结果都不一样。

6.按节点运行:运行指定文件中的测试类
每个收集的测试都分配了一个唯一的nodeid,它由模块文件名和后跟说明符组成来自参数化的类名,函数名和参数,由:: characters分隔。
比如指定运行test_bjhg_class.py中的测试类TestClass(pytest -v bjhg/test_bjhg_class.py::TestClass)

7.按节点运行:运行指定的测试用例函数
7.1.运行.py模块里面的某个函数(pytest -v bjhg/test_bjhg_class.py::test_two)

4.2.运行.py模块里面,测试类里面的某个方法(pytest -v bjhg/test_bjhg_class.py::TestClass::test_two)

8.标记表达式(pytest -m slow)
将运行用@ pytest.mark.slow装饰器修饰的所有测试。

9.从包里面运行(pytest —pyargs pkg.testing)
这将导入pkg.testing并使用其文件系统位置来查找和运行测试。

10.pytest -x( 遇到错误时停止测试):pytest -x test_class.py

11.pytest -maxfail=num(当用例错误个数达到指定数量时,停止测试),pytest --maxfail=1

12. Pycharm配置pytest:以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择pytest

13. Pycharm运行三种方式:上边已经介绍了如何在cmd执行pytest用例,平常我写代码在pycharm比较多,写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例。

14.xx.py脚本方式直接执行
14.1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行。

14.2.参考代码

def hello():print("hello world !")if __name__=="__main__":hello()

15.以unittest方式运行
15.1.当脚本命名为test_xx.py时,用到unittest框架,此时运行代码,pycharm会自动识别到以unittest方式运行。

16.pytest方式运行
16.1.以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择pytest

16.2.备注:pytest是可以兼容unittest框架代码的。

17.在pycharm里面写pytest用例,先导入pytest。

#content of  test_bjhg_class.py
import pytestclass TestClass:def test_one(self):x = "this"assert 'h' in xdef test_two(self):x = "hello"assert hasattr(x, 'check')def test_three(self):a = "hello"b = "hello world"assert a in bif __name__ == "__main__":pytest.main('-q test_bjhg_class.py')

17.1.运行结果:“.F. ” 点是代表测试通过,F是Fail的意思,1 warnings是用于pytest.main(’-q test_class.py’)里面参数需要传list,多个参数放list就不会有警告了。
pytest.main([’-q’, ‘test_bjhg_class.py’])

18.Pycharm设置pytest
18.1.新建工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择pytest

18.2.改完之后,再重新建个脚本(注意是先改项目运行方式,再写代码才能出来),接下来右键运行就能出来pytest运行。

18.3.pytest是可以兼容unittest脚本的,之前写的unittest用例也能用pytest框架去运行。

第二:Pytest执行用例规则和Pycharm运行的三种姿态相关推荐

  1. python代码设计测试用例_《带你装B,带你飞》pytest成神之路2- 执行用例规则和pycharm运行的三种姿态...

    1. 简介 今天北京下的雪好大好美啊!!!哎呀,忘记拍照片了,自己想象一下吧.言归真传,今天还是开始pytest的学习和修炼,上一篇写完后群里反响各式各样的,几家欢乐几家愁,有的高兴说自己刚好要用到了 ...

  2. python进程通信方式有几种_python全栈开发基础【第二十一篇】互斥锁以及进程之间的三种通信方式(IPC)以及生产者个消费者模型...

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  3. pytest执行用例报“Skipped: no variables file“跳过执行case问题解决

    [问题] 在Pycharm中执行pytest时,case全部被跳过,未能成功执行case.提示"Skipped: no variables file" [解决方法] 在PyChar ...

  4. 职场潜规则:公司出现这三种信号,你必须果断辞职!

    ===================================================================== 很多职场的朋友,都在是不是跳槽之间犹豫不决,自己做的不开心, ...

  5. pytest 第一章 安装与执行用例

    pytest框架学习笔记 摘要:pytest框架学习笔记,记录pytest相关知识点,pytest安装执行用例. pytest简单操作 学习前提条件: 已学习python语法 了解测试相关知识 已安装 ...

  6. 第五:Pytest之收集用例规则与运行指定用例

    前言 上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息.那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用 ...

  7. matlab强化学习DDPG算法改编/菜鸟理解2——航天器三轴姿态稳定器学习算例

    目录 写在前面 matlab强化学习库简介 航天器三轴姿态稳定器介绍 算法流程 代码/simulink 结果展示与分析 一些心得 写在最后 写在前面 %写在前面: 本人大四狗一名,不是计算机专业,所以 ...

  8. Ubuntu桌面启动后自动执行指定的命令或程序的三种方法

     使用Ubuntu的过程中,经常会开机后执行一些固定的动作,每次手工操作很麻烦.其实Ubuntu有很多方法可以自动执行脚本和命令,先来介绍三种最简单的,文章最后会提到几种其他的方法. 一.基于图形桌面 ...

  9. python程序执行三种方式,Python运行程序的三种方法

    对于python中运行程序的方法,是我们初学时就已经掌握过的了,想必大家会的只是其中的一两种方式. 本篇对程序运行的三种方式进行了整理,分别是:Python的解释器.交互式运行和PyCharm,大家在 ...

最新文章

  1. [转]WxEmojiView
  2. 低通采样和带通采样定理
  3. 干货!全面认识Docker和基本指令
  4. 生理性玻璃体混浊的分类与预防控制
  5. 将数字转化为液晶显示屏的样子
  6. Failed to bind properties under mybatis-plus.configuration.result-maps[0]
  7. 华为云推出新冠肺炎AI辅助诊断服务,CT量化结果秒级输出
  8. 深入理解Zuul之源码解析
  9. 高校云计算机中心建设方案,最新某大学云数据中心建设方案.pdf
  10. 怎么让SVN日志显示作者和日期等信息?
  11. linux java 自启动_Linux设置开机启动脚本
  12. 怎么查自己电脑服务器信息吗,怎么查看自己云服务器信息吗
  13. Rust: format!
  14. 进销存excel_excel进销存人人都会的制作方法
  15. Android中使用Iconfont图标制作自己的矢量图库
  16. Wannacry浅析
  17. 分享的15条为人处事原则、70条忠告(值得收藏)
  18. 【宏】【DEBUG宏】
  19. WLAN没有有效的IP配置,无Internet安全(开放)
  20. win7系统屏蔽全/半角切换问题

热门文章

  1. XML-RPC技术在WP上研究(一)
  2. XAF 如何使用复合主键和复合外键
  3. asp.net checkboxlist绑定数据读取出来
  4. 防微博内容展示,使用Html.fromHtml(),解决内容不能换行的问题
  5. sql_action
  6. 【贪心】[USACO 2015 February Contest, Gold]Circular Barn
  7. asp.net 子域跨域 带cookie
  8. 实现自己的Linq to Sql
  9. MVVM js 库JsRender/JsViews和knockoutjs介绍
  10. 转载JNI(Windows)