python的pytest框架之命令行参数详解(上)

作者:linux超 时间:2021-07-23 02:18:07 

前言

pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作。pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixture模型。pytest是一个软件测试框架,是一款命令行工具,可以自动找到测试用例执行,并且回报测试结果。有丰富的基础库,可以大幅度提高用户编写测试用例的效率。具备扩展性,用户可以自己编写插件,或者安装第三方提供的插件。可以很容易地与其他工具集成到一起使用。比如持续集成,web自动化测试等。

下面列举了一些pytest相对于其他框架的优点

1. 简单的测试可以很简单的编写

2. 复杂的测试也可以简单的编写

3. 测试的可读性

4.易于上手

5. 断言仅使用原生的assert关键字,而不是像unittest那样使用self.assert**那样

6. pytest可以运行unittest和nose编写的测试用例

上面大部分结论其实也不是我个人总结的,是我从一本书上看到的,因为我也是刚刚接触这个框架,了解的也并不多。还有一个重要原因就是写文章不写点所谓的科学理论好像缺少点啥……(别管了前面了*总之一句话:pytest就是一个测试框架和unittest一类,功能很强,支持好多插件,用例写起来简单,代码逻辑性强,值得学习!实际工作中能不能用,能不能用好那就要靠自己了!)^_^废话不多说!

编写第一个测试函数(用例)


from selenium import webdriver
def testOpenUrl():
try:
driver = webdriver.Firefox() # 打开浏览器
driver.get('http://www.baidu.com') # 访问百度
title = driver.title # 获取百度首页的title
assert title == '百度一下,你就知道' # 断言
except AssertionError:
raise AssertionError('断言失败!')
driver.quit()

可以看到用例很简单,就是一个普通的函数(驱动浏览器,打开百度首页,断言首页的title是否正确),那么pytest是如何运行测试用例的呢?

我们可以通过cmd终端,并且换到当前用例所在的目录,输入 pytest 即可,运行结果如下所示

python的pytest框架之命令行参数详解(上)

pytest执行用例命令行参数

上面我们已经学会了执行用例的命令 就是pytest, 那么真的就这么简单了吗?其实不然,pytest 还提供了很多可供我们执行用例的命令行参数,下面我们就一一介绍并演示

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

python的pytest框架之命令行参数详解(上)

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

python的pytest框架之命令行参数详解(上)

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


from selenium import webdriver
import pytest
@pytest.mark.run_this_testcase
def testOpenUrl():
try:
driver = webdriver.Firefox() # 打开浏览器
driver.get('http://www.baidu.com') # 访问百度
title = driver.title # 获取百度首页的title
print(driver.title)
assert title == '百度一下,你就知道' # 断言
except AssertionError:
raise AssertionError('断言失败!')
driver.quit()
def testBaidu():
driver = webdriver.Firefox() # 打开浏览器
driver.get('http://www.baidu.com') # 访问百度
title = driver.title # 获取百度首页的title
assert title == '百度一下,你就知道' # 断言

python的pytest框架之命令行参数详解(上)

我们可以看到只执行了被标记的用例,新添加的用例并没有被执行

4.-k:pytest -k "关键字" 说明:执行用例包含“关键字”的用例

python的pytest框架之命令行参数详解(上)

5.-q:pytest -q 说明:简化控制台的输出,可以看出输出信息和上面的结果都不一样, 下图中有两个..点代替了pass结果

python的pytest框架之命令行参数详解(上)

以上5个参数,大家可以自己尝试一下,下一篇文章会继续讲解其他几个常用的参数的使用以及pytest是如何发现测试用例的!

下篇将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则!

来源:https://www.cnblogs.com/linuxchao/p/linuxchao-pytest-1.html

标签:python,pytest,框架,命令行,参数
0
投稿

猜你喜欢

  • 用python 制作图片转pdf工具

    2023-02-13 09:14:51
  • Oracle 数据库操作类

    2023-07-24 06:58:42
  • 利用Python上传日志并监控告警的方法详解

    2022-08-23 15:31:01
  • 跟老齐学Python之复习if语句

    2022-03-20 19:33:20
  • python枚举类型定义与使用讲解

    2021-04-11 08:55:42
  • Python函数中4种参数的使用教程

    2023-03-06 23:06:03
  • Python中装饰器的基本功能理解

    2021-05-26 05:17:56
  • Python3 执行Linux Bash命令的方法

    2023-11-03 06:47:15
  • Oracle也有注入漏洞

    2010-07-23 13:03:00
  • python SQLAlchemy的Mapping与Declarative详解

    2022-12-04 02:48:37
  • python操作mongodb根据_id查询数据的实现方法

    2023-04-04 23:12:28
  • python实现Windows电脑定时关机

    2021-05-17 02:46:58
  • 通过FSO进行页面计数

    2008-11-27 16:02:00
  • Python实现列表拼接和去重的三种方式

    2021-05-02 23:43:54
  • Web 标准设计实践:Google 的首页

    2008-10-12 12:14:00
  • PHP实现获取第一个中文首字母并进行排序的方法

    2023-10-30 12:29:08
  • 简单介绍Python中的JSON模块

    2023-12-30 00:16:29
  • 用JavaScript脚本实现的图灵机

    2009-01-21 18:10:00
  • 分享15个最受欢迎的Python开源框架

    2021-06-22 12:17:08
  • python人民币小写转大写辅助工具

    2022-02-10 15:28:19
  • asp之家 网络编程 m.aspxhome.com