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

python接口自動化測試數據和代碼分離解析

 更新時間:2021年09月08日 08:59:03   作者:一名小測試  
代碼的可維護性除了代碼冗余之外還有就是數據盡量不要和代碼摻雜在一起,因為閱讀起來會非常的凌亂;數據分離能更好的增加代碼可讀性和可維護性,也能更好的二次修改使用

common中存放的是整個項目中公共使用的封裝方法

從工程目錄上可以看到區(qū)分

datas中專門存放測試數據(yml文件)

cases中專門集中存放測試用例 ...

數據分離的第一步先找到工程項目路徑

# -*- encoding: utf-8 -*-
"""
@__Software__: PyCharm
@__File__: osPath.py
@__Date__: 2021/6/14 21:08
"""
import os  
# 獲取項目的根目錄,apiTest層
FILE = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
# 獲取存放測試數據的文件夾
DATAS = os.path.join(FILE, 'datas')
print(DATAS)
 F:\project_gitee\Test\apiTest\datas 
Process finished with exit code 0

運行結果可以清晰看到,已經找到存放數據的文件夾路徑并拼接成功 ...

os模塊不熟悉可參考菜鳥教程

數據分離的第二步封裝一個讀取yml文件的函數或類方法

這里就先寫一個函數把

首先要先安裝yml

 pip install pyaml

再導入包,然后再進行封裝

# -*- encoding: utf-8 -*-
"""
@__Software__: PyCharm
@__File__: readData.py
@__Date__: 2021/6/14 21:07
""" 
import os
import yaml
from common import osPath as sp 
def read_yml(file):
    with open(file, mode='r', encoding='utf-8') as read_data:
        results = yaml.load(read_data, Loader=yaml.FullLoader)
        return results
print(read_yml(os.path.join(sp.DATAS, 'test_data.yml')))
 
{'test_data': [[{'type': 1}, {'reason': '查詢成功!'}], [{'type': 2}, {'reason': '查詢成功!'}], [{'type': 3}, {'reason': '查詢成功!'}]]} 
Process finished with exit code 0

讀取yml的函數寫完以后,要記得測試下是否滿足自己需要的功能;從結果來看滿足我目前需要功能 ...

yaml語法不熟悉的也可以參考菜鳥教程

數據分離的第三步測試用例中引入數據并運行

# -*- encoding: utf-8 -*-
"""
@__Software__: PyCharm
@__File__: test_example.py
@__Date__: 2021/6/13 19:00
"""
import os
import pytest
import requests
from common import osPath as sp
from common.readData import read_yml
class TestExample:
    s = requests.Session()
    data = read_yml(os.path.join(sp.DATAS, 'test_data.yml')) 
    @pytest.mark.parametrize("test_data, expected", data['test_data'])
    def test_example(self, test_data, expected):
        with self.s as s:
            url = "http://apis.juhe.cn/fapig/euro2020/schedule?key=9d0dfd9dbaf51de283ee8a88e58e218b"
            response = s.get(url, params=test_data)
            print(response.json())
             assert response.json()["reason"] == expected["reason"] 
if __name__ == '__main__':
    pytest.main(["-v", "-s", "test_example"])
Launching pytest with arguments F:/project_gitee/Test/apiTest/cases/test_example.py in F:\project_gitee\Test\apiTest\cases
============================= test session starts ============================ 
collecting ... collected 3 items
test_example.py::TestExample::test_example[test_data0-expected0] 
test_example.py::TestExample::test_example[test_data1-expected1] 
test_example.py::TestExample::test_example[test_data2-expected2] 
 ============================== 3 passed in 0.66s ==============================

data['test_data']是字典取值,取key為test_data的value值 ...

從返回的結果可以清晰看到,3 passed,且用時0.66s ...

至此,測試數據和代碼分離完成 ...

以上就是python接口自動化測試數據和代碼分離解析的詳細內容,更多關于python接口自動化測試資料請關注腳本之家其它相關文章!

相關文章

  • pyqt 實現QlineEdit 輸入密碼顯示成圓點的方法

    pyqt 實現QlineEdit 輸入密碼顯示成圓點的方法

    今天小編就為大家分享一篇pyqt 實現QlineEdit 輸入密碼顯示成圓點的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python 采用paramiko 遠程執(zhí)行命令及報錯解決

    python 采用paramiko 遠程執(zhí)行命令及報錯解決

    這篇文章主要介紹了python 采用paramiko 遠程執(zhí)行命令及報錯解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 科學計算NumPy之Ndarray運算函數操作示例匯總

    科學計算NumPy之Ndarray運算函數操作示例匯總

    這篇文章主要為大家介紹了科學計算NumPy之Ndarray運算函數操作示例匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • python中的urlparse()方法使用

    python中的urlparse()方法使用

    這篇文章主要介紹了python中的urlparse()方法使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Python求凸包及多邊形面積教程

    Python求凸包及多邊形面積教程

    這篇文章主要介紹了Python求凸包及多邊形面積教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python使用PIL將圖片或GIF轉為字符畫的方法詳解

    Python使用PIL將圖片或GIF轉為字符畫的方法詳解

    PIL是專為Python語言設計的圖像處理庫,它涵蓋了廣泛的圖像處理功能,如圖像的加載、保存、編輯,以及執(zhí)行多樣化的圖像處理任務,本文給大家介紹了Python使用PIL將圖片或GIF轉為字符畫的方法,需要的朋友可以參考下
    2025-03-03
  • Python實現Mysql數據統計及numpy統計函數

    Python實現Mysql數據統計及numpy統計函數

    這篇文章主要介紹了Python實現Mysql數據統計的實例代碼,給大家介紹了Python數據分析numpy統計函數的相關知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python讀取nc數據并繪圖的方法實例

    python讀取nc數據并繪圖的方法實例

    最近項目中需要處理和分析NC數據,所以下面這篇文章主要給大家介紹了關于python讀取nc數據并繪圖的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • python中如何對多變量連續(xù)賦值

    python中如何對多變量連續(xù)賦值

    這篇文章主要介紹了python中如何對多變量連續(xù)賦值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 六行python代碼的愛心曲線詳解

    六行python代碼的愛心曲線詳解

    這篇文章主要介紹了六行python代碼的愛心曲線詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05

最新評論

枣阳市| 浪卡子县| 亚东县| 乃东县| 鄂伦春自治旗| 揭阳市| 壤塘县| 黎平县| 阿城市| 仁寿县| 正安县| 姚安县| 云南省| 镇坪县| 洛南县| 新龙县| 巴里| 天柱县| 隆德县| 鱼台县| 株洲市| 星子县| 多伦县| 双辽市| 洱源县| 二手房| 江津市| 睢宁县| 崇左市| 双城市| 南丹县| 武隆县| 安国市| 鲁甸县| 泌阳县| 舞钢市| 大庆市| 察雅县| 邓州市| 万源市| 舞钢市|