zoukankan      html  css  js  c++  java
  • 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访问结果

    
    
  • 相关阅读:
    包的初识与使用
    时间 随机 模块
    规范化开发
    解析Javascript事件冒泡机制
    Java垃圾回收机制
    Java 垃圾收集机制
    javac 编译与 JIT 编译
    JAVA对文件类型的校验
    多态性实现机制——静态分派与动态分派
    类加载机制
  • 原文地址:https://www.cnblogs.com/wenchengqingfeng/p/10119100.html
Copyright © 2011-2022 走看看