最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自動(dòng)化測(cè)試框架pytest的詳解安裝與運(yùn)行

 更新時(shí)間:2021年10月09日 10:57:51   作者:愛(ài)測(cè)試的高胖胖  
這篇文章主要為大家介紹了Python自動(dòng)化測(cè)試框架pytest的簡(jiǎn)介以及安裝與運(yùn)行,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步

1. pytest的介紹

pytest是一個(gè)非常成熟的全功能的python測(cè)試工具,它主要有以下特征:

簡(jiǎn)單靈活,容易上手;

支持簡(jiǎn)單的單元測(cè)試和復(fù)雜的功能測(cè)試

顯示詳細(xì)的斷言失敗信息

能自動(dòng)識(shí)別測(cè)試模塊和測(cè)試功能

有測(cè)試會(huì)話(huà)、測(cè)試模塊、測(cè)試類(lèi)、測(cè)試函數(shù)級(jí)別的fixture

可用于selenium/Appium等自動(dòng)化測(cè)試和接口自動(dòng)化測(cè)試(pytest+requests);

擁有豐富的第三方插件,還可自定義擴(kuò)展;

可與持續(xù)集成工具進(jìn)行很好的集成,如:Jenkins。

2. pytest的安裝

1. 使用以下命令進(jìn)行安裝

pip install -U pytest

參數(shù)說(shuō)明:
-U: 將指定的軟件包升級(jí)至當(dāng)前最新的可用版本
其他說(shuō)明:
官網(wǎng)安裝說(shuō)明有加上-U參數(shù),不加上-U參數(shù)亦可

2. 檢查是否成功安裝正確版本

$ pytest --version
pytest 6.2.4

3. pytest識(shí)別測(cè)試的條件

1.若無(wú)指定參數(shù),pytest會(huì)從testpath(如果配置)或當(dāng)前目錄下遞歸查找與 norecursedirs不匹配的目錄。

2.查找目錄中所有符合test_*.py*_test.py的文件

3.從匹配到的測(cè)試文件中,搜集滿(mǎn)足以下條件的測(cè)試用例:

  • 在類(lèi)之外的所有test_*方法
  • Test*類(lèi)中包含的所有test_*方法(Test*類(lèi)中不能含有__init__()方法)

4. pytest的運(yùn)行

pytest的運(yùn)行分為以下方式:

1. Pycharm中進(jìn)行調(diào)用
2. Python代碼中調(diào)用
3. 使用命令行進(jìn)行調(diào)用

4.1 Pycharm中調(diào)用

Pycharm中默認(rèn)的test runner是Unittest,無(wú)法識(shí)別使用pytest編寫(xiě)的測(cè)試文件和測(cè)試用例

在這里插入圖片描述

在這里插入圖片描述

進(jìn)入Preferences-->Tools-->Python Integrted Tools,

修改Testing下的Default test runner,改成pytest后,

則可以直接使用Pycharm中的Run按鈕無(wú)參數(shù)的調(diào)用pytest。

在這里插入圖片描述

在這里插入圖片描述

4.2 Python代碼中調(diào)用

在代碼中添加入口函數(shù)—pytest.main(),即可在Python代碼中調(diào)用pytest。

pytest.main()的參數(shù):

在這里插入圖片描述

1. args:命令行指令列表集

示例代碼sample1:

import pytest
class TestDemo:
    def test_demo1(self):
    	print("test_demo1")    
    def test_demo2(self):
    	print("test_demo2")
    if  __name__=='__main__':
     pytest.main(['test_sample.py::TestDemo::test_demo1','-v'])

pytest.main(['test_sample.py::test_demo1','-v'])的參數(shù)說(shuō)明:

''test_sample.py::TestDemo::test_demo1'':表示運(yùn)行test_sample.py中的TestDemo類(lèi)里面名為test_demo1的測(cè)試方式

-v:表示打印詳細(xì)運(yùn)行日志信息

運(yùn)行結(jié)果:

在這里插入圖片描述

2. plugins:在初始化過(guò)程中可自動(dòng)注冊(cè)的插件對(duì)象列表

示例代碼sample2:

import pytest
import sys
class TestDemo:
    def test_demo1(self):
        print("test_demo1")
    def test_demo2(self):
        print("test_demo2")

class MyPlugin:
    def pytest_sessionfinish(self):
        print("*** test run reporting finishing")
if __name__ == '__main__':
    sys.exit(pytest.main(['-v','test_sample.py::TestDemo::test_demo1'], plugins=[MyPlugin()]))

pytest.main(['-v','test_sample.py::TestDemo::test_demo1'], plugins=[MyPlugin()])參數(shù)說(shuō)明:

