日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pytest入门【2】

發布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pytest入门【2】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、setup/teardown、setup_class/teardown_class所有

為什么需要這些功能?

比如:web自動化執行用例之前,請問需要打開瀏覽器嗎?用例執行后需要關閉瀏覽器?

class TestMashang:

? ? ? ?#這個在所有的用例之前只執行一次

? ? ? ?def setup_class(self):

? ? ? ? ? ? ?print('在每個類執行前的初始化的工作:比如:創建日志對象,創建數據庫的連接')

? ? ?#在每個用例之前執行一次

? ? ? def setup(self):

? ? ? ? ? ? ?print('\n在執行測試用例之前初始化的代碼:打開瀏覽器,加載網頁')

? ? ? ?def test_01_baili(self):

? ? ? ? ? ? ?print('\n測試百里')

? ? ? ?def test_02_xingyao(self):

? ? ? ? ? ? ?print('測試星瑤')

? ? ? ?def teardown(self):

? ? ? ? ? ? print('\n在執行測試用例之后的掃尾的代碼:關閉瀏覽器')

? ? ? ?def teardown_class(self):

? ? ? ? ? ?print('在沒法類執行后的掃尾的工作:比如銷毀日志對象,銷毀數據庫')

注意:和unittest不一樣,全是小寫

二、使用@pytest.fixture()裝飾器來實現部分用例的前后置

?裝飾器

@pytest.fixture(scope="",params="",autouse="",ids="",name="")

------------------------------------------------------------------------------------------------

1)scope表示的是被@pytest.fixture標記的標記的方法的作用域。function(默認),class,module,package/session

2)params:參數化(支持,列表[],元組(),字典列表[{},{},{}],字典元組({},{},{})

import pytest

@pytest.fixture(scope='function',params=['成龍','甄子丹','菜10'])

def my_fixture(request):

? ? ? print('前置')

? ? ? yield

? ? ? print('后置')

? ? ? return request.param

class TestMashang1:

? ? ? def test_01_baili(self):

? ? ? ? ? ? ?print('\n測試百里')

? ? ?def test_02_xingyao(self,my_fixture):

? ? ? ? ? ? ?print('\n測試星瑤')

? ? ? ? ? ? ?print('-------------'+str(my_fixture))

?params=['成龍','甄子丹','菜10']這里params是參數名,有s

request.param這里是屬性名,是沒有s的。

3).autouse=True:自動使用,默認False

4).ids:當使用params參數化時,給每一個值設置一個變量名,意義不大。

5).name:給表示的是被@pytest.fixture標記的方法去一個別名

當取了別名之后,那么原來的名稱你就用不了了

三、通過conftest.py和@pytest.fixture()結合使用實現全局的前置應用(比如:項目的全局登錄,模塊的全局處理)

1.conftest.py文件是單獨存放的一個夾具配置文件,名稱是不能更改。

2.用處可以在不同的py文件中使用同一個fixture函數

3.原則上conftest.py需要和運行的用例放到統一層,并且不需要做任何的import導入的操作。

總結:

setup/teardown,setup_class/teardown_class 它是作用于所有用例或者所有的類

@pytest.fixture()它的作用是既可以部分也可以全部前后置

confest.py和@pytest.fixture()結合使用,作用于全局的前后置

四、斷言

assert

assert 1==2

五、pytest結合allure-pytest插件生成allure測試報告

昨天:pytest-html

今天:allure-pytest

1.下載,解壓,配置path路徑

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Pytest入门【2】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。