国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

自動化測試框架pytest系列之21個命令行參數(shù)介紹(二)

這篇具有很好參考價值的文章主要介紹了自動化測試框架pytest系列之21個命令行參數(shù)介紹(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第一篇 :? 自動化測試框架pytest系列之基礎(chǔ)概念介紹(一)-CSDN博客

接上文

3.pytest功能介紹

3.1 第一條測試用例

首先 ,你需要編寫一個登錄函數(shù),主要是作為被測功能,同時編寫一個測試腳本 ,進(jìn)行測試登錄功能 。

登錄函數(shù)腳本: login.py

# 1. 實現(xiàn)登錄函數(shù)
def login(username,password):
 ? ?db_username = 'admin'
 ? ?db_password = '123456'
?
 ? ?# 判斷用戶名是否為空
 ? ?if username is None or username == "":
 ? ? ? ?return {"code":1,"message":"用戶名不能為空!"}
 ? ?# 判斷密碼是否為空
 ? ?if password is None or password == "":
 ? ? ? ?return {"code":2,"message":"密碼不能為空"}
?
 ? ?# 用戶名和密碼是否和數(shù)據(jù)庫中的匹配
 ? ?if username == db_username and password == db_password:
 ? ? ? ?return {"code":0,"message":"登錄成功"}
?
 ? ?# 登錄失敗
 ? ?return {"code":3,"message":"用戶名或密碼不正確!"}

測試腳本 :test01_login.py

class TestLogin():
?
?
 ? ?# case1 : 輸入正確的用戶名和正確的密碼進(jìn)行登錄
 ? ?def test_login_success(self):
 ? ? ? ?print("1")
 ? ? ? ?expect_result = 0
 ? ? ? ?actual_result = login('admin','123456').get('code')
 ? ? ? ?assert expect_result == actual_result
?
?
 ? ?# case2 : 輸入正確的用戶名和錯誤的密碼進(jìn)行登錄
 ? ?def test_password_is_wrong(self):
 ? ? ? ?print("2")
 ? ? ? ?expect_reesult = 3
 ? ? ? ?actual_result = login('admin','1234567').get('code')
 ? ? ? ?assert expect_reesult == actual_result
?
 ? ?# case3 : 輸入用戶名和空的密碼進(jìn)行登錄
 ? ?def test_password_is_null(self):
 ? ? ? ?print("3")
 ? ? ? ?expect_reesult = 2
 ? ? ? ?actual_result = login('admin', '').get('code')
 ? ? ? ?assert expect_reesult == actual_result
編寫好了以上的測試用例 ,那么該如何運行該測試用例呢 ,這里就涉及到了pytest的具體功能了 。
3.2 pytest的運行方式

通過pytest驅(qū)動測試用例運行,通常有兩種形式 :通過命令行運行和通過main方法運行 。

但你無論使用那種方式運行,它們的共同點就是選項 ,也就是說他們都使用了共同的選項 ,只不過是運行方式不同 。

我們使用一個選項來說明兩者的不同運行方式,加入-s這個選項:

  • 使用命令行+選項運行 ,打開cmd窗口 ,運行命令 :pytest -s

  • 使用main方法運行 ,在代碼中輸入 :pytest.main(['-s'])

其它的選項也都是這樣運行 ,簡單的總結(jié):

  • 如果選擇在命令行運行 :pytest + 選項 + 運行的測試用例

  • 如果選擇main函數(shù)運行 :pytest.main([選項]) ,這里要說明的是將選項傳入到列表中,注意一定放在列表中 。自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

那么 ,都有哪些選項呢 ?具體包括 : ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

接下來我們使用上面編寫的測試用例對以上的選項進(jìn)行說明 :

pytest -k “string” :匹配文件名、類名、函數(shù)名包含string的,并且可以使用邏輯操作符(and , or ,not)進(jìn)行匹配 。看下面的場景:

  • 如果只想運行測試用例test_login_success的話 :pytest test01_login.py -k "login_success"

  • 如果想運行test_password_is_wrongtest_password_is_null用例:pytest test01_login.py -k "is_wrong or is_null" ,這里就使用了邏輯操作符or ,代表或者 。

  • 以上第二種情況也可以這樣寫 :pytest test01_login.py -k "not login_success"

pytest -m string : 需要在代碼中編寫裝飾器@pytest.mark.標(biāo)記符 ,然后通過命令行去匹配這些用例 。

  • 如果想運行用例級別為p2的用例 :pytest test01_login.py -m p2自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?運行結(jié)果 : 自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest -s : 將測試用例中的打印信息輸出到控制臺 。 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest -v : 輸出更加詳細(xì)的信息到控制臺 。 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest -q : 輸出最簡化的信息 。自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?

pytest -x : 遇到錯誤的時停止運行。 自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

運行結(jié)果 : ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest --trace : 代碼出錯不知道原因咋辦 ?在Python中是不是的打斷點,這個就像Python的打斷點,可以讓你一步一步的運行,每按一次n鍵 ,就運行一行代碼 。 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?

pytest --pdb : 這個也可以打斷點 ,關(guān)鍵是這個可以進(jìn)行交互,比如讓其輸出變量等 。 自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?pytest -runxfail : 將標(biāo)記為失敗的用例正常情況下是不運行 ,但是加上此參數(shù) ,繼續(xù)會運行 。自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

看下兩者的運行結(jié)果 : ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest --lf : 只跑上次測試失敗的用例 ,這就意味著至少要跑兩次 。 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest --ff : 先跑上次測試失敗的用例 ,再把其他用例再執(zhí)行一遍 。 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest -n number : 需要安裝pytest-xdisk模塊,同時運行多個線程 ,在用例量大的情況下,可以使用這個參數(shù) 。

  • 如果想3個線程一起跑 ,你可以運行 :pytest -n 3

pytest --alluredir : 需要安裝allure-pytest模塊 ,可以通過它生成allure測試報告所需要的測試數(shù)據(jù) 。然后再使用allure生成測試報告 。但在這里我們主要說明如何生成測試報告的數(shù)據(jù) :

  • 將測試報告數(shù)據(jù)寫入到result目錄中中 :pytest --alluredir=result

pytest --html 需要安裝pytest-html模塊 ,可以直接生成html的測試報告 。

  • 如果想要直接生成html測試報告到當(dāng)前路徑下,報告名為report.html :pytest --html=report.html

pytest --reruns : 需要安裝pytest-rerunfailures模塊 ,運行失敗的測試用例可以再次重跑 。

  • 如果想要在兩次重試之間增加延遲時間,可以使用--reruns-delay選項 ,它的單位是秒 ,比如我想重跑最多3次,每次間隔1秒:pytest --reruns 3 --reruns-delay 1 ,不過該插件和其他功能有些兼容性問題 ,比如和fixture , pdb

多重斷言 :需要安裝pytest-assume模塊 ,它可以進(jìn)行多重斷言,也就是在一條測試方法中編寫多個斷言,如果其中一個斷言失敗了,它還可以繼續(xù)運行,不過在代碼中編寫方式就不同了 。自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

?

設(shè)置測試用例的運行順序: 需要安裝模塊pytest-ordering ,如果運行的測試用例希望給它控制順序 ,尤其是流程性用例 ,一般都會有順序的 。這個直接通過裝飾器給用例設(shè)置就可以了 。 自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

運行結(jié)果 : ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

pytest --count 不斷的重復(fù)測試直到失敗: 需要安裝模塊pytest-repeat ,如果有的測試用例偶發(fā)性的出現(xiàn)bug,不好復(fù)現(xiàn)怎么辦 ,就多運行幾次 ,這個模塊就可以讓他多運行幾次 。比如我讓它運行10次 ,運行命令可以為 :pytest --count=10 ?自動化測試框架pytest系列之21個命令行參數(shù)介紹(二),接口測試,python,接口自動化,Python,自動化,功能測試

這就是以上的主要選項 ,基本涵蓋了主要pytest選項 。當(dāng)然,如果使用pytest.main()函數(shù)運行 ,也是這些選項 ,只需要將這些選項放在列表中,然后傳入main函數(shù)中即可。 ?文章來源地址http://www.zghlxwxcb.cn/news/detail-784099.html

到了這里,關(guān)于自動化測試框架pytest系列之21個命令行參數(shù)介紹(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 從0到1精通自動化測試,pytest自動化測試框架,doctest測試框架(十四)

    從0到1精通自動化測試,pytest自動化測試框架,doctest測試框架(十四)

    doctest從字面意思上看,那就是文檔測試。doctest是python里面自帶的一個模塊,它實際上是單元測試的一種。 官方解釋:doctest 模塊會搜索那些看起來像交互式會話的 Python 代碼片段,然后嘗試執(zhí)行并驗證結(jié)果 doctest測試用例可以放在兩個地方 函數(shù)或者方法下的注釋里面 模塊的

    2024年02月11日
    瀏覽(91)
  • 從0到1精通自動化測試,pytest自動化測試框架,配置文件pytest.ini(十三)

    從0到1精通自動化測試,pytest自動化測試框架,配置文件pytest.ini(十三)

    pytest配置文件可以改變pytest的運行方式,它是一個固定的文件pytest.ini文件,讀取配置信息,按指定的方式去運行 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改變pytest的默認(rèn)行為 conftest.py 測試用例的一些fixture配置 _init_.py 識別該文件夾為python的package包

    2024年02月11日
    瀏覽(456)
  • 自動化測試框架 —— pytest框架入門篇

    今天就給大家說一說pytest框架。 今天這篇文章呢,會從以下幾個方面來介紹: 1、首先介紹一下pytest框架 2、帶大家安裝Pytest框架 3、使用pytest框架時需要注意的點 4、pytest的運行方式 5、pytest框架中常用的插件 pytest 是 python 的第三方單元測試框架,比自帶 unittest 更簡潔和高效

    2024年02月03日
    瀏覽(97)
  • pytest接口測試自動化框架

    目錄 pytest簡介及安裝 pytest的使用規(guī)則 pytest運行方式 主函數(shù)方式 命令行方式 跳過、標(biāo)記及預(yù)期失敗特殊場景處理 pytest前后置、夾具 pytest高級用法fixture pytest接口斷言 pytest結(jié)合allure-pytest生成allure測試報告 ????????談起用例管理框架:python中的unittest、pytest;java中的test

    2024年02月06日
    瀏覽(101)
  • 【自動化測試教程】 —— pytest 框架詳解 ~

    【自動化測試教程】 —— pytest 框架詳解 ~

    特點: 容易上手, 入門簡單, 文檔豐富, 文檔中有很多參考案例 支持簡單的單元測試和復(fù)雜的功能測試 支持參數(shù)化 執(zhí)行測試用例過程中, 支持跳過操作 支持重復(fù)失敗的case 支持運行Nose, unittest編寫測試用例 pytest支持很多第三方插件 方便和持續(xù)集成工具集成 斷言方法: assert res

    2024年02月12日
    瀏覽(104)
  • Selenium+Pytest自動化測試框架

    Selenium+Pytest自動化測試框架

    selenium自動化+ pytest測試框架 本章你需要 一定的python基礎(chǔ)——至少明白類與對象,封裝繼承 一定的selenium基礎(chǔ)——本篇不講selenium,不會的可以自己去看selenium中文翻譯網(wǎng) 測試框架有什么優(yōu)點呢: 代碼復(fù)用率高,如果不使用框架的話,代碼會很冗余 可以組裝日志、報告、郵件

    2024年02月07日
    瀏覽(87)
  • Selenium+Pytest自動化測試框架詳解

    Selenium+Pytest自動化測試框架詳解

    selenium自動化+ pytest測試框架 本章你需要 一定的python基礎(chǔ)——至少明白類與對象,封裝繼承; 一定的selenium基礎(chǔ)——本篇不講selenium,不會的可以自己去看selenium中文翻譯網(wǎng) 測試框架有什么優(yōu)點 代碼復(fù)用率高,如果不使用框架的話,代碼會很冗余 可以組裝日志、報告、郵件等

    2024年02月08日
    瀏覽(25)
  • 引入成熟的Pytest自動化測試框架

    引入成熟的Pytest自動化測試框架

    雖然我們能使用腳本編寫自動化測試框架,但沒有必要重復(fù)找車輪子, 引入成熟的自動化測試框架 即可, Pytest是目前最成熟、功能最全面的Python測試框架之一 ,簡單靈活、易于上手,可完全兼容其他測試框架如unitest,支持參數(shù)化和測試編排功能,擴(kuò)展性強。 1、安裝Pytes

    2024年02月20日
    瀏覽(16)
  • Pytest自動化測試框架之Allure報告

    Pytest自動化測試框架之Allure報告

    Allure?Framework是一種靈活的、輕量級、多語言測試報告工具。 不僅可以以簡潔的網(wǎng)絡(luò)報告形式非常簡潔地顯示已測試的內(nèi)容, 而且還允許參與開發(fā)過程的每個人從日常執(zhí)行中提取最大程度的有用信息和測試。 從開發(fā)/測試的角度來看: Allure報告可以快速查看到缺陷點,可以將

    2024年02月06日
    瀏覽(291)
  • Selenium + Pytest自動化測試框架實戰(zhàn)(上)

    Selenium + Pytest自動化測試框架實戰(zhàn)(上)

    今天呢筆者想和大家來聊聊selenium自動化+ pytest測試框架,在這篇文章里你需要知道一定的python基礎(chǔ)——至少明白類與對象,封裝繼承;一定的selenium基礎(chǔ)。這篇文章不會selenium,不會的可以自己去看selenium中文翻譯網(wǎng)喲。 測試框架有什么優(yōu)點呢 : 代碼復(fù)用率高,如果不使用框

    2024年04月27日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包