plugins=[MyPlugin()])):傳入自定義的MyPlugin()函數(shù)

運(yùn)行結(jié)果:

在這里插入圖片描述

4.3 使用命令行調(diào)用

1. 使用python調(diào)用
當(dāng)代碼中我們添加入口函數(shù)后,可以使用python來(lái)調(diào)用pytest。
以sample2的代碼為例,在終端輸入一下命令:

python test_sample.py 

運(yùn)行結(jié)果:

在這里插入圖片描述

2. 使用pytest調(diào)用

常用參數(shù)列表

以下列舉了一些常用的pytest的執(zhí)行參數(shù),其他參數(shù)可使用pytest --help查看。

參數(shù) 說(shuō)明
pytest 目錄路徑 運(yùn)行指定目錄下可收集到的測(cè)試,為空則默認(rèn)執(zhí)行當(dāng)前目錄下收集到的測(cè)試
pytest 文件名.py 執(zhí)行單獨(dú)一個(gè)pytest模塊
pytest 文件名.py::類(lèi)名 運(yùn)行某個(gè)模塊中的某個(gè)類(lèi)
pytest 文件名.py::類(lèi)名::方法名 運(yùn)行某個(gè)模塊中的某個(gè)類(lèi)的某個(gè)方法
pytest -v 打印詳細(xì)運(yùn)行日志信息
pytest -v -s 文件名.py 帶控制臺(tái)輸出結(jié)果,也輸出運(yùn)行詳細(xì)日志信息
pytest -x 文件名.py 一旦運(yùn)行到報(bào)錯(cuò),就停止運(yùn)行
pytest -k "類(lèi)名 and not 方法名" 執(zhí)行某個(gè)關(guān)鍵字的用例
pytest -m [標(biāo)記名] @pytest.mark.[標(biāo)記名]將運(yùn)行這個(gè)標(biāo)記的測(cè)試用例
pytest –maxfail=[num] 當(dāng)運(yùn)行錯(cuò)誤到達(dá)num時(shí)候就停止運(yùn)行
pytest –colection-only 只收集測(cè)試用例
pytest –junitxml=./result.xml 生成執(zhí)行結(jié)果文件
pytest –setup-show 回溯fixture的執(zhí)行過(guò)程

參數(shù)演示示例:

demo目錄如下

在這里插入圖片描述

1.pytest目錄路徑:運(yùn)行指定目錄下可收集到的測(cè)試

在這里插入圖片描述

2.pytest文件名.py:執(zhí)行單獨(dú)一個(gè)pytest模塊

在這里插入圖片描述

3.pytest 文件名.py::類(lèi)名:運(yùn)行某個(gè)模塊中的某個(gè)類(lèi)

在這里插入圖片描述

4.pytest 文件名.py::類(lèi)名::方法名:運(yùn)行某個(gè)模塊中的某個(gè)類(lèi)的某個(gè)方法

在這里插入圖片描述

5.pytest -v: 打印詳細(xì)運(yùn)行日志信息

在這里插入圖片描述

6.pytest -v -s 文件名.py:帶控制臺(tái)輸出結(jié)果,也輸出運(yùn)行詳細(xì)日志信息

在這里插入圖片描述

7.pytest -x 文件名.py:一旦運(yùn)行到報(bào)錯(cuò),就停止運(yùn)行

在這里插入圖片描述

8.pytest -k "類(lèi)名 and not 方法名":執(zhí)行某個(gè)關(guān)鍵字的用例

注意:示例中,測(cè)試用例名稱(chēng)中包含“test_c”和“test_d”的都會(huì)被執(zhí)行

在這里插入圖片描述

9.pytest -m [標(biāo)記名]:@pytest.mark.[標(biāo)記名]將運(yùn)行這個(gè)標(biāo)記的測(cè)試用例

對(duì)兩個(gè)測(cè)試方法進(jìn)行@pytest.mark.[標(biāo)記](méi)的標(biāo)記。

在這里插入圖片描述

運(yùn)行結(jié)果:

只運(yùn)行了被標(biāo)記的兩個(gè)測(cè)試方法。

在這里插入圖片描述

10. pytest --maxfail=[num]:當(dāng)運(yùn)行錯(cuò)誤到達(dá)num時(shí)候就停止運(yùn)行

對(duì)代碼進(jìn)行修改,模擬兩條運(yùn)行失敗測(cè)試用例。

在這里插入圖片描述

運(yùn)行結(jié)果:

在這里插入圖片描述

11. pytest --colection-only:只收集測(cè)試用例

在這里插入圖片描述

12. pytest --junitxml=./result.xml:生成執(zhí)行結(jié)果文件

在這里插入圖片描述

