摘要:其中用到編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項(xiàng)技能都能掌握到一定深度,才能稱(chēng)為一個(gè)完整的知識(shí)體系。
pytest.ini:pytest的主配置文件,可以改變pytest的默認(rèn)行為
conftest.py:是本地插件庫(kù),其中的hook函數(shù)和fixture將作用于該文件所在的目錄以及所有子目錄
tox.ini:如果使用到tox工具,也會(huì)有這個(gè)配置文件,可以把pytest的配置都寫(xiě)在tox.ini文件里,這樣就不用同時(shí)寫(xiě)兩個(gè)配置文件了
setup.cfg: 也采用的是ini文件的格式,而且可以影響setup.py的行為,使用python setup.py test運(yùn)行所有測(cè)試用例
使用pytest --help可以查看pytest支持的所有配置的選項(xiàng),以下只截取部分
markers (linelist): markers for test functionsempty_parameter_set_mark (string):default marker for empty parametersetsnorecursedirs (args): directory patterns to avoid for recursiontestpaths (args): directories to search for tests when no files or directories are given in thecommand line.usefixtures (args): list of default fixtures to be used with this projectpython_files (args): glob-style file patterns for Python test module discoverypython_classes (args):prefixes or glob names for Python test class discoverypython_functions (args):prefixes or glob names for Python test function and method discoverydisable_test_id_escaping_and_forfeit_all_rights_to_community_support (bool):disable string escape non-ascii characters, might cause unwanted side effects(useat your own risk)console_output_style (string):console output: "classic", or with additional progress information ("progress"(percentage) | "count").xfail_strict (bool): default for the strict parameter of xfail markers when not given explicitly(default: False)addopts (args): extra command line optionsminversion (string): minimally required pytest version
當(dāng)在命令行運(yùn)行測(cè)試用例的時(shí)候,通常會(huì)指定多個(gè)命令行參數(shù),但是總不能每次運(yùn)行的時(shí)候都要輸入一遍,這個(gè)時(shí)候我們就可以利用addopts這個(gè)選項(xiàng),將一寫(xiě)常用的參數(shù)聚合到一起,執(zhí)行的時(shí)候不用顯示指定,只需要pytest即可。
[pytest]addopts = - -l --tb=short --strict
rsxX表示pytest會(huì)顯示所有測(cè)試用例被跳過(guò)-s、預(yù)計(jì)失敗-x、預(yù)計(jì)失敗單通過(guò)-X的原因-s,-l表示pytest顯示失敗用例堆棧中的局部變量的信息,–tb=short 表示簡(jiǎn)化堆棧信息,只保留文件和行數(shù),
–strict 選項(xiàng)表示禁止使用未在配置文件注冊(cè)過(guò)的標(biāo)記
將自定義的標(biāo)記注冊(cè)進(jìn)pytest中,如果使用里–strict選項(xiàng),在遇到拼寫(xiě)錯(cuò)誤或者未注冊(cè)的標(biāo)記的時(shí)候就會(huì)報(bào)錯(cuò)。如果不注冊(cè)不使用–strict也能用,但是當(dāng)在自定義的標(biāo)記出現(xiàn)拼寫(xiě)錯(cuò)誤的時(shí)候,在默認(rèn)情況下不會(huì)引起程序錯(cuò)誤,通過(guò)注冊(cè)標(biāo)記的方式,將錯(cuò)誤提前拋出,方便問(wèn)題處理。
[pytest]markers = smoke: 用于冒煙測(cè)試 get
指定pytest最小版本號(hào)
pytest搜索測(cè)試用例的時(shí)候,會(huì)遞歸遍歷所有子目錄,但是隨著產(chǎn)品的迭代有些用例已經(jīng)不適合或者不必要在運(yùn)行了,這時(shí)我們想告訴pytest,這些用例就不要執(zhí)行了。
通過(guò)指定norecursedirs可以實(shí)現(xiàn)
[pytest]norecursedirs = .* venv src *.egg dist build
其實(shí)類(lèi)似.gitignore文件的功能,忽略調(diào)某些文件不進(jìn)行版本控制
norecursedirs告訴pytest那些路徑不用訪(fǎng)問(wèn),testpaths告訴pytest去哪里訪(fǎng)問(wèn)。testpaths是一系列相對(duì)于根目錄的路徑,用于限定測(cè)試用例的搜索范圍,當(dāng)使用tox來(lái)管理測(cè)試用項(xiàng)目時(shí),這時(shí)的項(xiàng)目目錄是自定義的,此時(shí)一般tox.ini和tests用例文件夾處于同級(jí)目錄,就需要在tox.ini里指定測(cè)試目錄
[pytest]testpaths = tests
pytest根據(jù)一定的規(guī)則搜索并運(yùn)行測(cè)試,標(biāo)準(zhǔn)的搜索規(guī)則如下:
1.從一個(gè)多個(gè)目錄開(kāi)始查找,可以在命令行指定目錄,如果未指定則以當(dāng)前目錄為根目錄
2.在該目錄或者所有子目錄下遞歸查找測(cè)試模塊
3.測(cè)試模塊指的是文件名以test_.py或._test.py的文件
4.在測(cè)試模塊中查找以test_開(kāi)頭的函數(shù)名
5.查找以Test開(kāi)頭的類(lèi),會(huì)篩選調(diào)有__ini__函數(shù)的類(lèi),在查找以test開(kāi)頭的方法
python_classes
一般情況下,pytest的測(cè)試搜索規(guī)則尋找以Test開(kāi)頭的測(cè)試類(lèi),而且這個(gè)類(lèi)不能包含__ini__()函數(shù),但是有時(shí)候會(huì)把測(cè)試類(lèi)命名以Test結(jié)尾的類(lèi),比如*Test,這個(gè)時(shí)候就可以指定python_classes的值來(lái)解決**
[pytest]python_classes = *Test Test* *Suit
python_files
和python_classes類(lèi)似,可以更改測(cè)試模塊的搜索規(guī)則
[pytest]python_files = *_test.py test_*.py
python_fuctions
修改測(cè)試方法的搜索規(guī)則
[pytest]python_fuctions = *_test test_*
設(shè)置xfail_strict = true將會(huì)使得那些被標(biāo)記為@pytest.mark.xfail但實(shí)際通過(guò)黨的測(cè)試用例也會(huì)顯示為失敗。
pytest的配置選項(xiàng)還有配置是否輸出到Junit xml報(bào)告文件中,控制臺(tái)日志輸出,log文件輸出配置等,大家可查閱官方文檔繼續(xù)學(xué)習(xí)!
以上筆者的經(jīng)歷更像一張橫向的知識(shí)網(wǎng),創(chuàng)建了一個(gè)交流平臺(tái) 914172719 ,群內(nèi)有各種技術(shù)同行交流、學(xué)習(xí)資料、面試經(jīng)驗(yàn)等。其中用到j(luò)enkins、docker、moutebank、python編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項(xiàng)技能都能掌握到一定深度,才能稱(chēng)為一個(gè)完整的知識(shí)體系。
最后: 可以關(guān)注公眾號(hào):傷心的辣條 ! 進(jìn)去有許多資料共享!資料都是面試時(shí)面試官必問(wèn)的知識(shí)點(diǎn),也包括了很多測(cè)試行業(yè)常見(jiàn)知識(shí),其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專(zhuān)題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
如果我的博客對(duì)你有幫助、如果你喜歡我的博客內(nèi)容,請(qǐng) “點(diǎn)贊” “評(píng)論” “收藏” 一鍵三連哦!
轉(zhuǎn)行面試,跳槽面試,軟件測(cè)試人員都必須知道的這幾種面試技巧!
面試經(jīng):一線(xiàn)城市搬磚!又面軟件測(cè)試崗,5000就知足了…
面試官:工作三年,還來(lái)面初級(jí)測(cè)試?恐怕你的軟件測(cè)試工程師的頭銜要加雙引號(hào)…
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119084.html
摘要:在測(cè)試行業(yè),如果利用作為腳本語(yǔ)言開(kāi)發(fā)自動(dòng)化測(cè)試用例,可用的框架有等主流可供選擇,個(gè)人感覺(jué)較之和應(yīng)該算是現(xiàn)階段最靈活,功能最全面,擴(kuò)展最豐富的框架了。不知道各位在做自動(dòng)化的時(shí)候有沒(méi)有遇到過(guò)用例數(shù)過(guò)多,單機(jī)執(zhí)行效率不高的困擾。 在測(cè)試行業(yè),如果利用python作為腳本語(yǔ)言開(kāi)發(fā)自動(dòng)化測(cè)試用例,可用...
摘要:測(cè)試發(fā)現(xiàn)缺陷就報(bào),開(kāi)發(fā)改了之后測(cè)試再驗(yàn)證缺陷是否已修復(fù)??梢哉f(shuō)并不簡(jiǎn)單,我個(gè)人認(rèn)為好的測(cè)試人員是比開(kāi)發(fā)人員的難度大的,不求全部精通,但要知識(shí)廣。 后面這個(gè)項(xiàng)目才是我...
摘要:前端自動(dòng)化測(cè)試百度搜索功能實(shí)戰(zhàn)可以與結(jié)合生成測(cè)試報(bào)告。以網(wǎng)頁(yè)版本的百度為例,百度首頁(yè)呈現(xiàn)的功能新聞網(wǎng)頁(yè)貼吧知道音樂(lè)圖片視頻地圖等,我們以百度網(wǎng)頁(yè)的搜索功能為例,使用結(jié)合自動(dòng)化測(cè)試框架,完成一個(gè)搜索功能的測(cè)試。 ...
小編寫(xiě)這篇文章的主要目的,就是教給大家,如何使用Django+Pytest,并用Django+Pytest搭建在線(xiàn)自動(dòng)化測(cè)試平臺(tái),具體怎么做呢?下面給大家做一個(gè)詳細(xì)的解答?! ∫?、測(cè)試平臺(tái): 解決分散用例執(zhí)行方式,提供統(tǒng)一測(cè)試用例執(zhí)行過(guò)程、用例管理、測(cè)試報(bào)告 主要是基于: fastapi+vue.js django+vue.js django 二、搭建過(guò)程 2.1使用django...
摘要:?jiǎn)卧獪y(cè)試框架作為的標(biāo)準(zhǔn)庫(kù),是其他單元測(cè)試框架的基礎(chǔ)。可以和和配合使用編寫(xiě)單元測(cè)試。官網(wǎng)地址單元測(cè)試覆蓋率工具單元測(cè)試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計(jì)工具用來(lái)發(fā)現(xiàn)沒(méi)有被測(cè)試覆蓋的代碼,完善單元測(cè)試的覆蓋率。 在應(yīng)用程序中,單元是具有一個(gè)或多個(gè)輸入和單個(gè)輸出的軟件中最小可測(cè)試部分。單元...
閱讀 2199·2021-11-18 10:02
閱讀 3301·2021-11-11 16:55
閱讀 2705·2021-09-14 18:02
閱讀 2441·2021-09-04 16:41
閱讀 2076·2021-09-04 16:40
閱讀 1199·2019-08-30 15:56
閱讀 2222·2019-08-30 15:54
閱讀 3172·2019-08-30 14:15