最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Unittest根據(jù)不同測試環(huán)境跳過用例的方法

 更新時間:2018年12月16日 11:00:55   作者:深圳-逸遙  
這篇文章主要給大家介紹了關(guān)于Python Unittest如何根據(jù)不同測試環(huán)境跳過用例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧

前言

在利用單元測試框架執(zhí)行測試用例的過程中,有時只需要執(zhí)行一部分用例,或者跳過某些暫不需要執(zhí)行的用例,python的unittest框架就內(nèi)置這樣的功能。

本文章會講述以下幾個內(nèi)容:

1、Unittest 如何跳過用例

2、如何使用sys.argv

3、自動化測試項目中如何一套代碼多套環(huán)境運行

一、Unittest跳過用例

  • @unittest.skip(reason) , 直接跳過被裝飾的用例 ,reason用于填寫跳過用例的原因
  • @unittest.skipIf(condition, reason) , condition 如果為真,跳過被裝飾的用例,reason用于填寫跳過用例的原因
  • @unittest.skipUnless(condition, reason) , condition如果為假,跳過被裝飾的用例,reason用于填寫跳過用例的原因

例:

test_case_skip.py

# encoding:utf8

import unittest

class SkipExample(unittest.TestCase):

 @unittest.skip('用例 1 無條件跳過')
 def test_case_one(self):
 print('---用例 1 ---')

 @unittest.skipIf(2 > 1, '條件為True ,用例2 跳過')
 def test_case_two(self):
 print('---用例 2 ---')

 @unittest.skipUnless(2 < 1, '條件為False, 用例3 跳過')
 def test_case_three(self):
 print('---用例 3 ---')


if __name__ == '__main__':
 unittest.main(verbosity=2)

運行結(jié)果:

test_case_one (__main__.SkipExample) ... skipped '用例 1 無條件跳過'
test_case_two (__main__.SkipExample) ... skipped '條件為True ,用例2 跳過'
test_case_three (__main__.SkipExample) ... skipped '條件為False, 用例3 跳過'

二、如何使用sys.argv

  • sys.argv 是一個數(shù)組 第一個元素是程序本身路徑
  • sys.argv 實現(xiàn)從程序外部向程序傳遞參數(shù)。

例:

how_to_use_argv.py

#encoding:utf8

from sys import argv
print('argv是一個數(shù)組:',argv)

使用命令行運行上述腳本,外部傳入?yún)?shù):1 2 3 4

python how_to_use_argv.py 1 2 3 4

運行結(jié)果

argv是一個數(shù)組: ['how_to_use_argv.py', '1', '2', '3', '4']

小結(jié):

  • sys.argv 實現(xiàn)從程序外部向程序傳遞參數(shù)
  • 傳入的第一個參數(shù)為腳本文件名
  • 傳入程序的每一個參數(shù)以空格 隔開
  • 傳入程序的參數(shù)均以字符串的類型存儲,命令行中不需要加引號

三、自動化測試項目中如何一套代碼多套環(huán)境運行

需求1:一套代碼可以測試多個環(huán)境,不希望每次測試不同環(huán)境的時候都要去改代碼里面的URL,希望把代碼里面的URL參數(shù)化
以UI自動化為例:

test_multiple_env.py

# encoding:utf8

from selenium import webdriver
from sys import argv
import unittest
from time import sleep


class TestEnv(unittest.TestCase):

 def setUp(self):
 self.url = argv[-1]
 print(self.url)
 self.driver = webdriver.Chrome()

 def test_load_page(self):
 self.driver.get(self.url)
 sleep(10)


if __name__ == '__main__':
 suit = unittest.TestSuite()
 suit.addTest(TestEnv('test_load_page'))
 runner = unittest.TextTestRunner()
 runner.run(suit)

運行命令行:

python test_multiple_env.py https://www.baidu.com/

運行結(jié)果:

打開瀏覽器,導(dǎo)航到百度頁面

需求2:有些用例不能在預(yù)發(fā)布環(huán)境或者生產(chǎn)環(huán)境運行,怎么跳過該用例

UI自動化為例:

test_multiple_env_skip.py

# encoding:utf8

from selenium import webdriver
from sys import argv
import unittest
from time import sleep

URL = argv[-1]
print('argv[-1] : ', URL)


class TestEnv(unittest.TestCase):

 def setUp(self):
 self.driver = webdriver.Chrome()

 @unittest.skipIf(URL != 'https://www.baidu.com' ,'不是百度首頁的URL,跳過用例test_load_page')
 def test_load_page(self):
 self.driver.get(URL)
 sleep(10)