執(zhí)行結(jié)束后,對(duì)應(yīng)目錄下會(huì)生成一個(gè)結(jié)果文件。

在這里插入圖片描述

13.pytest --setup-show:回溯fixture的執(zhí)行過(guò)程

對(duì)原有代碼進(jìn)行修改。新增一個(gè)fixture修飾的函數(shù),并對(duì)test_demo1測(cè)試方法進(jìn)行修改。

在這里插入圖片描述

運(yùn)行結(jié)果:

在這里插入圖片描述

文末說(shuō)明:
以上內(nèi)容是我在閱讀pytest官方文檔后,依照個(gè)人理解進(jìn)行整理。內(nèi)容可能會(huì)有理解錯(cuò)誤之處,歡迎大家留言指正。謝謝!

以上就是Python自動(dòng)化測(cè)試框架pytest介紹安裝與運(yùn)行的詳細(xì)內(nèi)容,更多關(guān)于Python自動(dòng)化測(cè)試框架pytest的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于python的Tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器

    基于python的Tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器

    這篇文章主要介紹了基于python的Tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器的相關(guān)資料,還為大家分享了僅用用50行Python代碼實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器,感興趣的小伙伴們可以參考一下
    2015-12-12
  • python 實(shí)現(xiàn)在shell窗口中編寫(xiě)print不向屏幕輸出

    python 實(shí)現(xiàn)在shell窗口中編寫(xiě)print不向屏幕輸出

    這篇文章主要介紹了python 實(shí)現(xiàn)在shell窗口中編寫(xiě)print不向屏幕輸出的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python學(xué)習(xí)筆記之裝飾器

    Python學(xué)習(xí)筆記之裝飾器

    這篇文章主要介紹了Python 裝飾器的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • Python定義一個(gè)函數(shù)的方法

    Python定義一個(gè)函數(shù)的方法

    這篇文章主要介紹了Python定義一個(gè)函數(shù)的方法及相關(guān)實(shí)例,需要的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • Python中os.path模塊的8個(gè)神奇函數(shù)分享

    Python中os.path模塊的8個(gè)神奇函數(shù)分享

    在Python編程中,os.path模塊是一個(gè)非常重要的模塊,它提供了用于處理文件路徑和目錄的函數(shù),本文將介紹os.path模塊中最常用的8個(gè)內(nèi)置函數(shù),需要的可以參考下
    2023-11-11
  • Python計(jì)算三角函數(shù)之a(chǎn)sin()方法的使用

    Python計(jì)算三角函數(shù)之a(chǎn)sin()方法的使用

    這篇文章主要介紹了Python計(jì)算三角函數(shù)之a(chǎn)sin()方法的使用,是Python入門(mén)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python內(nèi)置進(jìn)制轉(zhuǎn)換函數(shù)的操作

    python內(nèi)置進(jìn)制轉(zhuǎn)換函數(shù)的操作

    這篇文章主要介紹了python內(nèi)置進(jìn)制轉(zhuǎn)換函數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java byte數(shù)組操縱方式代碼實(shí)例解析

    Java byte數(shù)組操縱方式代碼實(shí)例解析

    這篇文章主要介紹了Java byte數(shù)組操縱方式代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 教你用Python寫(xiě)一個(gè)植物大戰(zhàn)僵尸小游戲

    教你用Python寫(xiě)一個(gè)植物大戰(zhàn)僵尸小游戲

    這篇文章主要介紹了教你用Python寫(xiě)一個(gè)植物大戰(zhàn)僵尸小游戲,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python面向?qū)ο缶幊讨?lèi)的運(yùn)算

    Python面向?qū)ο缶幊讨?lèi)的運(yùn)算

    這篇文章主要介紹了Python面向?qū)ο缶幊讨?lèi)的運(yùn)算,運(yùn)算即Operation是操作邏輯的抽象,運(yùn)算體現(xiàn)一種操作邏輯,在廣義角度來(lái)說(shuō)任何程序都是一種運(yùn)算,接下來(lái)看看文章具體內(nèi)容及各種舉例說(shuō)明,希望對(duì)你有所幫助
    2021-11-11

最新評(píng)論

瑞金市| 白河县| 广东省| 井研县| 西畴县| 阜平县| 明水县| 德钦县| 奉新县| 西和县| 江源县| 南乐县| 罗源县| 蓬安县| 合作市| 英超| 和田县| 哈尔滨市| 古蔺县| 青冈县| 诸城市| 兖州市| 龙胜| 虎林市| 来凤县| 新营市| 寿阳县| 乳源| 伊通| 汉阴县| 浮山县| 报价| 宜宾市| 绥化市| 花莲县| 甘谷县| 定西市| 舞阳县| 星座| 蓬莱市| 镇安县|