單元測(cè)試之pytest

?單元測(cè)試之pytest

前提:需要安裝pytest和pytest-html(生成html測(cè)試報(bào)告)

一.命名規(guī)則

**Pytest單元測(cè)試中的類名和方法名必須是以test開頭

impor tpytest

from xml.dom import minidom

classTestPy01():

deftestPy001(self):

print("第一個(gè)pytest")

assert1==1

deftestPy002(self):

print("第二個(gè)pytest")

assert1==2

deftestPy003(self):

print("第三個(gè)pytest")

assert1==1

if__name__=='__main__':

pytest.main()

二指黎、Pytest生成自帶的html測(cè)試報(bào)告

前提條件:需要下載pytest-html模塊(python自帶的生成測(cè)試報(bào)告模塊)

方式一:

pytest.main(["--html=./report.html","模塊.py"])

方式二:

pytest.main([‘--html=./report.html’,‘模塊.py::類::test_a_001'])

方式三:

pytst.main(['-x','--html=./report.html','t12est000.py'])

-x:出現(xiàn)一條測(cè)試用例失敗就退出測(cè)試

-v:豐富信息模式,輸出更詳細(xì)的用例執(zhí)行信息

-s:顯示print內(nèi)容

-q:簡(jiǎn)化結(jié)果信息舞萄,不會(huì)顯示每個(gè)用例的文件名



跳過該用例使用@pytest.mark.skip()

@pytest.mark.skip()

def test001(self):

assert2==2

三、Pytest的運(yùn)行方式

.點(diǎn)號(hào)抖剿,表示用例通過

F表示失敗Failure

E表示用例中存在異常Error

四谴轮、文件讀取

##讀取csv文件

import csv#導(dǎo)入csv模塊

classReadCsv():

def read_csv(self):

item=[]#定義一個(gè)空列表

c=csv.reader(open("../commonDemo/test1.csv","r"))#得到csv文件對(duì)象

forcsv_iinc:

item.append(csv_i)#將獲取的數(shù)據(jù)添加到列表中

returnitem


r=ReadCsv()

print(r.read_csv())

##讀取xml文件

from xml.dom import minidom

classReadxml():

defread_xml(self,filename,onename,twoname):

root=minidom.parse(filename)

firstnode=root.getElementsByTagName(onename)[0]

secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.data

returnsecondnode

五炒瘟、Allure

Allure是一款輕量級(jí)并且非常靈活的開源測(cè)試報(bào)告框架,它支持絕大多數(shù)測(cè)試框架第步, 例如TestNG疮装、Pytest缘琅、JUint等。它簡(jiǎn)單易用廓推,易于集成

1.先下載Allure→配置Alluer環(huán)境變量→輸入allure檢驗(yàn)配置是否成功→安裝allure,輸入(pip install allure-pytest)

2.Allure常用的特性

@allure.feature# 用于描述被測(cè)試產(chǎn)品需求

@allure.story# 用于描述feature的用戶場(chǎng)景刷袍,即測(cè)試需求

withallure.step():# 用于描述測(cè)試步驟,將會(huì)輸出到報(bào)告中

allure.attach# 用于向測(cè)試報(bào)告中輸入一些附加的信息樊展,通常是一些測(cè)試數(shù)據(jù)呻纹,截圖等

案例:

import pytest,allure,os

classTestClass005():

@allure.feature("用戶登錄功能")#用于定義被測(cè)試的功能,被測(cè)產(chǎn)品的需求點(diǎn)

@allure.story("登錄成功")#用于定義被測(cè)功能的用戶場(chǎng)景专缠,即子功能點(diǎn)

deftest_success(self):

assert1==1

@allure.feature("用戶登錄功能")#用于定義被測(cè)試的功能雷酪,被測(cè)產(chǎn)品的需求點(diǎn)

@allure.story("登錄失敗")#用于定義被測(cè)功能的用戶場(chǎng)景,即子功能點(diǎn)

deftest_fail(self):

assert1==2

if__name__=='__main__':

pytest.main(['--alluredir','report/result','test_06.py'])#生成json類型的測(cè)試報(bào)告

split='allure '+'generate '+'./report/result '+'-o '+'./report/html '+'--clean'#將測(cè)試報(bào)告轉(zhuǎn)為html格式

os.system(split)# system函數(shù)可以將字符串轉(zhuǎn)化成命令在服務(wù)器上運(yùn)行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涝婉,一起剝皮案震驚了整個(gè)濱河市哥力,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌墩弯,老刑警劉巖吩跋,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異渔工,居然都是意外死亡锌钮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門引矩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轧粟,“玉大人,你說我怎么就攤上這事脓魏。” “怎么了通惫?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵茂翔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我履腋,道長(zhǎng)珊燎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任遵湖,我火速辦了婚禮悔政,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘延旧。我一直安慰自己谋国,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布迁沫。 她就那樣靜靜地躺著芦瘾,像睡著了一般捌蚊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上近弟,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天缅糟,我揣著相機(jī)與錄音,去河邊找鬼祷愉。 笑死窗宦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的二鳄。 我是一名探鬼主播赴涵,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼泥从!你這毒婦竟也來了句占?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤躯嫉,失蹤者是張志新(化名)和其女友劉穎纱烘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祈餐,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡擂啥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帆阳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哺壶。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜒谤,靈堂內(nèi)的尸體忽然破棺而出山宾,到底是詐尸還是另有隱情,我是刑警寧澤鳍徽,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布资锰,位于F島的核電站,受9級(jí)特大地震影響阶祭,放射性物質(zhì)發(fā)生泄漏绷杜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一濒募、第九天 我趴在偏房一處隱蔽的房頂上張望鞭盟。 院中可真熱鬧,春花似錦瑰剃、人聲如沸齿诉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鹃两。三九已至遗座,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俊扳,已是汗流浹背途蒋。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留馋记,地道東北人号坡。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梯醒,于是被迫代替她去往敵國(guó)和親宽堆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容