1. 实例:自己写一个注册接口 输入用户名、密码、验证码,当满足注册将密码进行md5加密。
  1. 场景
  1. 接口返回参数
  1. 提示
  1. 用户名存在
  1. 2000
  1. exit 用户已存在
  1. 密码与验证码不相等
  1. 3000
  1. wrong 密码不一致
  1. 注册成功
  1. 1000
  1.  
  1. insert 插入成功
  1. URL与传入参数
  1. 接口访问地址
  1. http://127.0.0.1:9009/regist
  1. 请求方式
  1. Post
  1. 传入参数
  1. username 用户名
  1. password 密码
  1. cpassword 确认密码
  1.  
  1. Mysql数据库
  1. 信息
  1. Ip
  1. 192.168.*.*
  1. 用户名
  1. root
  1. 密码
  1. 12345
  1. 数据库选用
  1. t2
  1. 表名
  1. test2
  1. 表结构
  1. name char(10),pw char(50)

----------------------------代码---------------------------------------------------------------------------------

  1. #写一个注册接口,输入用户名、密码、验证码:
    # 如果用户存在,返回2000(exit 用户已存在);
    # 如果密码与验证码不一致,返回3000(wrong 密码不一致);
    # 如果注册成功,返回1000(insert 插入成功)
  2.  
  3. #注意:
    #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
  4.  
  5. MYSQL_INFO = {
    'host':'192.168.*.*',
    'user':'root',
    'password':'12345',
    'port':3306,
    'db':'t2',
    'charset':'utf8',
    'autocommit':'True'
    }#数据库配置信息
  6.  
  7. 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')
  8.  
  9. 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
  10.  
  11. def md_5(pd):
    newpd = hashlib.md5(pd.encode())
    # print(newpd.hexdigest())
    return newpd.hexdigest()
  12.  
  13. 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')
  14.  
  15. 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)
  16.  
  17. if __name__ == "__main__":
    server.run(port=9009, debug=True)
  18.  
  19. ---------------------------用postmansoapuijmeter访问------------------------------------------
  20.  
  21. 三种调用接口方式在返回正确代码时,均能将数据插入到数据库中:

1)postman访问

2)soapui访问

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

A:新建rest项目

B:输入url:

c:输入参数

3、jmeter访问结果

  1.  

python-----编写接口,使用postman与soapiu与jemeter访问调用的更多相关文章

  1. python编写接口初识一

    python编写接口这里用到的是他一个比较轻量级的框架 flask #!/usr/bin/python # -*- coding: UTF-8 -*- import flask,json server ...

  2. python编写接口

  3. (转)python编写登录接口

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...

  4. 使用 Python 编写登陆接口

    # 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...

  5. 如何使用 Python 编写后端 API 接口

    如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...

  6. python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...

  7. python+requests接口自动化测试

    转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...

  8. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

  9. python实现接口自动化

    一.总述 Postman:功能强大,界面好看响应格式自主选择,缺点支持的协议单一且不能数据分离,比较麻烦的还有不是所有的公司都能上谷歌SoupUI:支持多协议(http\soup\rest等),能实现 ...

随机推荐

  1. bzoj1030【JSOI2007】文本生成器

    1030: [JSOI2007]文本生成器 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 2891  Solved: 1193 [Submit][St ...

  2. Atitit 关于共享经济之共享男女朋友的创业计划

    Atitit 关于共享经济之共享男女朋友的创业计划 1. 共享经济的历史与趋势 1 1.1. 共享经济三大特征=产能过剩+共享平台+人人参与. 1 1.2. 共享经济是个大趋势,使用权渐渐的取代所有权 ...

  3. QtCreator pro中相对路径和debug文件夹下未放动态库时调试报QtCreator:during startup program exited with code 0xc0000135错误

    QtCreator  pro中相对路径一般是以pro文件(非main函数所在文件)所在的当前目录为起点,用$$PWD表示. 如头文件和库文件 INCLUDEPATH +=$$PWD/inc win32 ...

  4. Mysql获取最大自增ID(auto_increment)的五种方式及其特点

    在关系型数据库的表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都有一个唯一标识. 而实际应用中,获取到最近最大的ID值是必修课之 ...

  5. IE 浏览器不支持 ES6 Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性

    [转]解决老浏览器不支持ES6的方法 现象: Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性或方法   解决方法: 安装babel 引入browser. ...

  6. 使用cnpm 安装vue.js

    前提已经安装了node.js 一.临时使用 1.npm install -g cnpm --registry=https://registry.npm.taobao.org 2.cnpm instal ...

  7. RTX临界段,中断锁与任务锁

    临界段         代码的临界段也称为临界区,一旦这部分代码开始执行,则不允许任何中断打断.为确保临界段代码的执行不被中断,在进入临界段之前须关中断,而临界段代码执行完毕后,要立即开中断.    ...

  8. JS的eval函数解密反混淆

    https://www.hhtjim.com/js-decryption-de-obfuscate-eval-function.html JS的eval函数解密反混淆

  9. Inside The C++ Object Model(五)

    ============================================================================5-0. 一般而言,class 的data me ...

  10. iOS - 如何得到UIImage的大小

    把UIImage 转换为NSData,然后拿到NSData的大小 NSData * imageData = UIImageJPEGRepresentation(image,); length = [i ...