if __name__ == '__main__':
 suit = unittest.TestSuite()
 suit.addTest(TestEnv('test_load_page'))
 runner = unittest.TextTestRunner(verbosity=2)
 runner.run(suit)

運行命令行:

python test_multiple_env_skip.py www.testclass.com

運行結(jié)果:

argv[-1] : www.baidu.com
test_load_page (__main__.TestEnv) ... skipped '不是百度首頁的URL,跳過用例test_load_page'

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK (skipped=1)

小結(jié)

從上面的例子可以了解,如何通過sys.argv傳入環(huán)境參數(shù),雖然上文是用百度首頁作為例子,但同時引出,我們在做自動化測試時候,實現(xiàn)一套代碼多環(huán)境運行思路

命令行帶參數(shù)啟動腳本,在Unittest中,可以實現(xiàn)不同的測試環(huán)境可以跳過用例

Github 源碼地址:https://github.com/SEtester/how_to_run_test_case (本地下載

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Python學(xué)習(xí)之str重要函數(shù)

    Python學(xué)習(xí)之str重要函數(shù)

    這篇文章主要介紹了Python str重要函數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python對時間序列進行數(shù)據(jù)分析與可視化的實戰(zhàn)指南

    Python對時間序列進行數(shù)據(jù)分析與可視化的實戰(zhàn)指南

    掌握時間序列分析技術(shù),能幫助我們從數(shù)據(jù)中挖掘出隱藏的趨勢,周期和異常,本文將以股票價格數(shù)據(jù)為例,通過Python實現(xiàn)從數(shù)據(jù)加載到可視化分析的全流程,有需要的可以了解下
    2025-11-11
  • 對numpy中數(shù)組元素的統(tǒng)一賦值實例

    對numpy中數(shù)組元素的統(tǒng)一賦值實例

    下面小編就為大家分享一篇對numpy中數(shù)組元素的統(tǒng)一賦值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python實現(xiàn)人機中國象棋游戲

    Python實現(xiàn)人機中國象棋游戲

    中國象棋是一種古老的棋類游戲,大約有兩千年的歷史。本文將介紹如何通過Python中的Pygame模塊實現(xiàn)人機中國象棋游戲,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • Python 中制作偶數(shù)列表的方法

    Python 中制作偶數(shù)列表的方法

    這篇文章主要介紹了Python 中制作偶數(shù)列表的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Python異常處理try語句應(yīng)用技巧實例探究

    Python異常處理try語句應(yīng)用技巧實例探究

    異常處理在Python中是至關(guān)重要的,try-except是用于捕獲和處理異常的核心機制之一,本文就帶大家深入了解如何使用try-except,處理各種異常情況
    2024-01-01
  • python用selenium打開chrome瀏覽器保持登錄方式

    python用selenium打開chrome瀏覽器保持登錄方式

    大家好,本篇文章主要講的是python用selenium打開chrome瀏覽器保持登錄方式,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python爬蟲庫urllib的使用教程詳解

    Python爬蟲庫urllib的使用教程詳解

    Python?給人的印象是抓取網(wǎng)頁非常方便,提供這種生產(chǎn)力的,主要依靠的就是?urllib、requests這兩個模塊。本文主要給大家介紹一下urllib的使用,感興趣的可以了解一下
    2022-11-11
  • python文件與路徑操作神器?pathlib

    python文件與路徑操作神器?pathlib

    這篇文章主要介紹了python文件與路徑操作神器?pathlib,pathlib中封裝了PurePath和Path類,前者用于處理路徑風(fēng)格的字符串;后者是前者的子類,可直接處理路徑,下文關(guān)于更多的pathlib相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能

    Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能

    這篇文章主要介紹了Python實現(xiàn)的十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換功能,結(jié)合具體實例形式詳細(xì)分析了二進制與十進制相互轉(zhuǎn)換的原理及Python相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10

最新評論

洛扎县| 叶城县| 二连浩特市| 德庆县| 蒙山县| 本溪| 绥芬河市| 河西区| 修文县| 洞口县| 安吉县| 高青县| 肥西县| 沙湾县| 邵武市| 新化县| 镇江市| 孙吴县| 彭阳县| 阳谷县| 衡阳市| 江孜县| 根河市| 宜兰市| 嘉定区| 静海县| 宝鸡市| 崇仁县| 桓台县| 崇礼县| 繁峙县| 陕西省| 台山市| 法库县| 射洪县| 肥城市| 通州市| 织金县| 襄垣县| 宝丰县| 苍溪县|