本套程式碼和邏輯 是本人的勞動成果,如果有轉載需要標註,
非常適合公司做專案的同學!!!小白也可以學哦!
1.專案目錄
2.公共方法的封裝
2.1如果不用配置檔案 可以使用這個方法進行封裝--但是有一定的缺陷!!!!
import requests METHODS = ['GET', 'POST', 'HEAD', 'TRACE', 'PUT', 'DELETE', 'OPTIONS', 'CONNECT', 'PATCH'] # 可以不使用---- class HTTPClient (object): def __init__(self, url, method='GET', headers=None, cookies=None): """headers: 字典。 例:headers={'Content_Type':'text/html'},cookies也是字典。""" self.url = url self.session = requests.session () self.method = method.upper () if self.method not in METHODS: raise Exception ('不支援的method:{0},請檢查傳入引數!'.format (self.method)) self.set_headers (headers) self.set_cookies (cookies) def set_headers(self, headers): if headers: self.session.headers.update (headers) def set_cookies(self, cookies): if cookies: self.session.cookies.update (cookies) def send(self, params=None, data=None, **kwargs): # urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) response = self.session.request (method=self.method, url=self.url, params=params, data=data, verify=False, **kwargs) response.encoding = 'utf-8' # logger.debug('{0} {1}'.format(self.method, self.url)) # logger.debug('請求成功: {0} {1}'.format(response, response.text)) return response
2.2為什麼要用yaml去做全域性資料的配置
看我部落格yaml的好處 https://www.cnblogs.com/zsplovezsp/p/12443036.html
3.測試用例和測試資料的格式
4.其他的就很簡單了就不做,描述了--如果有想學python和測試開發,測試自動化的可以多關注一下
5,.pytest常用的方法
pytest常用的方法和原理
1.pytest的原理
- pytest外掛基於pluggy模組;pluggy有三個重要概念:HookspecMarker(用來定義hook函式),HookimplMarker(用來實現鉤子函式完成外掛的邏輯)和PluginManager(用來負責註冊和呼叫外掛的管理器);
2.pytest的規定
- 所有規範和實現均遵循pytest_字首命名約定,從而易於區分和查詢
3.載入外掛的方式
- 內建外掛:從程式碼內部的_pytest目錄載入
- 外部外掛(第三方外掛):通過setuptools entry points機制發現的第三方外掛模組
- conftest.py形式的本地外掛:測試目錄下的自動模組發現機制
4.pytest外掛的順序
1.通過掃描命令列中的選項並阻止該外掛被載入(即使內建外掛也可以通過這種方式被阻止)。這是在正常的命令列解析之前發生的。-p no:name
2.載入所有的內建外掛
3.通過預掃描命令列中,-p name選項,在實際解析命令列之前載入指定的外掛
4.載入所有通過setuptools入口點註冊的外掛(可設定環境變數PYTEST_DISABLE_PLUGIN_AUTOLOAD進行禁用,僅載入明確指定的外掛)
5.載入通過環境變數PYTEST_PLUGINS指定的所有外掛
6.載入通過命令列推斷出的所有confest.py檔案:
-如果未指定測試路徑,則使用當前dir作為測試路徑
-如果存在指定測試路徑,那麼載入conftest.py和test */conftest.py,相對於第一個測試路徑
注意,pytest是找不到藏在更深的子目錄裡的confest.py檔案的,最好將confest.py儲存在頂級的測試或者專案的根目錄
7.通過在confest.py檔案中的pytest_plugin指定的變數,遞迴載入所有的外掛
5.安裝路徑
-
- pytest第三方外掛庫網站 https://docs.pytest.org/en/latest/plugins.html
-
- PyPI下載 https://pypi.python.org(可以使用pytest、pytest-、-pytest作為搜尋關鍵字來搜尋外掛)
6.常用的外掛簡單描述
-
- pytest-rerunfailures:失敗用例重跑
- pytest-html:生成xml/html格式的測試報告,儲存於使用者指定路徑
- pytest-repeat:重複執行多次用例
- pytest-assume:進行多次斷言
- pytest-xdist:測試用例可以分散式執行,從而節省自動化測試時間
- pytest-cov:覆蓋率報告,顯示哪些程式碼行已經測試過,哪些還沒有
- pytest-instafail:在測試執行期間報告失敗
- pytest-timeout:根據函式標記或全域性定義進行超時測試
- pytest-ordering:設定執行順序。對於一些上下文依賴的,有時候可能需要設定一些特定執行順序
- pytest-cache:重跑上次失敗的用例
- pytest-autochecklog:自動生成測試日誌
- pytest-sugar:改變預設外觀,新增了一個進度條
6.---------------------------------------------------
如果有想要程式碼和了解更多的可以加 _99Rampant