python-----编写接口,使用postman与soapiu与jemeter访问调用
实例:自己写一个注册接口 输入用户名、密码、验证码,当满足注册将密码进行md5加密。
场景 |
接口返回参数 |
提示 |
用户名存在 |
2000 |
exit 用户已存在 |
密码与验证码不相等 |
3000 |
wrong 密码不一致 |
注册成功 |
1000 |
insert 插入成功 |
URL与传入参数 |
||
接口访问地址 |
http://127.0.0.1:9009/regist |
|
请求方式 |
Post |
|
传入参数 |
username 用户名 password 密码 cpassword 确认密码 |
|
Mysql数据库 |
信息 |
Ip |
192.168.*.* |
用户名 |
root |
密码 |
12345 |
数据库选用 |
t2 |
表名 |
test2 |
表结构 |
name char(10),pw char(50) |
----------------------------代码---------------------------------------------------------------------------------
#写一个注册接口,输入用户名、密码、验证码:
# 如果用户存在,返回2000(exit 用户已存在);
# 如果密码与验证码不一致,返回3000(wrong 密码不一致);
# 如果注册成功,返回1000(insert 插入成功) #注意:
#1、接口返回json.dumps(res, ensure_ascii=False)
#2、接口中的sql语句传递变量%s 需要“”;
# sql = 'insert into test2(name,pw) values ("%s","%s")' % (username, new_password)
#3、md5加密,参数需要encode,返回值需要hexdigest()
import flask
import requests
import json
import pymysql
import hashlib MYSQL_INFO = {
'host':'192.168.*.*',
'user':'root',
'password':'12345',
'port':3306,
'db':'t2',
'charset':'utf8',
'autocommit':'True'
}#数据库配置信息 def my_db(sql,**kwargs):
host=kwargs.get('host')
user = kwargs.get('user')
password = kwargs.get('password')
port = kwargs.get('port')
db = kwargs.get('db')
charset = kwargs.get('charset')
autocommit = kwargs.get('autocommit') coon = pymysql.connect(host=host, user=user, password=password, port=port, db=db, charset=charset,autocommit=autocommit)
cur = coon.cursor()
cur.execute(sql)
sql_start=sql[:6].lower()
if sql.startswith('select') or sql.startswith('show'):
data=cur.fetchall()
else:
data='OK'
cur.close()
coon.close()
print(data)
return data def md_5(pd):
newpd = hashlib.md5(pd.encode())
# print(newpd.hexdigest())
return newpd.hexdigest() server = flask.Flask(__name__)
@server.route('/regist',methods=['get','post'])
def regist():
username = flask.request.values.get('username')
password = flask.request.values.get('password')
cpassword = flask.request.values.get('cpassword') sql = 'select * from test2 where name="%s"' %username
all_data=my_db(sql,**MYSQL_INFO)
print(all_data)
if all_data:
res = {'code': '2000', 'msg': 'exit 用户已存在'}
else:
new_password=md_5(password)
print(new_password)
if password==cpassword:
sql = 'insert into test2(name,pw) values ("%s","%s")' % (username, new_password)
my_db(sql, **MYSQL_INFO)
res = {'code': '1000', 'msg': 'insert 插入成功'}
else:
res = {'code': '3000', 'msg': 'wrong 密码不一致'}
return json.dumps(res, ensure_ascii=False) if __name__ == "__main__":
server.run(port=9009, debug=True) ---------------------------用postman与soapui与jmeter访问------------------------------------------ 三种调用接口方式在返回正确代码时,均能将数据插入到数据库中:
1)postman访问

2)soapui访问
注意:soapui新建rest项目时,需要输入网址,系统自动分开方填入reques界面第一行。
A:新建rest项目

B:输入url:

c:输入参数

3、jmeter访问结果


python-----编写接口,使用postman与soapiu与jemeter访问调用的更多相关文章
- python编写接口初识一
python编写接口这里用到的是他一个比较轻量级的框架 flask #!/usr/bin/python # -*- coding: UTF-8 -*- import flask,json server ...
- python编写接口
- (转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...
- 使用 Python 编写登陆接口
# 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...
- 如何使用 Python 编写后端 API 接口
如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...
- python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...
- python+requests接口自动化测试
转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...
- python+requests接口自动化测试框架实例详解
python+requests接口自动化测试框架实例详解 转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...
- python实现接口自动化
一.总述 Postman:功能强大,界面好看响应格式自主选择,缺点支持的协议单一且不能数据分离,比较麻烦的还有不是所有的公司都能上谷歌SoupUI:支持多协议(http\soup\rest等),能实现 ...
随机推荐
- golang 小例子
import ( "bytes" "encoding/binary" "encoding/gob" "fmt" ) fu ...
- 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践
[原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践
- jQuery左侧图片右侧文字滑动切换代码
分享一款jQuery左侧图片右侧文字滑动切换代码.这是一款基于jQuery实现的列表图片控制图片滑动切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div cla ...
- Machine Learning第十一周笔记:photo OCR
博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完毕了Cousera上Machine Learning的最后一周课程.这周介绍了 ...
- 如何将本地项目上传至GitHub(so easy!!!)
如何将本地项目上传至GitHub 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直 ...
- KL divergence
Kullback-Leibler divergence 形式: 性质: 非负 P=Q时,D[P||Q]=0 不对称性:D(P||Q)≠D(Q||P) 自信息:符合分布 P 的某一事件 x 出现,传达这 ...
- 使用MegaCli监控Linux硬盘
1.首先查看机器是否使用的是MegaRAID卡 dmesg | grep RAID [ 6.932741] scsi host0: Avago SAS based MegaRAID driver 2. ...
- thinkphp3.2在nginx下的配置
最近一直没用nginx 昨天将tp3.2的项目部署到Ubuntu下的nginx下,发现忘记怎么配置的了 特将配置方式记录下来,以方便日后查找 服务器nignx 配置文件 server { listen ...
- datatable to List<T>带缓存
public class DataHelper { //datarow 转换的类型缓存 private static MemoryCache modelCash = MemoryCache.Defau ...
- vue实现pc端无限加载功能
主要思路通过自定义指令,在视图初始化完成后,绑定scroll事件.当scrollTop + clientHeight >= scrollHeight时(此时滚定条到了底部)触发loadMore事 ...