一 简介:今天咱们来聊聊inception的测试脚本

二 范例:

#!/usr/bin/python

import MySQLdb

sql='/*--user=;--password=;--host=;--execute=1;--port=3306;*/\
  inception_magic_start;\
  use test;\
  select count(*) from mongodb_log where id > 1000 ;\
  inception_magic_commit;'
  try: 
    conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='',port=6669,charset='utf8')
    cur=conn.cursor()
    ret=cur.execute(sql)
    result=cur.fetchall()
    num_fields = len(cur.description)
    field_names = [i[0] for i in cur.description]
    print field_names
    for row in result:
    print row[0], "¦",row[1],"¦",row[2],"¦",row[3],"¦",row[4],"¦",
    row[5],"¦",row[6],"¦",row[7],"¦",row[8],"¦",row[9],"¦",row[10]
   cur.close()
   conn.close()
   except MySQLdb.Error,e: 
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

三 解析:

第一部分:sql

1 sql=/*user= password= host= inception参数*/ (user等信息是目标数据库的用户名密码等,inception参数可参考官方手册,此处为是否审核(--check=1)和执行(--execute=1))

2 inception_magic_start;

3 use db

4 sqltext(dml操作)

5 inception_magic_commit;

第二部分: execute sql

1 连接本地inception服务(默认为root 无密码)

2 执行sql

3 打印审核和执行信息

四 扩展:

将inception界面化的思路:

1 提供相关参数,第一部分(host,user,password,sqltext,inception参数),进行api传参

2 调用js 返回审核和执行信息,实现结果可视化

五 改装函数一例(只需要改装第一部分)

def table_structure(user,password,sqltext, host, chk)

sqlstart='/*--user=;--password=;--port=3306;'

sqlhost=host

sql2check=chk+';*/'
  sqlcenter='inception_magic_start;'
  sqlend='inception_magic_commit;'
  sql = sqlstart +"host="+sqlhost + sql2check + sqlcenter + sqltext + sqlend

print sql

def main():

sqltext = sys.argv[1]

user= sys.argv[2]

password = sys.argv[3]

  chk = sys.argv[4]//(1仅审核 2审核并执行)

host=sys.arge[6]
  table_structure(user,password,sqltext, host, chk)

六 关于inception web界面化有很多开源项目,但是如何将它融入你的平台,就看你开发的功底了

---恢复内容结束---

最新文章

  1. Moon.Orm 入门总指南
  2. IE10 IE11 中 网站无法登录问题cookie
  3. html JS 打开本地程序及文件
  4. SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
  5. [前端_EasyUI]给easyui的datebox设置默认值,获取不到 的解决方法
  6. 半径无关单核单线程最快速高斯模糊实现(附完整C代码)
  7. Qt之窗体拖拽、自适应分辨率、自适应大小 good
  8. c# 获取路径的几种方法
  9. C#画线源码
  10. c编程:用户输入一个数值n,打印出出1到n之间的所有质数
  11. C语言-06数据类型-05 总结
  12. Java的反射机制及应用实例
  13. java中的object类
  14. Android多画面幻灯片:ViewPager基础上,利用与PagerTabStrip出生缺陷(源代码)
  15. Head First设计模式之观察者模式
  16. Kubernetes之RBAC
  17. Codeforces Round #468 Div. 1
  18. ASCII、Unicode和UTF-8编码的区别;中英文混合截取
  19. [leetcode.com]算法题目 - Plus One
  20. 明星伙伴第一至八季/全集Entourage迅雷下载

热门文章

  1. Luogu3297 SDOI2013逃考(半平面交+最短路)
  2. jQuery筛选总结
  3. python 随机数模块 -- random
  4. Dumb Bones UVA - 10529(概率dp)
  5. 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表
  6. 【BZOJ2424】[HAOI2010]订货(费用流)
  7. linux 分区、目录及用途
  8. 去除外显子低质量reads时弹出错误“Invalid quality score value (char '#' ord 35 quality value -29) on line 4”和“Invalid quality score value (char '.' ord 46 quality value -18) on line 12”的解决方法
  9. springMVC 接收json字符串参数
  10. mysql 日志清理