zoukankan      html  css  js  c++  java
  • Python 刷db数据入ElasticSearch

    欢迎关注【无量测试之道】公众号,回复【领取资源】,
    Python编程学习资源干货、
    Python+Appium框架APP的UI自动化、
    Python+Selenium框架Web的UI自动化、
    Python+Unittest框架API自动化、

    资源和代码 免费送啦~
    文章下方有公众号二维码,可直接微信扫一扫关注即可。

    本文主要是分享如何将db数据刷入到ES中,步骤非常的简单。
    分为两步:
    第一步是连接数据库,获取到要匹配的数据。
    第二步是调用对应的写ES的接口。

    导入第三方库

     1 #导入第三方库
     2 import pymysql
     3 import requests
     4  
     5 #数据配置定义的一个字典
     6 ars3_dicts={
     7     "HOST" : 'l-test.beta',
     8     "PORT" : 3306,
     9     "USER": 'test',
    10     "PASSWORD" : 'test123',
    11     "NAME":"entity_0"
    12 }

    执行sql方法

     1 #执行sql方法
     2 def executesql(query):
     3     try:
     4         conn = pymysql.connect(ars3_dicts['HOST'], ars3_dicts['USER'], ars3_dicts['PASSWORD'], ars3_dicts['NAME'], int(ars3_dicts['PORT']),charset='utf8')
     5         cursor = conn.cursor()
     6         cursor.execute(query)
     7         result =cursor.fetchall()
     8         print(result)
     9         print("execute successfully!!!")
    10         return list(result)
    11     except Exception as e:
    12         print(e)
    13         print("execute failed")
    14     finally:
    15         cursor.close()
    16         conn.close()

    执行写ES的方法

     1 #执行写ES的方法
     2 def insertES():
     3  sql="SELECT entity_id FROM entity_1.`entity_main_0`;" #从数据库中提供要的数据
     4  alist=executesql(sql)
     5  for i in range(len(alist)):
     6      id=alist[i][0]
     7      if(str(id).startswith("3")):
     8          url="http://10.7.36.35:9092/api/profile/backdoor/refreshEsData?arsProfileIds="+str(id) #此处是由开发提供的接口
     9          print(url)
    10          response=requests.get(url)
    11          print(response.text)

    入口方法

    1 #入口方法
    2 if __name__ == '__main__':
    3     inseertES()

    请求后打印的信息如下图所示:

    总结:当测试环境的db被另一个环境的db覆盖时,所对应的ES 里面的数据也是要同步进行覆盖的,本文是通过查询db中的数据,然后调用开发开放的接口进行的初始化,这样就可以保障页面检索的数据与db 是一致的。

    备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

     添加关注,让我们一起共同成长!

  • 相关阅读:
    ORM补充文件
    auth.User.groups: (fields.E304) Reverse accessor for 'User.groups'
    JS BOM和DOM
    ctrl+shift+上箭头 改变代码位置
    盒子半透明
    多背景颜色写图片后面
    心跳
    动画
    仿站小工具哈哈哈
    旋转案例
  • 原文地址:https://www.cnblogs.com/Wu13241454771/p/13576227.html
Copyright © 2011-2022 走看看