Python 刷db数据入ElasticSearch

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

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

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

导入第三方库


#导入第三方库
import pymysql
import requests

#数据配置定义的一个字典
ars3_dicts={
    "HOST" : 'l-test.beta',
    "PORT" : 3306,
    "USER": 'test',
    "PASSWORD" : 'test123',
    "NAME":"entity_0"
}

执行sql方法

#执行sql方法
def executesql(query):
    try:
        conn = pymysql.connect(ars3_dicts['HOST'], ars3_dicts['USER'], ars3_dicts['PASSWORD'], ars3_dicts['NAME'], int(ars3_dicts['PORT']),charset='utf8')
        cursor = conn.cursor()
        cursor.execute(query)
        result =cursor.fetchall()
        print(result)
        print("execute successfully!!!")
        return list(result)
    except Exception as e:
        print(e)
        print("execute failed")
    finally:
        cursor.close()
        conn.close()

执行写ES的方法

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

入口方法


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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wu_Candy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值