今天就跟大家聊聊有關(guān)使用Django Admin+HttpRunner實(shí)現(xiàn)一個(gè)接口測(cè)試功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)主營(yíng)施甸網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),施甸h5重慶小程序開(kāi)發(fā)搭建,施甸網(wǎng)站營(yíng)銷(xiāo)推廣歡迎施甸等地區(qū)企業(yè)咨詢(xún)前言
這是一個(gè)使用HttpRunner開(kāi)發(fā)接口平臺(tái)的簡(jiǎn)單Demo。
新建Django項(xiàng)目
安裝依賴(lài)包
pip install httprunner=1.5.6 -i https://pypi.doubanio.com/simple/
模型規(guī)劃
自定義YamlField
由于TestSuite中的request、variables以及用例中的request我們需要使用Python的字典格式,用例中的validate和extract需要使用Python的列表格式。而Django中這些只能按字符串格式TextField存儲(chǔ)。
我們編寫(xiě)一個(gè)自定義YamlField,存庫(kù)時(shí)按字符串存,讀取時(shí)轉(zhuǎn)為Python字典或列表。
在apitest目錄下新建fields.py,內(nèi)容如下。
串存,讀取時(shí)轉(zhuǎn)為Python字典或列表。
在apitest目錄下新建fields.py,內(nèi)容如下。
import yaml from django.db import models class YamlField(models.TextField): def to_python(self, value): # 將數(shù)據(jù)庫(kù)內(nèi)容轉(zhuǎn)為python對(duì)象時(shí)調(diào)用 if not value: value = {} if isinstance(value, (list, dict)): return value return yaml.safe_load(value) def get_prep_value(self, value): # create時(shí)插入數(shù)據(jù), 轉(zhuǎn)為字符串存儲(chǔ) return value if value is None else yaml.dump(value, default_flow_style=False) def from_db_value(self, value, expression, connection): # 從數(shù)據(jù)庫(kù)讀取字段是調(diào)用 return self.to_python(value)