主頁(yè) > 知識(shí)庫(kù) > python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析

python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析

熱門標(biāo)簽:南昌辦理400電話怎么安裝 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 徐州天音防封電銷卡 獲客智能電銷機(jī)器人 電話機(jī)器人適用業(yè)務(wù) 湛江電銷防封卡 哈爾濱外呼系統(tǒng)代理商 不錯(cuò)的400電話辦理 佛山防封外呼系統(tǒng)收費(fèi)

common中存放的是整個(gè)項(xiàng)目中公共使用的封裝方法

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

datas中專門存放測(cè)試數(shù)據(jù)(yml文件)

cases中專門集中存放測(cè)試用例 ...

數(shù)據(jù)分離的第一步先找到工程項(xiàng)目路徑

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

運(yùn)行結(jié)果可以清晰看到,已經(jīng)找到存放數(shù)據(jù)的文件夾路徑并拼接成功 ...

os模塊不熟悉可參考菜鳥(niǎo)教程

數(shù)據(jù)分離的第二步封裝一個(gè)讀取yml文件的函數(shù)或類方法

這里就先寫(xiě)一個(gè)函數(shù)把

首先要先安裝yml

 pip install pyaml

再導(dǎo)入包,然后再進(jìn)行封裝

# -*- 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的函數(shù)寫(xiě)完以后,要記得測(cè)試下是否滿足自己需要的功能;從結(jié)果來(lái)看滿足我目前需要功能 ...

yaml語(yǔ)法不熟悉的也可以參考菜鳥(niǎo)教程

數(shù)據(jù)分離的第三步測(cè)試用例中引入數(shù)據(jù)并運(yùn)行

# -*- 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值 ...

從返回的結(jié)果可以清晰看到,3 passed,且用時(shí)0.66s ...

至此,測(cè)試數(shù)據(jù)和代碼分離完成 ...

以上就是python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析的詳細(xì)內(nèi)容,更多關(guān)于python接口自動(dòng)化測(cè)試資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python接口自動(dòng)化淺析數(shù)據(jù)驅(qū)動(dòng)原理
  • Python接口自動(dòng)化淺析登錄接口測(cè)試實(shí)戰(zhàn)
  • Python接口自動(dòng)化淺析unittest單元測(cè)試原理
  • python使用pytest接口自動(dòng)化測(cè)試的使用
  • Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼

標(biāo)簽:呂梁 廣西 安康 蕪湖 吉安 紹興 懷化 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析》,本文關(guān)鍵詞  python,接口,自動(dòng)化,測(cè)試,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python接口自動(dòng)化測(cè)試數(shù)據(jù)和代碼分離解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章