日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python的pytest框架之命令行參數詳解(上)

系統 1794 0

前言

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框架之命令行參數詳解(上)_第1張圖片

pytest執行用例命令行參數

上面我們已經學會了執行用例的命令 就是pytest, 那么真的就這么簡單了嗎?其實不然,pytest 還提供了很多可供我們執行用例的命令行參數,下面我們就一一介紹并演示

1.-v  :pytest -v 說明:可以輸出用例更加詳細的執行信息,比如用例所在的文件及用例名稱等

2.-s  :pytest -s 說明:輸入我們用例中的調式信息,比如print的打印信息等,我們在上面用例8行加上一句 print(driver.title),我們再運行一下我們的用例看看

python的pytest框架之命令行參數詳解(上)_第2張圖片

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框架之命令行參數詳解(上)_第3張圖片

我們可以看到只執行了被標記的用例,新添加的用例并沒有被執行

4.-k  :pytest -k "關鍵字" 說明:執行用例包含“關鍵字”的用例

python的pytest框架之命令行參數詳解(上)_第4張圖片

5.-q  :pytest -q 說明:簡化控制臺的輸出,可以看出輸出信息和上面的結果都不一樣, 下圖中有兩個..點代替了pass結果

python的pytest框架之命令行參數詳解(上)_第5張圖片

以上5個參數,大家可以自己嘗試一下,下一篇文章會繼續講解其他幾個常用的參數的使用以及pytest是如何發現測試用例的!

下篇將繼續更新其他一些命令選項的使用,和pytest收集測試用例的規則!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 石景山区| 平利县| 佛山市| 宾川县| 洛阳市| 兴山县| 长沙市| 凉城县| 贺州市| 葫芦岛市| 永济市| 德阳市| 张家口市| 朝阳市| 武川县| 全椒县| 司法| 扎鲁特旗| 敦化市| 兴业县| 安义县| 包头市| 鞍山市| 内江市| 曲麻莱县| 绥芬河市| 涡阳县| 全南县| 富平县| 秀山| 静海县| 彰化县| 安康市| 白玉县| 宣威市| 龙山县| 乾安县| 宣汉县| 隆德县| 五大连池市| 甘泉县|