测开之路六十:接口测试平台之common目录
实现接口测试平台使用jsonpath进行取值来断言,效果:
访问页面:

调试功能:http://www.kuaidi100.com/query

保存功能


触发执行功能


查看报告功能


目录结构

common的代码:
init:

import time
import uuid def get_timestamp(data=None):
""" 生成字符串格式的时间戳数据 20190704204826 """
if data:
return time.strftime("%Y%m%d%H%M%S", time.localtime(data)) # 把传进来的时间格式化为字符串
else:
return time.strftime("%Y%m%d%H%M%S", time.localtime(time.time())) def get_case_id():
""" 生成case的id,时间戳+uuid的第5到8位 """
return get_timestamp() + uuid.uuid1().hex[4:8] if __name__ == '__main__': print(get_timestamp())
print(get_case_id())
mongo:


from pymongo import MongoClient class Mongo(object):
""" MongoDB数据库的增删改查 """ def __init__(self, host='127.0.0.1', port=27017):
self.connect = MongoClient(host, port) def __del__(self):
self.connect.close() def insert(self, database, collection, documents):
""" 如果要插入的参数是一个,就执行insert_one()返回单个id,否则就执行insert_many()返回id的list """
_database = self.connect.get_database(database)
_collection = _database.get_collection(collection)
if isinstance(documents, dict):
result = _collection.insert_one(documents)
return str(result.inserted_id)
else:
result = _collection.insert_many(documents)
return [str(id) for id in result.inserted_ids] def search(self, database, collection, filter):
""" 查找 """
projection = None
if "projection" in filter:
projection = filter.pop("projection")
_database = self.connect.get_database(database)
_collection = _database.get_collection(collection)
return _collection.find(filter, projection) def delete(self, database, collection, filter):
""" 删除 """
_database = self.connect.get_database(database)
_collection = _database.get_collection(collection)
_collection.delete_one(filter) def update(self, database, collection, filter, documents):
""" 更新 """
_database = self.connect.get_database(database)
_collection = _database.get_collection(collection)
_collection.update_one(filter, {'$set': documents})
测开之路六十:接口测试平台之common目录的更多相关文章
- 测开之路六十二:接口测试平台之公共的js、html、平台入口
common.js //定义后台的host和端口var host = 'http://192.168.xxx.1:8000'; //'http://127.0.0.1:8000'; //用于发送htt ...
- 测开之路六十六:UI测试平台之处理逻辑和蓝图添加到程序入口
from selenium import webdriverfrom common import get_case_idfrom common.mongo import Mongo class Log ...
- 测开之路六十五:UI测试平台之js
//添加网址的函数,生成一个输入网址的标签,并且把标签append到id为cases下function browser() { var html = '\ <div class="ro ...
- 测开之路六十四:UI测试平台之前端页面
{% extends "base.html" %} {% block script %} <!-- 引入js文件,需要在base.html留入口,不然渲染会出问题. --&g ...
- 测开之路六十一:接口测试平台之interface蓝图
create的js //添加header的函数function add_header() { // 这里是动态拼接html语句,带着样式,拼凑成页面的 "key [] value []&qu ...
- 测开之路七十六:性能测试蓝图之html
<!-- 继承base模板 -->{% extends 'base.html' %} {% block script %} <!-- 从cdn引入ace edter的js --> ...
- 测开之路七十:监控平台之html
监控平台的html <!-- 继承base模板 -->{% extends "base.html" %} <!-- 引入bootstrap-datetimepic ...
- 测开之路八十六:python操作sqlite
创建sqlite数据库,并创建表和数据 python自带sqlite3库可以创建数据库文件 导入库:import sqlite3 创建游标,指定数据库名字:con = sqlite3.connect( ...
- 测开之路七十六:linux变量和环境变量
变量 赋值 variable=0,访问 $var或${var} 参数 $n 用``引住的会先执行(~键) 位置参数 环境变量/etc/profile:全局的环境变量 . bash_profile:用户 ...
随机推荐
- html/css中BFC的开启、关闭、作用
什么是BFC BFC是什么并不重要.重要的是开启它干嘛?以及如何开启它 根据W3C的标准,在页面中元素都一个隐含的属性叫做Block Formatting Context(块级 格式化 环境)简称BF ...
- Maven-maven插件(1)添加主类信息到MANIFEST.MF
1.以前面的HelloWorld项目为例,在pom.xml中添加如下代码,指定插件 <build> <plugins> <plugin> <groupId&g ...
- VS2019配置MKL教程(Windows)
下载链接:https://software.intel.com/en-us/mkl 1.文件下载 官网注册后,选择MKL下载下来,安装到指定目录就行,不在多说. 2.配置文件 首先创建一个Window ...
- spark复习笔记(6):RDD持久化
在spark中最重要的功能之一是跨操作在内存中持久化数据集.当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的 ...
- 通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/binding
场景:内网服务器不能上外网(代理也不通!), 之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块 在导入 from cryptography.hazmat.bindi ...
- 【记录】Git pull(拉取),push(上传)命令整理(详细)
前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git ...
- python基础模块,包
#import cal,time #导入模块名可以看作导入一个变量 #from cal import add # from cal import *#引入所有变量 *代表所有 占内存 不推荐 # # ...
- 去掉Tomcat网站地址栏的小猫图标
当我们打开CSDN等网站时,在地址栏前面就会出现红色的C状图标,如果在桌面新建此链接的快捷方式,则桌面图标也自动变为该地址栏ICO图标.在基于TOMCAT的BS应用或网站开发时,默认的图标为黄色的小猫 ...
- Java IO方式
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11444349.html BIO 传统的java.io包,它基于流模型实现,提供了我们最熟知的一些IO功 ...
- $nextTick
Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextT ...