• python批量获取mongodb某集合某字段userId用于性能测试


    背景:

    最近在做某项目的性能测试,需要进行200个登录的并发,这时新建了200个用户,要用到他们的userId这个数据库字段。手动显示是耗时耗力的,这时就需要造轮子。

    由于我们用的是mongodb数据库,这时考虑到通过python查询用户的username获取对应的userId,然后按照顺序追加写入到excel就可以了。

    代码:

    #!/usr/bin/python3
    # 获取mongodb新建的200个用户userId用于性能测试
    
    
    import pymongo
    import xlrd
    from xlutils.copy import copy
    
    
    def getUserId(num):
        myclient = pymongo.MongoClient("mongodb://账号:密码@XX.XX.XX.XX:27017")  # 连接数据库
        mydb = myclient["库名"]  # 指定库名
        mycol = mydb["集合名"]  # 指定集合名
        myquery = {"USERNAME": "performanceTest{0}".format(num)}  # 筛选条件
        mydoc = mycol.find(myquery)
        for x in mydoc:
            # 先手动建一个excel表userId.xls,并将第一个sheet名称改为“userId”
            # 打开需要操作的excel表
            wb = xlrd.open_workbook('userId.xls')
            # 复制原有表
            newb = copy(wb)
            # 获取原有excel表中sheet名为‘userId'的sheet
            sumsheet = newb.get_sheet('userId')
            # k表示该sheet的最后一行
            k = len(sumsheet.rows)
            # 想原有sheet后面新增数据
            sumsheet.write(k, 0, x["USERNAME"])
            sumsheet.write(k, 1, x["_id"])
            # 保存为原有的excel表路径
            newb.save('userId.xls')
    
    
    if __name__ == '__main__':
        for i in range(1, 201):
            getUserId(i)

    结果:

    第一列是username,第二列就是性能测试需要的userId。

  • 相关阅读:
    XML 特殊字符
    asp.net Application、 Session、Cookie、ViewState、Cache、Hidden 的区别
    Oracle 和 SqlServer 的区别
    TFS源代码管理的8大注意事项
    json 排序
    网页中内容的显示问题
    e.target与事件委托简例(转)
    form 中的 table元素过滤定位事件
    (转) Ajax 重定向
    Django ajax post 403 问题
  • 原文地址:https://www.cnblogs.com/wangjunjiehome/p/16291639.html
Copyright © 2020-2023  润新知