命令列 Pytest之命令列執行

2021-10-12 20:45:05 字數 1515 閱讀 8204

基於一套**,實現流水線的驗證方案,針對每個流水線傳不同的使用者進行驗證,具體的使用者可以選擇每個集群裡面活躍度比較高使用者來進行測試。正如前面說的,在saas化的模式下,底層服務它是共享的機制,但是每個集群它是不同的,這種不同在於它提供的db層面和計算能力,因此需要被驗證。使用pyhton中的argparse可以實現與jenkins中的引數化關聯起來,這樣建立一種機制後,我們只需要在引數化裡面定義我們需要被驗證的點來進行測試。如下**:

這樣結合jenkins的引數化後,可以指定具體的使用者來進行問好,如「無涯課堂為您服務!」或者說「xx為您服務!」,總的來說,這樣指定的使用者它是基於我們實際測試中可以隨意指定的,而不需要單獨的把它寫死,因為寫死是一種最差的解決方案。結合ci的引數化如下圖所示:

然後在具體執行的層面直接呼叫param這個引數可以了,如下圖所示:

這樣構建的時候可以指定具體的引數來進行如下,如下圖所示:

這樣可以依據自己的業務需求,指定需要的使用者進行執行,可以很輕鬆的和ci的引數化之間建立關係然後整合起來。

如果和pytest整合起來後,我們會發現,如上的方式執行的時候,總是會提示錯誤的資訊,這是因為在pytest的測試框架中,它是有它自己內部的一套機制,我們可以結合它內部的命令列執行和ci的引數化來進行整合,從而達到剛才的目的。建立conftest.py的檔案,在裡面新增命令列執行引數的**:

#!/usr/bin/env python

#!coding:utf-8import pytestimport argparsedef pytest_addoption(parser):'''新增pytest的自定義命令列引數'''parser.addoption('--cmdopt',action='store',default='無涯課堂',help='myoption: type1 or pyte2')@pytest.fixture()def getuser(request):'''引數處理成fixture'''return request.config.getoption('--cmdopt')

然後把模組名稱修改為test_開頭的模組名稱,模組裡面的源**具體為:

在ci中,修改執行的方式,具體如下:

這樣修改後,可以很完美的把pytest框架的命令列引數與ci的引數整合起來,從而得到在saas化的架構下,對各個上層應用不同賬戶的驗證,來達到校驗各個集群的目的。

Qt之命令列執行

學習利用開發命令列來編譯乙個qt程式 目錄1新建helloworld.cpp檔案 2開啟命令列 2 開啟命令列 在檔案位置 c programdata microsoft windows start menu 開始 選單 programs visual studio 2015 visual stud...

yii 命令列執行

1.建立匯入命令類protected commands importcommand.php檔案 class importcommand extends cconsolecommand 2.修改配置檔案protected config console.php 主要是連線資料庫,和main.php配置是...

php命令列執行出錯

windows 問題描述 提示是找不到模組php oci.dll等等 問題分析 應該是沒有裝oracle就開了這個擴充套件.問題解決 關掉相關oracle的擴充套件 linux 問題描述 whereis php 沒有內容 問題分析 應該是沒有裝php,但是apache能執行,就是說明安裝了.只是少了...