介面自動化之unittest ddt

2022-06-22 06:39:09 字數 2301 閱讀 4779

#

!/usr/bin/python3

#-*- coding: utf-8 -*-

#@time :2018/12/10 15:03

#@author :yosef-夜雨聲煩

#@email :[email protected]

#@file: :learnddt.py

#@software :pycharm community edition

import

unittest

from ddt import

ddt, data, unpack

import

htmltestrunner

import

time

@ddt

#代表這個測試類使用了資料驅動ddt

class

testcases(unittest.testcase):

defsetup(self):

print("

*******************************")

print("

每一條case執行之前都會執行這個方法")

defteardown(self):

print("

每一條case執行之後都會執行這個方法\n")

@data(

"hello

", "

123", "

") #

代表傳入的引數,一共三個引數,每次執行傳乙個值給value。

deftest_testcases1(self, value):

print("

這是一條測試用例case")

try:

self.asserttrue(value.isalpha())

print("

test pass")

except

exception as e:

print("

出錯啦,錯誤結果是%s

" %e)

print("

test failed")

raise

e @data((1, 1), (1, 2), (1, 1.0)) #

代表傳入的引數,一共三個引數,每次傳入兩個值,下面兩個value分別來接收兩個值。

@unpack #

告訴我們的測試用例傳入的是兩個以上的值

deftest_testcases2(self, value1, value2):

print("

這是一條測試用例case")

try:

self.assertequal(value1, value2)

print("

test pass")

except

exception as e:

print("

出錯啦,錯誤結果是%s

" %e)

print("

test failed")

raisee#

if __name__ == "__main__":

#unittest.main()

suite =unittest.testsuite()

loader =unittest.testloader()

suite.addtest(loader.loadtestsfromtestcase(testcases))

report_dir = "

../test report

"now = time.strftime("

%y-%m-%d %h-%m-%s")

reportname = report_dir + "

/" + now + "

test report.html

"with open(reportname,

"wb+

") as file:

runner = htmltestrunner.htmltestrunner(file, 2, title="

model test report",

description="

hello testers! this is the description of model test""

report")

runner.run(suite)

ddt模組的更多操作使用等待大佬們去發現,我這裡就不細說了。 當然,這只是在unittest模組上基於ddt模組的優化,在後面我將繼續學習,做到測試資料與**分離,然後會繼續優化這個模板。 新手學習,不足之處肯定有,希望大佬們不吝賜教。

介面自動化

推薦一款適合開發的開源 該公司產品從資料庫,持續整合 ci 伺服器,問題和專案跟蹤工具,到介面自動化工具都應有盡有。是我見過比較系統的開發 這裡我們以介面自動化為主講解 pycharm frommenu 2.安裝python解析器 version 3或者version2隨便哪乙個都可以,本人自用ve...

介面自動化

1 get請求 2import requests 3 url 4 data 5 res requests.get url,data 直接用requests.get url,data 即可,其中.get表示為get方法,不需要對字典型別的data進行處理6 res res.text text方法是獲取...

介面自動化

介面 python request 單元測試 測試套件 斷言 自動化測試報告 web端 python selenium 單元測試 斷言 測試套件 自動化測試報告 移動端 斷言 測試套件 自動化測試報告 例如 coding utf 8 匯入介面的包 import requests get 網路請求 網...