91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中Unittest如何根據不同測試環境跳過用例

發布時間:2021-08-12 13:46:11 來源:億速云 閱讀:106 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Python中Unittest如何根據不同測試環境跳過用例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、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)

運行結果:

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 是一個數組 第一個元素是程序本身路徑

  • sys.argv 實現從程序外部向程序傳遞參數。

例:

how_to_use_argv.py

#encoding:utf8

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

使用命令行運行上述腳本,外部傳入參數:1 2 3 4

python how_to_use_argv.py 1 2 3 4

運行結果

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

小結:

  • sys.argv 實現從程序外部向程序傳遞參數

  • 傳入的第一個參數為腳本文件名

  • 傳入程序的每一個參數以空格 隔開

  • 傳入程序的參數均以字符串的類型存儲,命令行中不需要加引號

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

需求1:一套代碼可以測試多個環境,不希望每次測試不同環境的時候都要去改代碼里面的URL,希望把代碼里面的URL參數化
以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/

運行結果:

打開瀏覽器,導航到百度頁面

Python中Unittest如何根據不同測試環境跳過用例

需求2:有些用例不能在預發布環境或者生產環境運行,怎么跳過該用例

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

運行結果:

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

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

OK (skipped=1)

感謝各位的閱讀!關于“Python中Unittest如何根據不同測試環境跳過用例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜川市| 巴林左旗| 洪洞县| 利辛县| 建昌县| 南开区| 民和| 桐乡市| 池州市| 漠河县| 信丰县| 阜新| 武汉市| 积石山| 仪征市| 乃东县| 宜阳县| 普安县| 磐石市| 淮安市| 彭州市| 丰原市| 怀安县| 多伦县| 福州市| 衡水市| 香河县| 通道| 宜宾市| 灵宝市| 华容县| 鄱阳县| 潜山县| 大城县| 华宁县| 彝良县| 柘城县| 稷山县| 华阴市| 交口县| 安福县|