pytest_03_pycharm运行pytest (转:上海悠悠)

前言

上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多

写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例

pycharm运行三种方式

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

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

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

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

pycharm写pytest代码

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

# D:/YOYO/test_class.py

import pytest

class TestClass:
        def test_one(self):
            x = "this"
            assert ‘h‘ in x

        def test_two(self):
            x = "hello"
            assert hasattr(x, ‘check‘)

        def test_three(self):
            a = "hello"
            b = "hello world"
            assert a in b

if __name__ == "__main__":
    pytest.main(‘-q test_class.py‘)

运行结果

.F.                                                                      [100%]
================================== FAILURES ===================================
_____________________________ TestClass.test_two ______________________________

self = <YOYO.test_class.TestClass object at 0x00000000039F9080>

    def test_two(self):
        x = "hello"
>       assert hasattr(x, ‘check‘)
E       AssertionError: assert False
E        +  where False = hasattr(‘hello‘, ‘check‘)

test_class.py:11: AssertionError
============================== warnings summary ===============================
<undetermined location>
  passing a string to pytest.main() is deprecated, pass a list of arguments instead.

-- Docs: http://doc.pytest.org/en/latest/warnings.html
1 failed, 2 passed, 1 warnings in 0.06 seconds

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

pytest.main([‘-q‘, ‘test_class.py‘])

pycharm设置pytest

1.新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test

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

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

原文地址:https://www.cnblogs.com/lixy-88428977/p/9614456.html

时间: 2024-07-30 19:27:38

pytest_03_pycharm运行pytest (转:上海悠悠)的相关文章

pytest文档3-pycharm运行pytest

前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例 pycharm运行三种方式 1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行 2.当脚本命名为test_x

不能在Python Console中运行pytest

在Python Console中运行pytest发现报错了 这是为什么?因为Python Console已经是进入python之后的环境,就像在python自带的IDLE中运行pytest pytest的运行是不需要进入python环境的,因此可以在Terminal命令行中运行pytest,结果是ok的 原文地址:https://www.cnblogs.com/cnhkzyy/p/9384882.html

(二)运行pytest

pytest有点很多,易读.易写.易运行.失败信息详细等等. 运行pytest 不提供参数时,pytest会在当前目录以及子目录下寻找测试文件,然后运行找到的测试代码 提供一个或者多个目录名.文件名,pytest会逐个查找并运行测试 为了找到所有的测试代码,pytest会递归遍历每个目录以及子目录 在test文件夹下创建 test_three.py import collections Task = collections.namedtuple("Task", ["name&

pycharm运行Pytest警告:passing a string to pytest.main() is deprecated, pass a list of arguments instead.

初学pytest. 将pytest写进Python代码中 不同运行方式都可正常运行     =======================**********************======================================= ============================================================================ 若是没有将pytest写进Python代码,直接运行的话将不能执行pytest: 没

新手学习selenium路线图----转上海悠悠

本来这篇是只在微信公众号(yoyoketang)上发布的,最近一搜,发现本很多人copy(copy公众号的,图片是加载不出来的)了,还没注明出处,不想多说什么,博客上也同步更新这篇吧! 最近群里有不少小白,想入手selenium,但是一直没找到学习路线,还没入门就迷路了,于是小编亲手绘制了一幅学习路线图.希望能帮助小白快速入门,帮助已经入门的,尽快提升! 学习selenium主要分六个阶段,自己在哪个层级,可以对号入座下. 第 一阶段:幼儿园 1.选语言:在学习自动化前,先要选一门语言学习,而不

运行pytest,提示编码错误

配置好pytest.ini文件之后,在命令行输入pytest,提示 报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence 原因是:该配置文件是“utf-8”编码 解决办法:把文件编码改成“gbk”就行了 原文地址:https://www.cnblogs.com/zhaoquanmo/p/10756674.html

2-selenium对浏览器的操作--基于上海悠悠

from selenium import webdriver import time ''' 本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. ''' driver = webdriver.Chrome() url = 'http://www.baidu.com' url1 = 'http://www.google.com' driver.get(url) time.sleep(3) driver

pytest文档33-Hooks函数获取用例执行结果(pytest_runtest_makereport)

前言 pytest提供的很多钩子(Hooks)方法方便我们对测试用例框架进行二次开发,可以根据自己的需求进行改造. 先学习下pytest_runtest_makereport这个钩子方法,可以更清晰的了解用例的执行过程,并获取到每个用例的执行结果. pytest_runtest_makereport 先看下相关的源码,在_pytest/runner.py下,可以导入之后,点进去查看 from _pytest import runner # 对应源码 def pytest_runtest_make

坑:pytest 运行报错unknown hook &#39;pytest_namespace&#39; in plugin &lt;module &#39;allure.pytest_plugin&#39;

右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错信息如下: plugins: allure-adaptor-1.7.10, forked-1.0.2, html-1.20.0, metadata-1.8.0, xdist-1.29.0 collected 17 items / 1 errors / 16 selected INTERNALERRO